Parent roadmap: SSFSKIM/arkho docs/specs/2026-08-04-arkho-platform-roadmap.md — child A2 (lives in THIS repo: the diff touches the plugin).
Purpose
The substrate swap the E-cycle state machine was written to be neutral over: the issue-tracker toolkit + worker dispatch scripts speak the Arkho board API instead of the gh CLI. Board binding is per-repo configuration; gh mode remains a supported first-class substrate (X5 — consumer repos like ida-solution never require a Postgres service).
Acceptance
A worker runs the full protocol — register → claim → gate verdict → transitions → park/answer relay → epic recomposition → terminal — against a live Arkho A1 instance, transcripts indistinguishable from GH-board runs modulo transport. Wake delivery owned end-to-end for plugin workers (X6): level-triggered poll of unrelayed answers, idempotent resume, ack marker keyed to the answer event id; the crash-at-boundary drill passes (answered-but-unrelayed states re-polled, never lost, never double-resumed). Dispatch automation renews run leases for sessions with no sessionStore feed.
Edges / Contracts / Track
Blocked-by Arkho A1.G2 (cross-repo — no native edge; this ticket is born deferred and revives when A1.G2 lands). Completion additionally exercises A1.G3 (the epic-recomposition drill needs the reconciler). Blocks Arkho A5 and A3.G3 completion. Contracts: X1 consumer, X5 owner, X6 local-worker-mechanics owner. Track: controlled.
Parent roadmap: SSFSKIM/arkho
docs/specs/2026-08-04-arkho-platform-roadmap.md— child A2 (lives in THIS repo: the diff touches the plugin).Purpose
The substrate swap the E-cycle state machine was written to be neutral over: the issue-tracker toolkit + worker dispatch scripts speak the Arkho board API instead of the gh CLI. Board binding is per-repo configuration; gh mode remains a supported first-class substrate (X5 — consumer repos like ida-solution never require a Postgres service).
Acceptance
A worker runs the full protocol — register → claim → gate verdict → transitions → park/answer relay → epic recomposition → terminal — against a live Arkho A1 instance, transcripts indistinguishable from GH-board runs modulo transport. Wake delivery owned end-to-end for plugin workers (X6): level-triggered poll of unrelayed answers, idempotent resume, ack marker keyed to the answer event id; the crash-at-boundary drill passes (answered-but-unrelayed states re-polled, never lost, never double-resumed). Dispatch automation renews run leases for sessions with no sessionStore feed.
Edges / Contracts / Track
Blocked-by Arkho A1.G2 (cross-repo — no native edge; this ticket is born
deferredand revives when A1.G2 lands). Completion additionally exercises A1.G3 (the epic-recomposition drill needs the reconciler). Blocks Arkho A5 and A3.G3 completion. Contracts: X1 consumer, X5 owner, X6 local-worker-mechanics owner. Track: controlled.