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)¶
- The harness tries (up to 4 attempts).
- After 2 failed runs it escalates to a stronger model (B33).
- Then it flags
needs-attention. - The project agent fixes the spec or the scope and sets
state: readyagain, or takes the item itself. - If the item is critical, or fails again: route it to Sonnet (
model: sonnet). - If the failure shows a design flaw: route it to Claude (
model: claude) with the evidence. - Business choice needed at any step: a
for-atul/<project>/<date>-<slug>.mdfile 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.