M4 - Tier-1 composition: exact warden invoke tools + per-attempt grant for the LLM fallback #6

Closed
opened 2026-09-10 12:20:58 +00:00 by jmz · 1 comment
Owner

Next mesh milestone (0.16.0), in progress now. When Tier-0 can't fix an incident, hand the LLM auto-resolver an EXACT allowlisted warden invoke <cap> --target <id> --param k=v toolset composed from the routed actuator's registered manifest (enum product <= N, else decline+escalate - never a prefix/glob), plus a per-attempt HMAC grant (bound to incident+capabilities+exp) so the child drives POST /invoke and never holds NATS creds; add a context_note (Tier-0 failure reason) to the prompt. Pieces: resolve.compose_invoke_tools, autoresolve.attempt(extra_tools=, context_note=) + ClaudeAgentRunner.with_env, remediate Tier-1 wiring, docs.

**Next mesh milestone (0.16.0), in progress now.** When Tier-0 can't fix an incident, hand the LLM auto-resolver an EXACT allowlisted `warden invoke <cap> --target <id> --param k=v` toolset composed from the routed actuator's registered manifest (enum product <= N, else decline+escalate - never a prefix/glob), plus a per-attempt HMAC grant (bound to incident+capabilities+exp) so the child drives `POST /invoke` and never holds NATS creds; add a `context_note` (Tier-0 failure reason) to the prompt. Pieces: `resolve.compose_invoke_tools`, `autoresolve.attempt(extra_tools=, context_note=)` + `ClaudeAgentRunner.with_env`, `remediate` Tier-1 wiring, docs.
Author
Owner

Done in v0.16.0 (pushed). Tier-1 composition landed: exact tools from the routed actuator manifest (enum-only, safe-char allowlist, decline+escalate on non-enum/overflow/unsafe), per-attempt HMAC grant bound to incident+registered-caps, child gets only WARDEN_ORCHESTRATOR_URL+WARDEN_INVOKE_GRANT (never NATS creds), context_note outside the evidence fence. A wire-manifest RCE (denylist->allowlist) and a feature-inert bug (composed tools now emit --incident so the grant binding matches, with an e2e compose->cli->/invoke->grant.allows test) were caught+fixed in review. 582 tests.

Done in v0.16.0 (pushed). Tier-1 composition landed: exact tools from the routed actuator manifest (enum-only, safe-char allowlist, decline+escalate on non-enum/overflow/unsafe), per-attempt HMAC grant bound to incident+registered-caps, child gets only WARDEN_ORCHESTRATOR_URL+WARDEN_INVOKE_GRANT (never NATS creds), context_note outside the evidence fence. A wire-manifest RCE (denylist->allowlist) and a feature-inert bug (composed tools now emit --incident so the grant binding matches, with an e2e compose->cli->/invoke->grant.allows test) were caught+fixed in review. 582 tests.
jmz closed this issue 2026-09-10 13:26:22 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
public/warden#6
No description provided.