feat(subagents): complete queue, budgets, audit, and inspection controls
This commit is contained in:
@@ -137,8 +137,9 @@ Tool Calls (inside NativeAgent loop)
|
||||
+---------------------------> AuditLogger (redacted)
|
||||
|
||||
Subagent sessions (multi-turn child agents)
|
||||
parent AgentOrchestrator -> subagent.* tools -> SubagentManager (TTL cleanup)
|
||||
SubagentManager -> child AgentOrchestrator (session namespace: subagent:<parent>:<id>)
|
||||
parent AgentOrchestrator -> subagent.* tools -> SubagentManager (TTL cleanup + queue/budget controls)
|
||||
SubagentManager -> child AgentOrchestrator (session namespace: subagent:<parent>:<id>, trace_id)
|
||||
SubagentManager -> AuditLogger (subagent.lifecycle + subagent.turn events)
|
||||
child AgentOrchestrator -> NativeAgent/tool loop (same policy engine, recursion tools removed)
|
||||
|
||||
Session start (when `memory.user_namespace` is set)
|
||||
|
||||
@@ -17,7 +17,7 @@ If you only want the protocol surface, see `docs/api/PROTOCOL.md`.
|
||||
- Backend routing outcomes are auditable via `backend.route` / `backend.success` / `backend.fallback`, which enables offline canary evaluation without changing gateway protocol methods.
|
||||
- Run lifecycle/cancel intent and reaction decisions are emitted to audit logs, and aggregated into `system.metrics` counters (runStates, cancelLatencyMs, reactions) for dashboards.
|
||||
- Reaction matching is deterministic (priority + cooldown + recursion guard) before intent/agent routing.
|
||||
- `subagent.*` tools create child orchestrators scoped to the parent conversation (`subagent:<parentSessionId>:<childId>`) with idle TTL cleanup; this is tool-loop behavior, not a separate gateway RPC session lane.
|
||||
- `subagent.*` tools create child orchestrators scoped to the parent conversation (`subagent:<parentSessionId>:<childId>`) with idle TTL cleanup, per-child queue mode (`followup|interrupt`), and session budgets (turn/token/timeout); this is tool-loop behavior, not a separate gateway RPC session lane.
|
||||
- Companion `node.*` registration is per WebSocket connection; reconnects must re-register capabilities before invoking node RPC methods.
|
||||
- Canvas artifacts are persisted per session under the gateway data directory for UI recovery across restarts.
|
||||
- TTS output is best-effort; synthesis failures fall back to text-only responses.
|
||||
|
||||
Reference in New Issue
Block a user