Purpose
Deterministic completeness per channel (#3.1): the gap report names the missing fields per SKU.
When to use
After attribute-normalize in every batch.
Inputs
normalized.json + config/taxonomy-map.json (required_by_channel).
Steps
- Run scripts/completeness_score.py --normalized normalized.json --taxonomy taxonomy-map.json --out scored.json
- Quote percentages and missing-field lists verbatim - a SKU at 80% with the missing field named beats a soothing average.
Output
scored.json - the {completeness} hop.
Grounding requirements
Requirements cite the channel config.
Constraints
- Required-fields-only arithmetic; the model never pads completeness with optional fields.
Escalation / uncertainty
Batch average below the customer's floor -> steward escalation before drafting.