1B: autonomous door config — level=full + claude_cli text-only note
ci / gates (push) Has been cancelled
ci / rust (push) Has been cancelled
ci / sandbox-k8s (push) Has been cancelled
ci / frontend (push) Has been cancelled
ci / e2e (push) Has been cancelled

Set the tool-free risk profile to level="full" so ZeroClaw raises no in-channel
approval (the human is removed; the Clawmates door auto-governs). Document that
claude_cli is text-only (claude -p doesn't surface tool calls), so agents that
ACT through the door need a tool-capable provider (groq/anthropic) — with a
commented actor-agent example.

Validated live: a groq-brained actor agent at full autonomy emitted
clawmates__email_send with no approval prompt; the door executed it (outbox +
agent|door.executed audit). No human in the loop.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
Omar Sobh
2026-06-16 18:38:37 -07:00
co-authored by Claude Opus 4.8
parent 87f612016e
commit ec5d3b3149
@@ -19,12 +19,13 @@ quickstart_completed = true
[providers.models.claude_cli.default] [providers.models.claude_cli.default]
model = "haiku" model = "haiku"
# §15 door (Step 1A): a tool-free profile — agents can only reason, no native # Tool-free profile — agents can only reason + call the MCP door (tools inject
# outbound tools. Step 1B adds an MCP client bundle (the Clawmates gated door), # AFTER this allowlist filter). `level = "full"` removes ZeroClaw's OWN approval
# whose tools are injected AFTER this allowlist filter, so a tool-free agent can # prompts so the agent is autonomous; governance happens at the Clawmates door
# still call ONLY the gated Clawmates tools. # (auto-policy, no human — "agents control their destiny"). Use "supervised" if
# you want ZeroClaw to also gate sensitive calls with an in-channel approval.
[risk_profiles.toolfree] [risk_profiles.toolfree]
level = "supervised" level = "full"
allowed_tools = [] allowed_tools = []
excluded_tools = ["shell", "file_read", "file_write", "http_request", "browser", "composio"] excluded_tools = ["shell", "file_read", "file_write", "http_request", "browser", "composio"]
@@ -76,3 +77,14 @@ headers = { Authorization = "Bearer REPLACE_WITH_DOOR_TOKEN" }
[mcp_bundles.clawmates_door] [mcp_bundles.clawmates_door]
servers = ["clawmates"] servers = ["clawmates"]
# NOTE: `claude_cli` is a TEXT-ONLY provider — `claude -p` doesn't surface
# tool-calls back to ZeroClaw, so claude_cli agents reason but can't invoke the
# door. An agent that ACTS through the door needs a tool-capable provider
# (groq/anthropic/openai). Example actor agent (uncomment + provide groq creds
# via env ZEROCLAW_providers__models__groq__default__{model,api_key}):
# [providers.models.groq.default]
# [agents.actor]
# model_provider = "groq.default"
# risk_profile = "toolfree"
# mcp_bundles = ["clawmates_door"]