This page is history, not the live engine. The live platforms are AgiRook, ContextForge, and optional PocketBridge. The mothballed generations are compared on the architecture page.
The problem
One person working across a pile of AI tools ends up with coordination scattered through chat histories that die at the end of each session. There is no shared state, no queue, no audit trail, and every new session starts from nothing. I decided to treat it as an operating-system problem instead: give it processes, a scheduler, a filesystem, capability boundaries, and a way to recover native agent sessions after an orchestrator stops.
The shape
The last generation separated judgment from authority. Sol runs through the Codex harness; Fable runs through Claude Code. Either can coordinate, implement, or review when the route permits, but neither model owns lifecycle truth. OVCoord binds each native thread or session to a scoped RunEnvelope, an ordered event ledger, per-session usage, a filtered MCP view, and content-hashed artifact references. Markdown remains the human-readable intent and task surface; deterministic PowerShell machinery remains the scheduler and state authority.
Manager routes handle architecture, synthesis, and adjudication. Worker routes handle bounded implementation and swarm batches. High-risk implementation is reviewed through the other harness, so the reviewer does not inherit the implementer's session or assumptions.
That generation sat on top of an earlier one that coordinated work through markdown task files alone. Both are history. They are compared side by side, diagrams included, at the architecture page.
Design decisions I would defend
Native harnesses instead of a lowest-common-denominator proxy. Codex keeps its App Server threads, turns, steering, goals, and approvals. Claude Code keeps its streaming sessions, tools, and resume behavior. OVCoord adapts both into one protocol-neutral run contract without pretending their lifecycle semantics are identical.
Files for intent, a ledger for runtime truth. Tasks and decisions stay in plain Markdown because they should be readable, greppable, and versionable. Claims, native session IDs, budgets, approval decisions, usage, and ordered events live in a runtime ledger because concurrent lifecycle state needs stronger invariants than prose.
Capabilities are issued per run. MCP is the shared tool and resource plane, not the scheduler. Each run receives only its declared tools and one scoped ovcoord://run/... resource. Approval requests and decisions land in the same audit trail, and destructive patterns are denied even when a low-risk run otherwise allows automatic work.
Subscription-aware accounting. Codex and Claude currently run through subscriptions, so token and reported-dollar values are session telemetry by default rather than fake invoice caps. Wall time, top-level turns, and Claude agentic turns remain hard boundaries. Token or cost limits become hard only when a run opts in.
No model in the monitoring loop. Heartbeats, polling, file watching, stale-claim recovery, and state transitions are daemon work. Models are reserved for planning, implementation, review, and decisions where judgment is actually required.
Proof, not just a diagram
The native dual-agent pilot used Sol to plan, steered the live Codex turn, sent bounded implementation to a native Fable session, resumed Sol for independent review, denied a destructive approval request, and recorded separate usage for both subscriptions. The pilot passed, and the full OVCoord suite passed 245 of 245 tests.
Failed pilot attempts were retained as evidence and drove changes to steering IDs, budget semantics, Claude turn accounting, settings isolation, and Windows sandbox handling.
Continuity across context death
The adapter process is disposable. OVCoord stores the native Codex thread ID or Claude session ID beside the goal, scope, policy, usage, and artifacts. A replacement process can resume the native session while the audit ledger survives independently. For longer arcs, structured handoffs and session-start briefings still surface pending work from the Obsidian coordination vault.
Scale
As of July 2026 the underlying task bus has carried more than 440 tasks across 83 batches, over 340 of them completed, backed by more than 150 purpose-built automation scripts. The vNext runtime adds native-session orchestration without discarding that proven file-based coordination layer. The runtime itself is held to 309 automated checks across two PowerShell runtimes, and the shared memory plane both harnesses read carries 159 canonical entries.
What it taught me
The upgrade was not "add more agents." It was to make authority explicit. Models should own judgment; deterministic machinery should own state, permissions, accounting, and evidence. Once identity, role, harness, and model are separate routing dimensions, the system can adopt better manager and worker models without rebuilding the operating contract around each release.