v0.12.0 — capability-routed delegation
Capability-routed per-sub-task delegation — slice 2 of the scatter-gather roadmap (#39).
Added
- Capability-routed delegation. The
delegateMCP tool gains ataskparameter: an orchestrator can delegate a sub-task by the capability it needs (agood_attag, e.g.code) instead of naming a backend id, and TangleBrain selects the cheapestcan_delegatebackend good_at it (localbeforesub, ties by declared order) — sub-task-level task-fit mirroring the request-level router.- Precedence: explicit
targetid >taskcapability > free local default. - Paid
apibackends are never auto-selected bytask(the paid-is-last-resort invariant) — reach one only via an explicittarget. - No fit → hand back to the orchestrator. When no backend fits the capability, the tool returns an instruction for the frontier model to handle the sub-task itself (a
NoDelegateFitsignal caught at the MCP boundary), rather than surfacing a tool error or routing to a poor-fit backend.
- Precedence: explicit
Builds on the generalized delegate (#38, v0.11.0). Still ahead on #39: parallel fan-out, synthesis/reduce, orchestration-tree observability.
Full changelog: https://github.com/Jason-Vaughan/TangleBrain/blob/main/CHANGELOG.md