The Autonomous Runtime Framework runs more than one agent at a time. It decomposes tasks into parallelizable subtasks, dispatches each to the right engine, governs every branch independently, and merges verified results into a single coherent output.
The User Interfacing Agent (UIA) is the entry point for orchestrated work. You describe a task to the UIA. It produces a work plan and coordinates the other agents that do the work.
The UIA is not a special agent type. It's a role. Any ARF-compatible runner can be the UIA. What makes it the UIA is that ARF routes your initial prompt to it and gives it the orchestration API: spawn sub-agents, post tasks to the board, collect results, present consolidated output.
The UIA operates through ARF's proxy. Every UIA decision (what subtasks to create, which engine to dispatch to, how to merge results) is recorded in the proof chain. You can audit the orchestration itself, not only the output.
UIA IRON-WOLF-1 ● anthropic/claude User: Refactor the auth module, add tests, update the API docs, and review for security issues. UIA→ Decomposing into 4 subtasks: [A] Refactor auth module → COPPER-ANVIL-2 [B] Write test suite → SILVER-HAWK-3 [C] Update API documentation → JADE-WOLF-4 [D] Security review → IRON-GATE-5 BOARD tasks queued: 4 · running: 0 · done: 0 Awaiting approval to dispatch… ▶ Approve dispatch? [y/n/edit]
ARF's Autonomous Runtime Framework dispatches tasks to engines based on task type, cost, and capability. Creative reasoning goes to high-capability models. Mechanical transforms (format conversion, test generation from spec) go to faster, cheaper local models.
Fan-out dispatch is configured in TOML. You define routing rules by task tags, token budget, latency requirements, and model capability tier. ARF handles the rest: translating prompts to the target engine's format, managing concurrent connections, collecting results.
Governance applies to every dispatched task on its own. Each sub-agent has its own health grade, its own circuit breaker, its own entry in the Merkle DAG. A failing sub-agent does not take down the whole work graph. ARF can retry, reroute, or surface the failure to the UIA for re-planning.
ARF's coordination mechanism is called the Board: an append-only JSONL file that serves as the single source of truth for what work is planned, in progress, completed, or failed.
Every task the UIA creates is appended to the Board as a JSONL record. Every status transition (queued, dispatched, running, done) is a new append. Nothing is ever deleted or updated in place. The Board is a complete, auditable history of the work graph.
Multiple agents can read the Board at the same time. Agents check the Board for available work, claim tasks by appending a claim record, and append completion records when done. The UIA watches the Board to detect when all branches of a work graph are complete, then starts the merge phase.
{"t":"task.create","id":"T001","type":"refactor","status":"queued"} {"t":"task.create","id":"T002","type":"test","deps":["T001"],"status":"queued"} {"t":"task.create","id":"T003","type":"security","status":"queued"} {"t":"task.claim","id":"T001","agent":"COPPER-ANVIL-2","at":"01HX…"} {"t":"task.claim","id":"T003","agent":"IRON-GATE-5","at":"01HX…"} {"t":"task.done","id":"T003","agent":"IRON-GATE-5","grade":"A","hash":"d4e8…"} {"t":"task.done","id":"T001","agent":"COPPER-ANVIL-2","grade":"B","hash":"9b1…"} {"t":"task.claim","id":"T002","agent":"SILVER-HAWK-3","at":"01HX…"} {"t":"task.running","id":"T002","progress":0.34} …
Launch individual runners directly. Each gets its own session ID, health grade, and circuit breaker.
Or use the launch modal to orchestrate from the TUI. Fan out to up to 12 parallel agents with isolated git worktrees.
Each parallel agent has its own health grade, circuit breaker, token budget, and provenance chain segment. A failing agent does not take down the work graph. ARF can retry, reroute, or surface the failure to the UIA for re-planning. The governance profile from the parent session is inherited unless explicitly overridden — privilege never escalates downstream.
When the UIA spawns sub-agents, their Merkle DAG segments are linked to the parent session's DAG by cross-references in the provenance records. A merge event becomes a DAG node with multiple parent hashes — one per branch being merged.
The compliance export for a multi-agent session includes the full DAG: every branch chain, every cross-reference, and the convergence proof. One bundle, one hash, proving all work done by all agents in the orchestrated session.