Agent Orchestrator · Rebuild Report · 2026-06-10

Nyx Overhaul.

Three phases rebuilt by hand, verified, and committed. The foundation the autonomous run could not build, done right.

Outcome

What shipped, and how it was checked

All on branch overhaul/p5-p6-rebuild, off the clean Phase 4 commit. main was never touched.

PhaseStateVerification
P5 · Verify gate
92f3768
wired + livetypecheck clean, 11 new unit tests, full suite green
P6 · Moderator layer
74a28d4
module verified, unwired15 tests (pure drift heuristics + class on a real db)
P10 · Keychain fix
14eab0c
wired + live3 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 headline finding

The code was good. The process was bad.

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.

Wired vs not

Exactly what is live

Held on purpose

Assessed, then deferred

Disable the old Playwright MCP. Not a clean removal: it is still wired into the planner prompt, the nyx-mcp tools, and the verifier runner. Swapping every worker path to the new eyes MCP is a behavior-changing, multi-file integration that needs runtime review, not a safe unattended edit.
The one failing test. Deterministic and pre-existing (fails identically on the Phase 4 base). Likely a verify phase added after the test was written. A red suite can make Nyx's own plan verification fail even on good code, so it is worth a dedicated fix.
Where it lives

Branch topology

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.

Next

Recommended moves

  1. Review the three code commits. P5 and P10 are low-risk wins usable immediately.
  2. Wire P6 into the orchestrator in a supervised session (the supervise and escalate loop needs runtime review).
  3. Finish P7 using the committed context-contract module.
  4. Integrate the branch onto the wave-2 line so it supersedes the contaminated commit.