# Cut map shape A migration keeps two documents in the repo it changes. - **Target** (`docs/-target.md`): the ends. It holds the invariants, the canonical implementations, what is not a consumer, and the durable design truths the migration produces. When the migration closes, the target is reconciled with the Body and outlives the map. - **Cut map** (`docs/-cut.md`): the means. It is a status header followed by one section per cut. It is history once the migration closes. ## Status header The header owns progress. Self updates it in every landing commit. ``` Status: cut map. Ends are owned by ; this document owns the means. Cut N landed at . Verified: . Soul found , all fixed | recorded. Recorded, not fixed: . Rulings (operator, ): - **QN-M :** . . (Supersedes ; the old text below is history.) Open: . Follow-ups outside this migration: . ``` ## Per-cut section ``` ### Cut N. - **Repo/branch:** from . Depends on . - **First:** . - **Deletes first:** , ... - **Keeps and moves:** ... - **Adds:** ... - **Per-file changes:** : . - **Authority map:** - Owner: - Inputs: - Outputs: - Derived state: - Forbidden writers: - Shared paths: - Deletion line: - **Verification:** - builds: - tests: pins - negative: - operator: - **Operator questions:** QN-1 . A: ... B: ... **Recommended: A**, because ... ``` ## Subtraction ledger One row per cut: the lines removed, the lines added, and the dependencies, formats and targets removed or added. Compare the estimate with what landed in the postmortem. ## Notes from use - **Test negative greps before publishing them.** `\.loadout\b` matched the legitimate schema name `aetheria.loadout`. - **State the capture method with the capture.** PowerShell `>` writes a BOM and CRLF, and the comparison must use the same method on both sides. - **Prefer normalizers that parse the format.** Ones that split on text leave false diffs, as the census normalizer did when it split on `, ` and glued the first maker to its kind column. - **When a later ruling changes a design, sweep the whole map.** Rewrite the header and routing tables, and mark the older spec text as history, so no one reads two live designs.