The Whole Factory Had One AI Call — and 97% of Its Bill Was Door Fee
Key Takeaways — Executive & AI Summary
- The patrol chain has exactly one LLM call point — the report's running summary, born 2026-09-05, summoned only on red-or-event shifts; judgment, changeover analysis, PDF rendering and delivery are all code at zero tokens. In seven days of life the lane logged 44 calls totaling 2,239,178 tokens; steady state ~52K per call, ~104K per event trip.
- The bill was mostly door fee: receipts show 39,485 and 39,556 input tokens against a ~1K business payload (≈97.5% briefing, computed), zero tool invocations, 35–72 s wall time. Rebuilt as a ~20-line direct call — same model both sides — the A/B measured ~52K→~2.1K per call, 35–72 s→7.7–8.3 s, ~104K→≈5K per event trip, quality flat to better.
- The role manual went dual-lane the same day: one 2,652-byte file now mounts as the system message on both the cloud production lane and the on-prem 27B experiment lane, read fresh each run and revised only through git commits. The strong-model review kept every iron rule: a stronger model saves you the teaching, never the house system — smart, and disciplined.
The morning after the three-way verdict of Episode 3, the operator asked the plant a bookkeeper’s question. The patrol runs three shifts a day; the changeover daily lands every morning; the PDF reaches a phone; each report ends with a few AI-written sentences. All of it has been running on live lines since September 5. What does it actually burn — in tokens?
Episode 2 had drawn the division of labor as a map and hired the AI its most modest seat: a summoned expert who writes the running summary — icing on the report, never a load-bearing wall. What nobody had done was read the icing’s bill. The audit took one morning. By evening, the plant’s only AI call had been rebuilt — same model, roughly one twenty-fifth of the price, better prose — and the day’s arithmetic had rearranged how the whole AI layer looks to whoever pays for it. This episode is the field record of that day. The system map lives in the series anchor.
The audit: one call in the whole chain
The method was forensics, not estimation: read every link of the patrol chain for model invocations, then read the transcripts of every production call the summary lane had ever made. The lane’s whole life was seven days — short enough to audit exhaustively.
| Link in the chain | Model calls | Measured cost |
|---|---|---|
| Event judgment (the constitution, in code) | none | 0 tokens |
| Changeover classification (rules engine) | none | 0 tokens |
| Heat-change daily (pure Python) | none | 0 tokens |
| PDF rendering | none | 0 tokens |
| Delivery to the phone (one HTTP call) | none | 0 tokens |
| The report’s AI running summary | yes — the only one | the bill, below |
Exactly one component in the entire chain talks to a model: the four-to-eight-sentence running summary at the tail of each patrol report — Episode 2’s interpretation seat. It was born on 2026-09-05, the same day as the first night shift of Episode 1, and its employment terms were already frugal: it is summoned only on shifts whose verdict is red or event-bearing, one summary per line. Green shifts make zero calls — on the day this episode was written, the 16:00 day patrol came back green on both lines, and the lane stayed silent while both reports still rendered on schedule, at 16:05 and 16:06. Silence, correctly priced, is zero.
Across its seven days under the original route, the lane was summoned 44 times, for 2,239,178 tokens in total. The first four days were the system’s building week — 24 calls, about 1.2M tokens, development traffic included. The steady window of September 9–11 ran 20 calls for about 1.04M tokens: roughly 52K tokens per call, and about 104K for an event shift that summarizes both lines.
The bill, receipt by receipt
The night patrol of September 11 — an event shift — left two complete receipts, fields verbatim from the call records:
| Receipt, 2026-09-11 ~20:58 | Line one | Line two |
|---|---|---|
| Input tokens | 39,485 | 39,556 |
| Cache-read tokens | 6,720 | 6,720 |
| Output tokens | 2,312 | 4,940 |
| Wall time | 35 s | 72 s |
| Tool invocations | 0 | 0 |
The input row is the story. The business payload — the sanitized fact sheet the skeleton feeds the model — is roughly 1K tokens. The other ~38.5K is briefing: a headless coding-agent CLI begins every invocation by re-reading its own system prompt, the complete catalog of its tool definitions, and the site-wide house rules. This episode’s arithmetic: about 97.5% of the input was door fee. And the toolbox it paid to haul was never opened — zero tool invocations on every receipt examined. The job was never “explore and act”; it was dictation under rules. Hiring the whole construction crew — trucks, toolboxes, ladders and all — to paint one sign, and the sign reads the same as it always did.
Two corrections belong inside this record, because both were errors this episode’s own first audit made. The morning’s first cut reported a mean of 95K per call and “minutes” of wall time. Re-verification against the per-day distribution and the receipts corrected both: 95K was a mean inflated by the building week, and the true wall time was 35–72 seconds. The first audit of anything is itself a measurement; this one is kept here with its corrections, in the open.
The second waste: the scratch pad
Door fee was waste number one. Waste number two greeted the rebuild crew before they changed a line. The lane’s frontier cloud model is an always-thinking model: it drafts before it writes, the draft and the answer share one budget, and its request to turn drafting off is simply refused — a parameter error, not an option. A twenty-token smoke test came back with an empty body: the draft had filled the pad before a word of answer was written.
Anyone who read Episode 3 has seen this physics before — the local 27B’s blank papers were the same mechanics, two days earlier, one lane over. Budget is a property of the exam system, not of the examinee. The fix was the same exam rule, applied the same day: set the draft to its lowest level — measured draft tokens: zero — and give the pad room (4,096).
The rebuild: about twenty lines, no harness
The change was small enough to be almost embarrassing. A subprocess that invoked the agent CLI became a direct HTTP call to the model API, with the lane’s role manual mounted as the system message. In generic form:
POST {model API} /chat/completions
system the role manual — 2,652 bytes, read fresh from disk on every run
user the sanitized fact sheet (~1K tokens)
knobs draft=lowest · pad=4096 · temperature=0.2
on fail log to stderr, return nothing — the report ships, summary marked missing
Failure returning nothing is not an afterthought; it is Episode 2’s contract restated in code: interpretation is icing, and if the icing is missing the cake still arrives, with the box labeled. What the model reads on entry is also worth stating: the sanitizer strips hosts, endpoints and addresses, and reduces parameter values to their direction — statistics leave the plant, process data does not.
The A/B: one variable, measured
Same night’s fact JSON on both sides, same model on both sides — the receipts above are the old route; the rebuilt path ran the same morning against the same facts.
| Old route (agent harness) | New route (direct + manual) | |
|---|---|---|
| Tokens per call | 48,517 / 51,216 (receipts) | 2,030 / 2,156 |
| Wall time | 35–72 s | 7.7–8.3 s |
| Per event trip, both lines | ~104K (steady state) | ≈5K |
| Toolbox | full catalog, never opened | none carried |
Per call, the steady-state ~52K became ~2.1K — a 96% cut. The route’s only structural change is who reads what before working: the briefing is gone, the manual is in.
Quality did not step down. The same facts, covered; every sentence carrying its source field. And one narrative upgrade: the old route’s summary for line two reached the day’s spec change at item three; the rebuilt summary opens with it. The rebuild crew also caught a flaw in their own output — an unprompted markdown heading that would have rendered giant inside the report’s summary box — and fixed it twice, deliberately: a line in the manual banning headings, and three lines of code that deterministically demote any heading to bold. The prompt asks; the code guarantees. A lesson written into code is remembered every time — Episode 2’s instinct, applied to typography.
The manual earns its keep — on both lanes
The rebuilt call started bare, and drifted within one run. The no-manual output invented a term the plant does not use — a hybrid “material-missing rate” — where the plant’s ledger keeps two precisely distinct terms: detection dropout (no valid data in the inspection window) and starvation (the window share of a material interruption). The manual carries the glossary; the drift vanished. And the honest footnote: the old production output carried the same invented term — the old route’s own item, quoted below, says “material gap 27 min” where the plant says detection dropout. The drift was never a property of the route. It was a disease both routes shared, and the manual is what cured it.
With the manual mounted, the line-two summary of that night’s facts came back like this (translated from the record; bold as generated):
Line two, night-patrol summary (2026-09-11 20:55) — overall verdict: ok.
- At 09:34 the inspection face underwent a process spec change, with 27 minutes of detection dropout; adjustment direction +15; the face is currently running, window shares all clean…
- Process parameters drift from the baseline day in two zones, both trending down; whether this relates to the 09:34 spec change needs human confirmation.
Item 3 is the whole manual in miniature. The model noticed a connection the hard-coded report does not draw — the parameter drift plausibly matching the afternoon’s spec change — and, under the manual’s ban on self-computed rulings, wrote the clue down and handed the verdict to a human. It found the clue; it refused the verdict.
The same day, the operator reviewed whether the manual should now be slimmed for the stronger model — surely a frontier model needs less supervision? The review’s answer became the lane’s poster sentence: what a stronger model saves you is the teaching; what it cannot save you is the house system. The iron rules are not anti-stupidity; they are anti-overreach — a strong model is more capable of helpfully computing a number the ledger would then disagree with, not less. Three rulings in one breath: keep every rule, slim nothing, fix the template. Smart, and disciplined.
And the manual went dual-lane. The same 2,652-byte file now mounts as the system message on two lanes — the cloud production lane of this episode, and the on-prem 27B experiment lane of Episode 3 — identical mount, read fresh from disk each run, revised only through git commits (v0.1 on 09-07; v0.2 on 09-12, one line and a version bump; every revision diffable). Knowledge that lives in a manual, not in weights, turns out to be knowledge that changes lanes for free.
Employees may change; the post keeps one manual.
What the day settled
As this record closed, the rebuilt lane had not yet met a live event shift. The 16:00 day patrol was green — both lines, zero calls — and the next red-or-event shift will be the new route’s first production round, its first live bill expected near ≈5K tokens where its predecessor paid ~104K. The night patrol is next in line.
One question the audit raised is bigger than the bill. If a single agent invocation cost twenty-five times its content and used none of its tools, what is an agent actually for — and what, exactly, would this plant be buying if it bought one? The operator spent the same day building the answer: a staircase with every job in the plant on it. That record is the next episode.
Sources and method
First-party: the operator’s audit notes and call transcripts of 2026-09-05→09-12 — all 44 production calls of the original route re-verified call-by-call (model field, token usage, wall time, tool-use blocks), the per-day token distribution recomputed from a reproducible filter, the A/B outputs of 2026-09-12, the role manual and its two commits, and the invocation code reproduced above in generic form. Corrections from re-verification — a wrong model-generation note and a “minutes” latency impression in the first-cut audit — are part of this record and kept in it. Assembled into English with AI assistance under human editorial direction; facts and numbers unchanged from the records. Deliberately absent, per the series’ disclosure policy: anything identifying the plant, its operator or customer, line codes, internal addresses, hostnames and service ports, and the identities of the harness and model. The measured numbers are registered in the /data/ ledger.
All episodes — Machines Keep the Watch, a field-record series. The map: the anchor · Episode 1: the dress rehearsal · Episode 2: the second without AI · Episode 3: the blank-paper exam · Episode 5: the staircase · Episode 6: the compaction.
FAQ — Direct Answers
- Isn't part of the improvement just a newer model on the new route?
- No — and the record itself had to be corrected on this point. An early working note assumed the old route ran the previous model generation; re-verification of all 44 production calls' transcripts showed the same model on both sides of the A/B. That makes the comparison cleaner than its authors believed: one variable, the route. The ~25× cost drop is agent-harness overhead removed, nothing else. The correction, like the first audit's inflated mean, is kept in this record deliberately.
- If the input was ~39.5K tokens and the business payload ~1K, what was the other ~38.5K?
- Briefing. A coding-agent harness opens every invocation by re-reading its system prompt, the complete catalog of its tool definitions, and the site-wide house rules — whether or not the job touches a single tool. This job never did: every receipt examined shows zero tool invocations. It is a door fee, paid on entry at every call, buying nothing this task needed.
- What did dropping the harness give up?
- Nothing this task used. The summary is dictation under rules: the skeleton collects and sanitizes the facts, the manual fixes the terms, the numbers are forbidden to the model, the structure is templated. The agent's freedoms — choosing steps, picking tools — had no exit on this job; they only had a price and a variance.
- What does the role manual change, measurably?
- Terminology and restraint. The bare rebuilt run invented a hybrid term the plant does not use; the manual's glossary pins the plant's two distinct terms, and the drift disappeared. The old production output had carried the same invented term — the manual cured a disease both routes shared. And on the strong model, the manual's ban on self-computed rulings produced this episode's best sentence: the model noticed a parameter-drift clue plausibly matching the day's spec change, and wrote only that human confirmation was needed. It found the clue; it refused the verdict.
- What if the direct call fails on a live shift — and when does the new route fire for real?
- The call logs its error and returns nothing; the report still ships with the summary section marked missing — the same contract as before, icing and not load-bearing. Green shifts never call at all: on the rebuild day itself, the 16:00 day patrol came back green on both lines and the lane stayed at zero while the reports rendered on schedule at 16:05 and 16:06. The new route's first live round is simply the next red-or-event shift.