Two things kept collapsing.
1. Completed work goes missing from the report (3 times)
→ Force the first block of every report to be a track status table (hash / in progress / not started). No smearing things into "awaiting collection."
2. The PR sits in draft awaiting approval and everything deadlocks (3 times)
→ When the self-gate passes (CI checks + contract tests + capture), merge autonomously and immediately.
3. No "done" without verification
When you write "done," write what verified it. Unverified is written as "executed," nothing more.