A1.03 · The Author/Operator loop · dive 1
The two roles
The loop has two roles and a hard line between them. The Operator decides what to build and whether it is done; the Author produces the spec and the code. Neither crosses.
The Operator never writes the code; the Author never decides the goal. The pairing is the course thesis made concrete — judgement and accountability on one side, throughput and patience on the other. Switch the view on the right to see what each role owns, and where they meet.
Who owns what · switch the view
The line between the roles
One rung runs as a loop between two roles, and the design is the line between them. The Operator is the human: the source of intent, judgement, and acceptance. The Operator sharpens the next rung, demos what returns, reviews it against the spec, and decides whether it is done. The Operator never writes the code — that scarce, valuable input is judgement, and spending it on production wastes it.
The Author is the Claude agent: the source of production. The Author turns the sharpened rung into a spec, builds the increment from that spec and the brief, and ships it — fast and exact. The Author never decides the goal. The two meet on the spec: the Operator's sharpened intent, authored into the contract the Author builds from. Neither side proceeds on anything else.
- Operator
- The human — intent, judgement, acceptance. Sharpens, demos, reviews, decides done. Never writes the code.
- Author
- The Claude agent — production. Turns the sharpened rung into a spec, builds it, ships it. Never decides the goal.
- the line
- The Operator owns what and whether it is done; the Author owns how — the spec and the code.
- the spec
- Where the roles meet: the Operator's sharpened intent, authored by the Author into the contract it builds from.
The names encode the split: the Author authors the artifacts (the spec and the code); the Operator operates the process (directs, judges, accepts). Keep each on its strength.
Why the split multiplies
The pairing is not a convenience; it is a multiplier — but only under one condition. The Author's throughput is near-unlimited, while the Operator's judgement is the scarce input. So accepted value is produced only as fast as the Operator can accept: the Author can build ten rungs in the time the Operator has to review, but if accepting each one means re-reading every line, nine of them wait.
That makes cheap acceptance the lever. When each rung carries its own acceptance — a contract, a test (A1.02.2) — the Operator accepts many per cycle, and the Author's throughput converts to shipped value. When acceptance is expensive, the throughput is wasted. Step the slider: the same production, a different acceptance cost, a different amount that actually ships.
The acceptance multiplier · move the slider
The Author's speed is real, but the Operator's acceptance is the gate: the split multiplies only when each rung is cheap to accept — which is what the contract bought.
The two roles on the Portal
On the Portal — the learning platform this course builds — the Operator decides the next rung
(“one branded id”, then “store one event”) and what done means: the id contract from
A1.02.2. The Author turns that into a spec and implements Portal.ID.generate/1 to
satisfy it, then ships. The Operator demos (the id decodes), reviews against the contract, and accepts.
The line holds throughout: the Operator never writes generate/1, and the Author
never decides that an id is the right next rung. The spec — the contract — is the one place they
meet.
# Operator: decides the rung and what "done" means (the contract) — never writes the code. # "next rung: a branded id; done = 14 chars, decodes to its type, unique within a node-ms" # Author: turns that into a spec and produces the code to satisfy it — never decides the goal. id = Portal.ID.generate(:user) # => "USR0NbAb1xcFCy" # Operator: reviews against the contract, then accepts. assert Portal.ID.decode(id).type == :user # meets the spec → accepted
The principle
A deciding role and a producing role, each kept on its strength: judgement and acceptance on one side, throughput and production on the other.
On the Portal
The Operator picks the rung and the contract; the Author specs and builds Portal.ID.generate/1
to it. Neither crosses the line; the contract is where they meet.
The line is the design: the Operator decides what and whether it is done, the Author produces how — and the spec is the one place they meet.
Recap — the deciding role and the producing role
Two roles, one line. The Operator owns intent, judgement, and acceptance and never writes the code; the Author owns production and never decides the goal; the spec is where they meet. The split multiplies only when acceptance is cheap, which is exactly what the contract bought in A1.02. With the roles fixed, the next dive walks one rung through the six stages they hand back and forth.
Next in A1.03: A1.03.2 · One turn of the loop — the six owned stages of a single rung, and the failure that returns when one is skipped.
References
Primary sources for the two-role division of labour, and where it connects in the course.
Sources
- Brooks, F. — The Mythical Man-Month — conceptual integrity and the architect / builder division.
- Beck, K. — Extreme Programming Explained — the customer and programmer roles, and the planning game.
- Anthropic — Building effective agents — human direction, agent production.
Related in this course
- A1.03 · The Author/Operator loop — the module hub.
- A1.03.2 · One turn of the loop — the next dive.
- A1.03.3 · Adapt: feedback edits the spec
- A1.02.2 · Design by contract — cheap acceptance, the multiplier.
- A0.2.3 · The Author/Operator loop — the sketch.