Paperclip part ① · budget hard-stops · Phase A

Provider spend caps — the prevention backstop

L6 Cost Governor already watches spend. This adds the hard ceiling that refuses over-budget calls — the "per-key provider spend limits" L6 itself flagged as TODO. These are the truest hard-stop (the provider says no), and they're your console actions.

📊 Baseline (grounded, not guessed): staging product spend median $3.06/day (~$90–150/mo at pilot). L6 budgets today: loop $50/mo, CI $100/mo, product unset. The $1,081 incident was a CI key runaway at >100× median — caps below sit comfortably above normal but far under a runaway.
🔒 Set these caps (your console actions)
1 · Anthropic Console — the $1,081 vector$100 / $500 mo
Two workspaces, two caps. CodeReview / auto-review workspace (Haiku, per-PR — this is what ran away): hard $100/mo (normal <$30/mo). Main product/agent workspace: $500/mo (product ~$90–150/mo at pilot + headroom).
console.anthropic.com → Settings → Workspaces → [workspace] → Spend limit (monthly, hard)
Why per-workspace: isolates the cheap-but-fannout review key from the product key, so a review runaway can't drain product budget. YOUR ACTION — I never enter provider credentials
2 · OpenRouter — resilience fallback$50 credits, no auto-top-up
Only used when Anthropic-direct fails, so usage is low. Set a small credit balance and disable auto-refill — it then physically can't overspend.
openrouter.ai → Settings → Credits → set balance $50, auto-top-up OFF
YOUR ACTION
3 · Azure AI Foundry — fallback + product OpenAI$150 / mo budget
Azure Cost Management budget with a hard action scoped to the Foundry / oai-pulse-prod resource. Covers the Foundry fallback lane and any Azure-OpenAI product spend.
Azure Portal → Cost Management → Budgets → + Add → scope: oai-pulse-prod → $150/mo → action group: alert + (optional) disable
This one I can set via az if you'd rather — it's Azure, not a provider login. Say the word and I'll propose the exact az consumption budget command for your ok. YOUR ACTION or my az-with-your-ok
🔗 Make the caps the source of truth
Record the same numbers in L6 goal_state budgets
So Phase B's gate enforces the identical limits L6 already reports against. Change needed (goal-state-protected → via /synexar-task):
budgettodayproposed
ci_monthly_usd$100$100 (keep)
loop_monthly_usd$50$50 (keep)
product_monthly_usdnull$500 (set before pilot)
➡️ Phase B — the runtime gate (next, via /synexar-task)
📌 Boundary I'm holding: I do not enter your provider credentials or set financial spend limits on your accounts — those are your console actions (I give exact steps). The only one I can do for you is the Azure budget via az, and only with your explicit ok. Adjust any number by flagging its card.