You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A request goes up to a frontier orchestrator, which breaks it into sub-tasks and dispatches each to the most appropriate backend — cheap grunt to a local model, long-context work to a long-context backend, code to a code backend, hard reasoning kept on the frontier — possibly in parallel, then reorganizes the results and returns one answer. You define the parameters and make up the rules via roster config (which backends exist, what they're good at, their relative cost); the model decides the breakdown within the menu you defined.
What's built today (the spine)
Frontier-first orchestration — tanglebrain "…" routes the whole task to a can_orchestrate backend; task-fit (good_at) + rotation pick which.
Emergent decompose → delegate → review — the router injects the delegate_local tool; the orchestrator's own reasoning decides what to offload, then reviews.
Offload to free local — delegate_local runs sub-tasks on the local model at $0.
Good spine. Missing: the multi-target, parallel, capability-routed-per-sub-task pieces. Today every delegated piece goes to the same place (local), sequentially.
Capability-routed delegation — pick the target per sub-task by good_at / cost (sub-task-level task-fit, mirroring the request-level router). The frontier model decomposes and routes each piece by fit.
Parallel fan-out — a delegate_many([...]) tool or a deterministic coordinator that dispatches sub-tasks concurrently and collects results (vs. sequential tool calls).
Synthesis / reduce — the explicit "reorganize and return" step (orchestrator synthesizes, or a configured reducer).
The "menu" the orchestrator sees — available backends + their fit + relative cost, surfaced so it can "decide based on what's available."
Observability of the orchestration tree — extend measurement to the decomposition tree (which sub-task → which backend → tokens/cost); the knob GUI can visualize the fan-out.
Design constraints (keep the product's character)
Config-driven — the roster is the rules; adding a backend or a delegate target stays a config edit.
Local-first + neutral — no economic/sub-evasion framing; "cheaper" is a capability/cost hint you configure.
Opt-in + ToS-disclaimed for non-local tiers (DISCLAIMER.md).
Plain Python first — the loop can stay emergent; introduce an optional deterministic coordinator only when the control flow (parallel fan-out + reduce) earns its keep (the standing "a graph engine only when justified" stance).
Vision
A request goes up to a frontier orchestrator, which breaks it into sub-tasks and dispatches each to the most appropriate backend — cheap grunt to a local model, long-context work to a long-context backend, code to a code backend, hard reasoning kept on the frontier — possibly in parallel, then reorganizes the results and returns one answer. You define the parameters and make up the rules via roster config (which backends exist, what they're good at, their relative cost); the model decides the breakdown within the menu you defined.
What's built today (the spine)
tanglebrain "…"routes the whole task to acan_orchestratebackend; task-fit (good_at) + rotation pick which.delegate_localtool; the orchestrator's own reasoning decides what to offload, then reviews.delegate_localruns sub-tasks on the local model at $0.Good spine. Missing: the multi-target, parallel, capability-routed-per-sub-task pieces. Today every delegated piece goes to the same place (local), sequentially.
Building blocks (roadmap)
good_at/ cost (sub-task-level task-fit, mirroring the request-level router). The frontier model decomposes and routes each piece by fit.delegate_many([...])tool or a deterministic coordinator that dispatches sub-tasks concurrently and collects results (vs. sequential tool calls).Design constraints (keep the product's character)
Slices
This is the original product vision written down as an executable roadmap; #38 is the first chunk.