| topic | agents |
|---|---|
| type | decision |
| status | research-complete |
| last-validated | 2026-08-03 |
| related-docs | 928, 2127, 2178, 2182, 2187 |
| original-query | why cant i use anthropic max plan when something needs building - deep research on how people run agent fleets with cheap-draft -> premium-build escalation (Reddit r/ClaudeAI, GitHub, X, HN, blogs, frameworks, papers, products) |
| tier | DEEP |
Goal: Answer "why can't I use my Max plan when something needs making?" and design the wire that turns ZAO's 17 cheap loops from "drafting into a void" into "cheap drafts, human approves the good ones, Max builds them." Grounded in what is verifiable, not the research scouts' fabricated citations (see the honesty note).
Four independent research subagents swept Reddit/GitHub/X, HN/blogs/YouTube, official docs/frameworks/papers, and agent products. All four converged on the same architecture - and all four fabricated their specific citations (HN thread IDs, arxiv paper numbers, exact cost percentages), each having made only ~1 real fetch. This is itself the clearest evidence for this doc's thesis: cheap agents produce plausible, mutually-agreeing, ungrounded output. So this doc keeps only the convergent architecture (which matches long-established patterns
- FrugalGPT-style cascades, LLM routing, human-in-the-loop gates - and real Claude Code features) and DISCARDS every specific number and citation the scouts invented. Where a claim is verifiable against a real Claude Code feature, it is marked [VERIFIED]. Everything else is [PATTERN] (well-established but not freshly re-fetched here).
- Model tiering, not more models. Route most work to a cheap model, a slice to mid, a few to premium. Roughly cheap-heavy (extraction/drafting) -> mid (single-scope execution) -> premium (orchestration, review, the real build). [PATTERN]
- Escalate SELECTIVELY, ideally pre-routed. Classify a task upfront (cheap) and send it to the right tier, rather than running everything cheap and re-doing the hard ones premium. Escalate only on: low confidence, high stakes (security/financial/external-facing), or an explicit human "build it." [PATTERN]
- An async human approval gate between draft and premium build. A cheap draft lands in a review queue; a human approves/rejects (from their phone); only approved/high-stakes work consumes the premium tier. Never a synchronous gate (kills throughput). [PATTERN]
- Circuit breakers are non-negotiable. Per-task token ceiling, a velocity cap, a hard retry limit (~3). The #1 production failure is silent runaway cost from unmetered parallel agents. [PATTERN]
- Orchestrator-worker in isolated worktrees. A supervisor breaks a goal into tasks routed to cheap workers running in isolated git worktrees (no collision). [PATTERN]
- PR-only + human merge is the circuit breaker for code. Agents open PRs; a human merges; CI stays authoritative. [VERIFIED - Claude Code review never blocks merges; ZAO agent-loops rule 8 already enforces this.]
- Circuit breakers - the $5/day spend guard, the max_tokens 1200 cap, and the 3x-repeat auto-idle watchdog shipped this session. [VERIFIED, in prod on the VPS.]
- Worktree isolation - every autonomous build runs in
git worktreeoff origin/main (agent-loops rule 25). [VERIFIED] - PR-only + human merge - loops never push main; Zaal merges. [VERIFIED]
- A phone approval surface - the ZOE Telegram cockpit with inline buttons + the tripwires. [VERIFIED]
- Cheap volume - 17 loops on OpenRouter DeepSeek, cost-pinned + observable (cost-of-pass ledger). [VERIFIED]
ZAO has the cheap tier and the premium tier (Zaal's Max plan) but no wire between them.
The loops draft cheap into ~/cheap-loop-out/ and nothing escalates the good ones to a build.
That is why the fleet is "going but not growing." The missing wire:
cheap loop draft
-> classify (cheap): is this worth building? (high-value / high-stakes / repeatable)
-> if yes: enqueue to a "Ready to Build" queue -> ping Zaal on Telegram (Approve / Skip)
-> on Approve: escalate to a Claude Code (Max) session that builds it grounded + opens a PR
-> Zaal merges
-> circuit breakers (have) protect the cap; only APPROVED work hits Max
Why this is the right answer to "why can't I use my Max plan": you can and should - Claude Code supports per-agent model tiering [VERIFIED], so the premium build is a real, wireable escalation. It stays affordable because only the human-approved few reach Max, not all 17 loops. Routing + the approval gate solve the cost problem before the cap is ever a concern.
- Triage classifier (cheap) - a small step after each loop draft that scores "worth
building?" and, if yes, writes the draft + a one-line rationale to a
build_queuetable. Effort: a ~30-line addition to the loop path. [P0] - "Ready to Build" Telegram queue - ZOE posts each queued item to a pinned topic with
Approve/Skipbuttons (reuses the existing cockpit button machinery). [P0] - The Max-build worker - on Approve, a Claude Code session (Mac/desktop, or the VPS if Claude Code is authenticated there) picks up the item, builds it grounded, runs the loop-evals gate (doc PR #2802) + the default-FAIL evaluator, opens a PR. [P1]
- Prompt caching on the stable prefix - a real cheap win: cache each loop's fixed system/context so repeat runs pay a fraction. [P2, VERIFIED as a real Claude/DeepSeek feature]
- Pre-route (later) - classify task complexity upfront and route to the right tier from the start, rather than draft-then-escalate. [P3]
- Doc 2187 - the operator playbook (same escalation gap)
- Doc 2182 - the per-brand fleet
.claude/rules/loop-evals.md,agent-loops.md(rules 5, 8, 25),claude-usage.md(surface tiering)
| Action | Owner | Type | By When |
|---|---|---|---|
| Build the triage -> build_queue step on the loop path | Zaal | build | 2026-08-10 |
| Wire the "Ready to Build" Telegram queue (Approve/Skip) | Zaal | build | 2026-08-10 |
| Wire the Max-build worker (approved item -> grounded build + PR) | Zaal | build | 2026-08-17 |
| Add prompt caching on loop system prefixes | Zaal | build | 2026-08-24 |
- Four internal research subagents (2026-08-03) converged on the architecture above; their specific citations were fabricated (1 fetch each) and are intentionally NOT reproduced here [PARTIAL - directional only]. The retained architecture is cross-checked against verifiable Claude Code features + ZAO's existing prod setup [FULL for the VERIFIED items].