Agent Harness roadmap
Dependency checkpoint — 2026-10-29
The maintenance baseline is main@471ff6c.
ACTIVE lists reviewed source candidates and human gates;
SYSTEM_STATE records accepted source, evidence and limits. PR pages own
current head/check/merge status. This roadmap grants no deployment or runtime authority.
The mission and epic outcomes remain in AGENT_HARNESS_AGENT_BRIEF. The old epic census and PR chronology are archived; their issue counts and open/closed labels are historical, not a current backlog inventory.
Remaining dependencies
| Work | Remaining acceptance and owner boundary |
|---|---|
| Trusted learning evidence — #520, #517 | Immutable cohort assignment, executed-genome receipts, store import times, beacon selection and destination install verification need a trusted backend. #579 makes comparisons observational while that evidence is absent. |
| Outcome ingestion — #511 | Trusted append-only ingestion/offsets, omitted-tail detection and stable event-ID/cursor migration remain. #579 addresses regression weighting and triage deduplication; it does not complete the stream’s provenance boundary. |
| Frozen dispatcher follow-ups — #107, #225 | Remote diagnostics still cross-contaminate. Publication parity still differs for explicit null, SSH ports and duplicate identical push rows. Any change needs its own bounded freeze-compliant scope and proof. |
| Numeric parity — #201, #243 | #239 shipped the portable numeric core. The documented toolchain-dependent cases remain fail-closed; full numeric parity is not complete. |
| Consumer smoke — #185 | #217 shipped flushed producer progress. A real consumer launcher/manifest must define bounded conformance, interruption and cleanup. PID/start-time checks or taskkill alone do not prove descendant ownership. |
| Consumer retirement and launchers — #188, #190 | Retirement planning awaits a second concrete consumer and owner-reviewed manifest. Interpreter selection awaits an exact generated launcher call site. No generic engine or inferred ownership is authorized. |
| Guarded worktree creation — #191 | Taskdeck #1551 has merged; separate its portable create/initialize contract and fixtures from consumer-specific behavior. Preserve dirty/ignored state and explicit process-ownership limits. |
Taskdeck #1551 merged on 2026-08-12 as
d603079241d422bde5430f1463cb665720538786. This satisfies #191’s merge prerequisite;
it does not supply the portable producer operation. Its issue now records that distinction.
The earlier #556/#558/#563 follow-ups are closed by merged #566 and #565. Keep their completed source work out of the active queue; concurrent-writer exclusion and ledger input-size limits were not claimed.
Source acceptance receipts
Native sync qualification is implemented in #587: seven required native tests passed, covering alias refusal and a disjoint success control. #580 owns absent-name lookup and recovery maps. #584 owns the Doctor shell anchors, wrapper quoting and single reference probe. Their current full CI and merge receipts own acceptance for #523, #278 and #78; these are no longer unimplemented source dependencies. Observed identities still do not exclude concurrent writers, and static Doctor does not prove trust.
Outcome ordering
- Integrate reviewed source changes only after their exact-head native checks and merge gate are satisfied. ACTIVE links the bounded maintenance PRs and their proof.
- Build trust or portability interfaces from concrete evidence and consumers. Keep diagnosis, source acceptance and runtime activation independently evidenced.
- Preserve the dispatcher freeze in BLUEPRINT; use measured failures and the ratified exceptions to scope any repair.
- Complete the human-owned billing, publication and per-root runtime conditions in HUMAN_TODO: H-18, H-19 and H-22. Historical source or canary results do not close a new root’s adapter, trust or live proof.
- Keep replay extraction within its approved public/Apache-2.0 scope and path-pinned manifest. The blueprint plugin remains deferred.