Eureka is extracted from the Aetheria CultCache migration and is the Claude Code counterpart of Epiphany. It covers the faculty loop, brief templates, the cut map shape, the postmortem template, the worked example, a dated comparison with Epiphany, and a changelog tying each rule to its evidence. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2.7 KiB
2.7 KiB
Cut map shape
A migration keeps two documents in the repo it changes.
- Target (
docs/<migration>-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/<migration>-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 <target>; this document owns the means.
<for each landed cut>
Cut N landed at <repo> <sha range>. Verified: <builds/tests/captures>. Soul
found <defects>, all fixed | recorded. Recorded, not fixed: <items, why>.
Rulings (operator, <date>):
- **QN-M <choice>:** <ruling>. <quote if the wording carries meaning>.
(Supersedes <earlier ruling>; the old text below is history.)
Open: <operator checks, pending Soul passes, questions>.
Follow-ups outside this migration: <item, file, reason it can wait>.
Per-cut section
### Cut N. <name>
- **Repo/branch:** <repo> <branch> from <base>. Depends on <cuts, releases>.
- **First:** <captures or pins taken before any edit>.
- **Deletes first:** <path (lines)>, ...
- **Keeps and moves:** ...
- **Adds:** ...
- **Per-file changes:** <file:line against HEAD sha>: <change>.
- **Authority map:**
- Owner:
- Inputs:
- Outputs:
- Derived state:
- Forbidden writers:
- Shared paths:
- Deletion line:
- **Verification:**
- builds: <exact projects>
- tests: <name> pins <rule>
- negative: <rg pattern, verified to not collide with legitimate names>
- operator: <play smoke steps; Studio click-through>
- **Operator questions:** QN-1 <question>. 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\bmatched the legitimate schema nameaetheria.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.