Manage eval-gated experiments
Treat every lifecycle change as a production control action. Read current state and results, then report one supported recommendation or block. Current agent MCP is intentionally read-only: control-api does not yet enforce a complete lifecycle transition table and evidence gate atomically.
Non-negotiable gates
- A request to review, inspect, explain, or recommend authorizes reads only.
- Never approve an experiment whose results are pending, whose required guardrails are absent, or whose evidence reports a breach.
- Never convert experiment lift into
verified_savings. Only active real traffic plus provider-causal, provider-complete ledger evidence can do that. - Never supply an organization id. Project and tenant scope come from the logged-in Caveman identity and server RBAC.
- Never execute a lifecycle mutation, even after user approval. Exact
<action>:<experiment_id>strings are agent-generatable and are not proof of human intent. - Unknown states and server errors fail closed. Report exact
cave_snake_code.
Step 1 — Load project and experiment
Prefer MCP:
caveman_context {}
caveman_experiment_get {"…