Patch — the defrag detector flags flow, not stock (the footnote polish).
Two dream-session footnotes root-caused (docs/defrag-flow-and-emoji-index.spec.md
— advisor + adversarial review-to-zero, amend-1/2):
- P1 — the defrag re-nag:
defrag_candidatesflagged every fact with a body2.5× the store median — a structural property of any roadmap, so a KEEP'd doc
re-nagged every dream. The--justify-defragwatermark (defrag_justifyin the
state file, REFRESH semantics — never the demotion skip-if-present no-op, which
would re-anchor the very re-nag) quiets a justified stem until it genuinely
grows (+40 tokens AND +25%, malformed entries fail open); the Phase-0 report
shows the watermark line independent of the candidate count;--forceis the
post-curation re-anchor repair. The justify collectors stop at an existing
directory — the demotion sibling's trailing-project-dir swallow, same class. - P2 — the emoji flag names its beat:
⚠ emoji in beat(s): 3(1-based, the
archive's Passage numbering). - P3 — the debrief discipline: claims about the rendered archive are verified
against the rendered file (the log line is attempt-scoped).
Smoke 1762/0 (+13 pins — 8 discriminating vs the merge-base, 5 semantic regression guards), mypy clean, sim, manifests, browser 1108.