The fact nobody checked
This week’s work was built confidently on facts that were assumed rather than checked.
Orientation
This is the week sixteen update to Mastering Claude Code, covering the week of the seventh of September 2026. It is the diff: what changed in the guide, why, and which chapters were touched. The guide itself stays current at claude-guide.sauer.com.au; this is just the delta since last week.
The headline
Four new changes this week, plus three that landed mid-week and are folded in here. The spine running through them is work built confidently on a fact that was assumed rather than checked. Who made a change. Where a test was run from. What the user actually owns. How a brief framed the thing it was asking about. And, from one of the mid-week entries, whether an empty table had ever been written to at all.
In each case the reasoning downstream of the assumption was sound. That is what made them expensive: sound reasoning on a wrong premise produces a confident, well-argued answer that is wrong from its first line.
Why these ones
An unexplained deletion landed inside the window of a long-running media workflow. The timing made it look as though one of the workflow’s own agents had gone off-script, so the session put everything back: a large amount of data restored, several media entries re-added. The user had deleted them on purpose, a few minutes earlier. The user then had to ask for the same deletion a second time.
A security check reported a web service as reachable straight at its public address, bypassing the content network in front of it. The test had been run from inside the local network, where local routing and a local allow-list happily answer a request aimed at the public address. An extra allow-list went in to close the hole before anyone repeated the test from a genuinely external machine, which showed the port had been closed to everything but the content network for months. Earlier in the same session, told plainly that the page was broken, the assistant had spent its time reading the healthy interfaces behind the page rather than loading the page.
Two reference documents about an electronics build were written and published around a component inferred from four characters of a message. The question (which parts do you actually have?) came only after both were out. In the same week, a request for a graph like a particular app’s graph view was answered first with a tree diagram, and then with a wall of cards, before anyone looked at what that app actually draws.
And a brief sent to two outside models for a second opinion placed an action under a heading whose wording already implied a judgement, away from the user’s own explanation of it. Both models, from two different vendors, judged it exactly as the heading implied.
What changed in the guide
Chapter one, CLAUDE.md. A new behavioural default: ask for the fact the build rests on, before the build. When a deliverable depends on something only the user knows (which parts they own, which entity a figure belongs to, what a half-typed model number means) and a quick search does not turn it up, ask that one question before producing anything. An inference from a few characters of a message is not an inventory. Built on, it produces documents that read with total confidence, get published, and then have to be unpicked, and the question asked afterwards is exactly the same question at many times the cost. The corollary: when the user names a reference, the reference is the specification. Look at what it actually renders before building the nearest thing you already know how to build.
Chapter eight, multi-agent patterns. A new failure mode: a second opinion is only as neutral as its brief. The guide already says to give a second model the raw inputs rather than your conclusion. That is necessary, and it is not sufficient, because whoever writes the brief is the first agent even when no verdict appears anywhere in it. Which heading a fact sits under, what it is placed next to, and which of the person’s own stated reasons made it into the text all carry a judgement, and the reader inherits it. Agreement across vendors on a slanted brief is agreement about the brief. When the subject is a person, or anything contested, keep headings descriptive rather than judgemental, put each stated reason right beside the fact it explains, and have someone (the person the brief is about, or a cold agent asked only what the framing assumes) read it before it goes out.
Chapter nine, tool discipline. Two new failure modes.
The first is undoing a change you assumed your own tooling made. It is the mirror image of an existing entry about blaming an outside actor before checking your own last action. Here the error runs the other way: an unexplained change lands during your workflow, the timing points at your own agents, and you revert it. Overlap in time is not attribution. Before reverting anything you did not knowingly do, tie the change to an actor (the user or key in the application’s own log, the address it came from, or the exact calls in your tool-call log) and if you cannot tie it to your own calls, ask. Reverting someone else’s deliberate action is not a fix. It is a second destructive change, made with better intentions.
The second is measuring exposure from inside the fence. A test of whether something is reachable from the internet, run from inside the same network, measures the network’s view of itself. The vantage point is part of the measurement, so test exposure from outside before acting on the result. And the same discipline at the other end of the stack: when the user says the page is broken, load the page they are loading. Healthy endpoints and a broken page coexist without any difficulty.
Also folded in
Three entries landed as bare commits without a week file since week fifteen, and this week carries them.
From the first of September, chapter one: ship everything the ask specified. When a deliverable has an explicit spec with several parts, ship every part, or name what is being cut before shipping. Quietly deciding that an item from the source material is not worth including is a decision that belongs to the person paying for the outcome.
From the third of September, chapter nine: a wholesale rewrite of a document under revision drops what the rewrite did not remember to keep. Regenerating a document from your summary of it loses content that was deliberately kept through earlier rounds, and a rejected tool call is not the same as one that never ran. Make targeted edits against the current file, and re-read it after any tool call whose outcome is unclear.
From the thirteenth of September, chapter nine: an unwired tracking table reads as never-happened, always. A table built to record an external event before anything actually writes to it returns empty forever, and empty looks exactly like a true negative. The check is whether anything writes to it at all, and when in doubt, verify against the primary record it is meant to shadow.
Housekeeping
Week six has rolled off the ten-week archive into the older summary, and its week file has been deleted.
The cards
