Three phases rebuilt by hand, verified, and committed. The foundation the autonomous run could not build, done right.
All on branch overhaul/p5-p6-rebuild, off the clean Phase 4 commit. main was never touched.
| Phase | State | Verification |
|---|---|---|
| P5 · Verify gate 92f3768 | wired + live | typecheck clean, 11 new unit tests, full suite green |
| P6 · Moderator layer 74a28d4 | module verified, unwired | 15 tests (pure drift heuristics + class on a real db) |
| P10 · Keychain fix 14eab0c | wired + live | 3 cargo tests (round-trip, idempotent delete, 0600 perms) |
Plus the Phase 7 context-contract.ts seed. Six commits, +1536 / -63 across 9 files. Full suite: 1522 pass, 1 pre-existing failure (not introduced here).
The phases did not fail because the autonomous run wrote bad code. They failed on process: sprawling 40-file commits, contamination across concerns, and one real bug.
P6's moderator imported a sessionIdleMs function that was never actually created, so it never compiled. That was the real failure. Implemented it, and the whole module plus its 290-line test pass. P5's gate was sound too; it just needed proper wiring that had been buried in a contaminated commit.
The overhaul lives on the nyx-feat/desktop-app-wave-2 line, not on main (which is a separate, older line, untouched). The verified rebuild is pushed to GitHub as overhaul/p5-p6-rebuild. The contaminated attempt stays parked on the wave-2 line with the real Phase 7 commit under it, so nothing was lost.