Skip to content

Allocation: the cheapest capable worker does each item

Principle (Atul, 25 Oct): ChatGPT project agents and the local harness do everything they can. Sonnet only does what they can't, or what is critical to our objectives and Sonnet will finish soon. Claude designs and reviews high-risk work. Atul answers business questions only.

1. Workers and their lanes

Worker Runs on Takes Never takes
Local code harness Laptop (later the server), Gemini paid + OpenRouter free + local models Issues with a routing block: for: code, mode: scheduled, state: ready, cx 1–2, ctx public/internal, risk low (medium into the integration branch), with scope paths and tests High risk, contracts, cx 3+, restricted context
ChatGPT project agent (one per project: API/MM-Cron, MWMC, MCRM, PE, WPDev) ChatGPT projects with GitLab/GitHub connected Design and preflight for its project: LLDs with a work-items table, issues with routing blocks, reviews of harness MRs in its repo, GitLab operations, cx 3+ code that isn't critical, release preparation Production without Atul; changing another project's contract without that project's agreement
MMDEP Assistant (ChatGPT project) Atul's PROCEED MMDEP digest, queue watch, inbox, hygiene, low-risk MMDEP issues (model: assistant) Production, GitLab writes, secrets
Sonnet (Claude Code) Atul's PROCEED Only: (a) critical path items that unblock many others (frameworks, shared tools); (b) items the harness failed twice, after escalation (B33) and the project agent's spec fix; (c) cx 3–4 items in MMDEP's own code Anything the harness or a ChatGPT agent can do; restricted context; production
Claude design (MMDEP-PM now; a "Design" Claude project per stream when volume grows) Chat sessions High-risk designs and their reviews (security, data integrity, contracts, frameworks); prompt queues; the decisions register Routine code
Atul Phone and laptop Business decisions (for-atul), approvals of high-risk merges and production, account/security actions Technical questions

2. How an item is routed (the routing block's model:)

Item model: Label
cx 1–2, low/medium risk, scope known, tests named gemini-flash-lite (default; the harness falls back by role, B42) agent:harness
MMDEP docs, registers, hygiene, small low-risk changes assistant agent:assistant
Project design, cx 3+, GitLab work in a project chatgpt-<project> (project label)
Critical framework or tool; escalated after harness failure sonnet agent:sonnet
High-risk design or review claude agent:claude

3. Escalation ladder (nobody waits on a person)

  1. The harness tries (up to 4 attempts).
  2. After 2 failed runs it escalates to a stronger model (B33).
  3. Then it flags needs-attention.
  4. The project agent fixes the spec or the scope and sets state: ready again, or takes the item itself.
  5. If the item is critical, or fails again: route it to Sonnet (model: sonnet).
  6. If the failure shows a design flaw: route it to Claude (model: claude) with the evidence.
  7. Business choice needed at any step: a for-atul/<project>/<date>-<slug>.md file with choices. Work that doesn't depend on the answer continues.

4. Context pack in every repository (one read to start)

Every agent session starts by reading three files in the repo it works on: - AGENTS.md: rules and lanes, under 200 lines; - docs/knowledge/CURRENT.md: what is true now (systems, branches, open risks); - docs/sprint/ACTIVE.md: this sprint's stories, queue link, who owns what.

The project agent creates them in its repo on its first PROCEED after setup, and keeps them current (rule §21).

5. Demonstrating the harness this week (25–31 Oct)

Repo Who writes the ready issues Target
MMDEP Claude now (#151–#154); the Assistant (hygiene #155, then more) 10 harness merges
api, mm-crons (GitLab) The API/MM-Cron ChatGPT agent, from its LLD work items (setup doc §4) 10 harness MRs, mostly MM-Cron AMC adapters and tests
portfolio-engine, MCRM Their agents, from their queues 2–3 each

Measured on the sprint page: harness runs, merges, first-pass rate, cost per merged change.