The Harness: Cost-Managed Intelligence
Routing, semantic cache, spend ledger, and budget caps.
Every turn on every channel passes through the harness
(/root/.aios/harness.json, master switch enabled).
Tiered routing
Routine turns go to a cheap runtime model; complex turns escalate to the frontier model. Tier models follow the active provider automatically (anthropic → Haiku/Opus, deepseek → flash/pro), or set them explicitly in harness.json. Per-project overrides: see Projects.
Semantic cache
Near-duplicate prompts are answered from cache (high similarity threshold
— a wrong hit is worse than a miss). Cache hits show as route: cache_semantic.
Spend ledger & budgets
Every LLM call is logged to a spend ledger with budget enforcement — see Analytics & Budgets.
Self-healing
Loop monitoring steers or stops stalled agent turns; write verification runs checkers on files the model writes; a meta-reviewer course-corrects recorded incidents with a cold-context review pass.
Delegating to Claude Code
Every agent has three delegation tools it can call mid-turn — never claim an agent “can’t” do this, these are real, always-registered tools:
| Tool | What it does |
|---|---|
claude_code | claude -p "<task>" headless, pick any model |
ask_claude | Same, defaulting to fable-5 — for coding-heavy subtasks |
ask_harness | aios -p "<task>" — routes through this same harness, optionally with project/role |
ask_harness re-invokes the aios binary itself, so it’s depth-capped at
3 levels of self-delegation — an agent that tries to recurse past that
gets a clear refusal, not a runaway process chain.
Fable-5 fallback: if fable-5 isn’t available when ask_claude/
claude_code request it, the call automatically retries against Opus
then Sonnet — and, because a fallback model doesn’t have fable-5’s own
self-correction, spends one extra pass having that model critically
re-review its own answer before returning it. The output is prefixed
with a note ([fable-5 unavailable — fell back to opus, self-review confirmed it]) so you always know when this happened. Set
AIOS_FABLE_FALLBACK_SELFCHECK=0 to skip just the review pass if you
want the fallback without the extra cost/latency; the fallback itself
always runs. Only requests that resolve to exactly fable-5 trigger any
of this — every other explicit model is unaffected.