From ab0740133f55faf7ba649f9606f481f650b9540e Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 21 Mar 2026 13:03:33 +0000 Subject: [PATCH] fix: correct reserve decision types in README Reserve returns ALLOW or ALLOW_WITH_CAPS (not DENY) for live reservations. Insufficient budget produces a 409 BUDGET_EXCEEDED error, not a DENY decision. DENY is only valid for dry_run=true reservations and /decide endpoint. https://claude.ai/code/session_01NEcAqmfZHsZV9WEZXNofWY --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 798454c..2dc9f19 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ Cycles sits **between** the agent and the downstream system. Before calling a mo Agent ──► Cycles (reserve) ──► Agent ──► Downstream API ──► Agent ──► Cycles (commit) ``` -Cycles is **synchronous and blocking by design**: the reserve call returns `ALLOW` or `DENY` before the agent acts. This is what makes budget enforcement deterministic. There is no post-facto reconciliation window where spend can leak through. +Cycles is **synchronous and blocking by design**: the reserve call returns `ALLOW` or `ALLOW_WITH_CAPS` before the agent acts, or rejects with a `409 BUDGET_EXCEEDED` error. This is what makes budget enforcement deterministic. There is no post-facto reconciliation window where spend can leak through. Cycles is **not a proxy**. It does not sit in the data path or see request/response payloads. It only tracks cost metadata (who, what, how much). The agent is responsible for calling the downstream API and reporting actual cost on commit.