# Mapping Anchors ## Mandatory Reference Rule - No downstream mapping spec may claim a keep, adapt, remove, or replace decision without citing at least one `entry_id` from the active baselined catalog. - The active catalog for Spec 226 is `astrodeck-226-baseline` until a later refresh supersedes it. - If a downstream spec references a section or component, it should also cite the owning page or surface context when that context changes the decision. ## Recommended Reference Block Use a concrete inventory block in downstream mapping specs such as `specs/214-website-visual-foundation/`, `specs/215-website-core-pages/`, or `specs/217-homepage-structure/`: ```md ### Inventory References - catalog_id: astrodeck-226-baseline - selected_entries: - page.product - section.feature-grid - component.feature-item - suitability_basis: - page.product: A / high - section.feature-grid: A / high - component.feature-item: A / high - decision: adapt - rationale: Keep the product-explainer structure but adjust copy hierarchy and visual density for the approved rebuild route. ``` ## Exception Path For Non-Candidate Decisions - If a downstream surface has no direct candidate, write `no direct candidate` explicitly in the mapping spec and cite the closest rejected `entry_id` values plus the reason they were rejected. - If an inventory entry is intentionally excluded, cite the `entry_id`, current `suitability_class`, and the concrete reason for exclusion instead of silently omitting it. - If a downstream spec decides a current `A` or `B` entry should still be removed, that spec must document the higher-priority constraint that overrides the inventory suitability. ## Refresh Rule Before The Next Mapping Cycle - Refresh the inventory whenever the source primitive set changes under `apps/website/src/pages`, `apps/website/src/components`, or `apps/website/src/layouts`. - Re-run the T002 discovery command from repo root and compare the resulting file list with `inventory/catalog.md`. - If the primitive set changes, update the row-level inventory files, reconcile `summary.md`, and set `catalog.md` back to `draft` until review completes again.