--- name: shape-accounting description: Use when a project's shape accounting needs attention — the pattern_coverage line from enter_project shows unclassified shapes or is missing on a forge-served project, the operator asks about coverage/accounting/canon, or you just proved a code-to-canon relationship (an audit enumerated call sites, a consolidation repointed consumers, a verify pass confirmed a helper's users). Triggers on "coverage", "accounted", "unclassified", "classify shapes", "what uses this", or finishing any consolidation. --- # Shape accounting — every shape classified against canon The snippet library records **canon** (small); the shape ledger accounts for **every extracted definition** in a project's bound repos (total). Each ledger row carries a status: - `canonical` — IS a snippet's reference (the coverage sync stamps these mechanically; you rarely set it). - `instance` of snippet N — conforms to recorded canon. Canon in another project counts (a family-level button shape fully accounts for a local use). - `variant` of snippet N — a deliberate, named departure. **Reason required** — the why IS the record. - `exempt` — judged genuinely one-off. **Reason required.** A recorded judgment, not silence — it stops the next pass re-litigating it. - `scoped` — one-off **by construction**, stamped by the coverage sync (a Vue component's scoped `