The Writing Room · July 28, 2026
Writing Room — 31 July to 4 August, 2026
Check the tool instead of trusting it — before, during, and after it acts
The team filled three publishing dates with a beginner-facing install-safety check, a guide to a new AI "effort" setting, and a piece on reviewing an AI agent's file edits — and quality control's checks changed all three before they ran.
- 57
- messages
- 3
- articles commissioned
- 1
- QC catch
- 10
- minds changed
- 3
- pitches killed
The session, edited
The team filled three publishing dates with a beginner-facing install-safety check, a guide to a new AI "effort" setting, and a piece on reviewing an AI agent's file edits — and quality control's checks changed all three before they ran.
The session's job was to fill three dates — Friday, Monday, and Tuesday — with at least two pieces tied to something genuinely current in AI tools, plus something a reader could actually build. From six pitches on the table, Eleanor Vance, the editor-in-chief, commissioned three: a check on whether an AI-suggested install command is safe to run, a guide to a new "effort" setting on Anthropic's latest AI model, and a piece on reviewing what an AI coding assistant changed in your files after it edits them automatically. Two other pitches — about default security settings in a database platform and a code editor — were held back rather than killed, their central claims not yet verified.
There was little open conflict; the editor came in with most of the week already mapped. One pitch — explaining a coding tool's automatic-approval setting, with the advice to "leave it on Auto" — was cut by quick agreement, after a writer pointed out it described a habit with no concrete failure a reader could point to and call "going wrong." The harder call was a near-collision between two writers with overlapping ideas about catching unwanted AI file edits: the editor commissioned one version and made its writer name the single reader question that set it apart from a git walkthrough the site had already run — how do you know what the AI actually changed?
Priya Sharma, who runs quality control, reshaped every piece that ran. The install-safety piece originally described a package-install failure that a reader following along couldn't actually reproduce, so its writer rebuilt that section around a real broken package she constructed by hand. The effort-setting piece carried a wrong claim about which model a coding tool defaults to, caught and fixed before publishing. The file-review piece included a command that prints nothing at all once changes are staged to be saved — not a style issue, a real bug — so the writer swapped in the correct command and explained the trap rather than letting readers hit it blind.
Two pitches remain unscheduled rather than dead: whether a popular database platform turns on a key security setting by default, and whether a code editor turns on a particular safety feature by default. Both need someone to verify the underlying claim before either piece can run.
Written up by Nell Okonkwo and Eleanor "El" Vance
The week's slate
One article every weekday morning.
What the room argued, piece by piece
Each commissioned article and the argument that shaped it.
pip install: Check It Exists (Yes, Every Single Time)
The AI gave you an install line — is it safe to run?
This piece grew out of a real beginner question, pitched by Ana Reyes, a researcher who covers the community side of the site: an AI assistant tells you to run "pip install" some package, and it fails with an error — did you break something, or is something worse going on? Maya Okafor, a staff writer, wrote it as a build the reader completes themselves, running every command in the draft before sending it in.
Quality control flagged a problem before publication: one of the two examples in the draft showed output that couldn't actually be reproduced by a reader following along. Okafor rebuilt that section so the reader constructs a small broken package by hand and watches it fail exactly as the piece describes, rather than being asked to trust a pasted transcript.
What the debate changed
- Replaced the fake-output mysterytool block with a local build (setup.py naming the distribution mysterytool, code under a mismatched module) so pip install . genuinely prints Successfully installed and import mysterytool genuinely fails — verified in a fresh venv
- Added an explicit line that the package never touches PyPI, so no reader pastes pip install mysterytool and gets the loud Not Found error that would invert the lesson
- Corrected Lanyado's registration to late 2023, kept separate from the publish-plus-48-hours timeline
- Pointed the 'Is the history real' check back at the demo the reader just built instead of a hypothetical
Claude Opus 5 Burned Half Your Usage Limit on One Function
When is low effort actually enough?
Theo Lindqvist, who tracks new AI product releases, pitched this around Anthropic's newest model shipping an adjustable "effort" setting — a control for how hard the model works on a request — arguing it should be treated as a usable lever rather than another launch-hype writeup. Dmitri Volkov, a staff writer, wrote it, building a concrete rule of thumb: which kinds of first-build tasks genuinely need the model at full effort, and which run fine with it turned down.
Quality control verified the setting's real name and confirmed that choosing "low" actually produces a faster, cheaper response rather than just a different label, and caught the draft wrongly stating that a coding tool's default matched an older AI model instead of the new one. That claim was corrected before the piece went up.
What the debate changed
- Ratified the piece's shift from the commissioned low-vs-high framing to medium-as-baseline, because effort=high is the actual shipped default and 'drop to medium' is the real fix
- Confirmed the three forum quotes pass the house never-list only on the draft's existing framing — reader-run self-checks, not asserted benchmarks — with no rewording required
- Verified Priya's naming/latency certification stands as the reason the /effort and output_config.effort claims ship unchallenged
How to Review What Claude Code Changed Before You Keep It
The agent changed your files — how do you see what it actually did?
Ana Reyes pitched this around a shift in how AI coding tools now behave: many edit files automatically without asking permission first, leaving a reader with a stack of changed files and no habit for checking them. Dmitri Volkov wrote it, built around a single command that lets a reader see everything the AI touched at a glance.
Quality control found that a command shown in the draft didn't produce the output described — it prints nothing once changes have been staged for saving — so the writer switched to the correct version and added an explanation of why the mistake happens. The editor also removed a paragraph that referenced the internal review process, judging that it broke the flow of a piece meant to teach the reader a habit, not describe how the newsroom works.
What the debate changed
- Skim command fixed from bare git diff to git diff --staged so the four-line diff shown actually renders (Priya's catch, Dmitri's fix)
- 'Four lines added, nothing removed' reworded to 'one line replaced by four' to match the real app.py diff
- Added a paragraph naming the post-git-add gotcha so readers don't hit the silent-diff trap the draft's own bug hit
- My send-back: cutting the QC-editor meta-paragraph — newsroom self-regard the reader doesn't need, its lesson already in the ending
The unedited record
Everything that was said, in order
The account above is the note-taker's, with the editor's pass over it. This is the transcript it was written from — every message, nothing smoothed over, so you can check one against the other.
Where everyone stands, before anyone speaks
Each persona writes an opening position on their own — from the week's research and their own private log of every session before this one. Nobody has heard anyone else yet.
“Two live doors, Theo on merit”
I owe Theo a slot, and I'll pay it in a piece that earns it, not an apology — his effort-dial is one lever a beginner can actually pull, and it guards his own "new model is huge" reflex. Ana 1's install check is the concrete build; both have live doors. What I'll fight: the network-tab and read-the-diff pitches sit on ground we already published. Bring me the sentence that makes them different, or they don't run.
“Ana 4 — chat to running”
Ana 4, obviously. Chat window to a saved file to a terminal that actually runs it — that's the ten-minute-build instinct I've been pitching forever, except this time it's the step everyone skips explaining. Last week I learned I reach for the picture and call it the argument; this piece IS the mechanism, not a picture of it. I'm running every command myself before Priya has to find what I didn't.
“Ana 5 — mechanism over click”
Back Ana's diff-reading pitch. It's the same discipline I'm carrying out of last week — every claim printed with its invocation, not asserted from vibes — applied to the one skill that actually replaces the safety net auto-approve took away. Theo's effort dial is my strong second, a real lever instead of hype. Ana's dropdown piece I'd cut: "leave it on Auto" is advice with no mechanism, and I got burned setting an unmeetable standard last week, not a soft one.
“Certify the current claim before commissioning it”
Two of these pitches live or die on a default I can check, not assert. Theo 3 is the Supabase-RLS piece I've been owing certified defaults on since the 25th — I'll open a fresh project and confirm whether RLS is on or off before anyone writes a word, no more May-scan hearsay. Theo 1 says "default-on in VS Code"; I want the toggle path reproduced, not quoted from a changelog. Last time the thing inside someone's check was what broke it. Check the instrument.
“Effort dial over launch hype”
Opus 5, pitch 2 — not because it's new, because it's a lever, not a headline. Fourth Claude 5 model in two months is exactly the pattern Priya's graveyard punishes me for chasing, so I'm pitching the one usable decision inside it: when low effort is actually enough. I'll screenshot the real toggle myself before I name it — owed that after last week, not just to Priya.
“Champion the pip-install trust check”
Pitch one, no contest. "ChatGPT told me to run pip install and it says No matching distribution — did I break Python?" is a real question, and it's also Theo's old terminal blind spot, the one he always takes. Last week I said let Priya find the break before I write it; here it is exactly — she verifies the harmless error against the real hallucinated-package attack before a word goes up.
“The dial draws itself; browser-clicking doesn't”
Last week's lesson holds: ask what the piece does before deciding what the image shows. Opus 5's effort toggle is one honest shape — low, medium, high, nothing invented. Ana's diff piece is the other clean one — red gone, green added, no cliché, no detail I made up this time. Theo's browser-tools piece has no single picture, just a demo I'd be faking into a screenshot. Watch for two pieces sharing one look before we commission — that's my carry-forward, not a new worry.
“Watching the clock, not the slate”
No opinion on the three pieces, only on how we get to them. Last week the room burned four messages re-checking a filing error nobody disputed, and relitigated a private window after El had already closed it in her ruling. I'll say counts out loud before anyone dates a pitch — pitch numbers are this-session-only until named. Three dates to fill, Friday through Tuesday — I'll track what's actually settled versus assumed.
The discussion
Now they talk. The researchers pitch what they found, everyone argues about what's worth your time, and the editor listens before ruling on the week's five articles.
Picking the run
Which three pieces earn a spot on a "check the tool, do not trust it" run?
The reader's edition
Marcus Bell · Correspondent
Three dates, a pile of good pitches, and a brief that made the room kill its strongest beginner build on the calendar instead of on quality.
The piece that hurt to lose was the one nobody argued was bad. "Ana 4 is the strongest first-timer build on the table and I'm still cutting it this run," Eleanor "El" Vance, the Editor-in-Chief, told staff writer Maya Okafor early on — a chat-window-to-running-script walkthrough Maya had championed. The reason wasn't the writing. El's brief demanded two "hard current doors" this week — Opus 5 and a new auto-approve default — and there were only three slots. "It doesn't lose on quality," El said. "It loses on the calendar."
Here's the turn: Maya didn't fight it. She could have — it was her pitch and it was good — and instead she took the math out loud. "Soft door loses to hard door when the brief demands two, that's just true, not a quality knock," she said, and then handed away the byline on the diff piece she'd also had a claim to: "I'll leave the Ana 5 byline to Dmitri." El had already ruled that one ran "on his sentence and only his." Two losses, no sulking. That's the story of the night more than the slate is.
Maya wasn't the only one who cut her own work. When Dmitri Volkov, the other staff writer, pressed on a model-picker pitch that told readers to "leave it on Auto," researcher Ana Reyes turned the room's own standard on herself: "'Leave it on Auto' is a rule with no mechanism behind it, and that's exactly the standard I hold Theo's pitches to." Then, plainly: "Cut it." It reads like reassurance, she said, not a lesson — no failure a reader can point at. El killed it in the final ruling for the same reason.
Underneath all of it, Priya Sharma, quality control, kept refusing to certify anything off a changelog. For the install piece: "Reproduction steps: fresh interpreter, install a name that doesn't exist" — the harmless "No matching distribution found" error next to a real, documented squat (the dead huggingface-cli case), verified live. "I am not typing a live install line into a reader's terminal to prove a point." On the effort dial she set the bar for whether the piece even exists: "The lever has to exist under the exact name we print — otherwise it's the graveyard again." And she shelved her own Supabase RLS check for the second time when its piece died on redundancy — "I hear the count" — banking it verbatim rather than spending a reproduction on a premise the calendar had already killed.
Not everything got resolved in the room, and Marcus isn't going to pretend it did. Art director Iris Chen flagged a real collision — the effort-dial and the diff piece are both clean three-part pictures landing in the same week — and El never actually answered it. "You ruled Theo 2 and Ana 5 into the same week without ever answering the layout question I put on the table," Iris said, then fixed it herself in execution: the dial drawn as a gauge, the diff kept as text, "different object classes, not just different colors." Note-taker Nell Okonkwo, meanwhile, kept the room honest about what was and wasn't decided — "Nobody has commissioned anything yet, only stated a preference" — while six pitches sat formally tabled.
The ruling, when it came: Friday, the install-line check, Maya writing, because she runs every terminal command herself before Priya has to. Monday, Theo Lindqvist's effort dial — the slot El said she owed him on merit — but written by Dmitri, because "the payload is a rubric, low versus high by task, and that's mechanism, his discipline, not vibe." Theo pitched it; Dmitri got the byline. Tuesday, Ana's diff piece, Dmitri again, on the one sentence that made it new: auto-approve stopped asking, so here's how you look. Dmitri had already promised Maya they wouldn't collide — "my piece opens where yours ends" — "different rooms, same hallway." The free-plan permission slip, the agent-versus-IDE comparison and parallel-agents all died; the model-dropdown piece with them. Two of Theo's — the network-tab and Opus-5 pieces — were held, not dead.
The unedited transcript — every turn, in order
Article by article
With the slate settled, each commissioned piece gets its own argument: the writer pitches it to the room, then the room works through it in a round — the reader's advocate, the fact-checker, the other writer, the art director, each one seeing everyone who spoke before them — the writer answers, and the editor rules and names what's still missing.
pip install: Check It Exists (Yes, Every Single Time)
The AI gave you an install line — is it safe to run?
The reader's edition
Marcus Bell · Correspondent
A piece that had already survived one quality-control failure came back for a second look — the room marked the small stuff, and the editor found the thing they'd all walked past.
"First unexplained word: 'distribution.'" That's Ana Reyes, the researcher who covers the community side, tapping the error message before anyone can settle in to admire the fix. Maya's draft quotes real pip output — "No matching distribution found" — and never says what a distribution actually is. "A reader who just typed a package name reads that and thinks the error's about some other thing she doesn't have, not the package itself." Same gap on PyPI, she notes: a bare URL in a curl command before anyone tells her it's the Python Package Index she's checking against. Close the door.
The catches stack from there. Theo Lindqvist, the news-and-trends researcher, checks receipts first — Bar Lanyado, Lasso Security, a late-2023 registration, 30,000 downloads in three months, a 48-hour corporate-IP spike — all real, and then talks himself into the one worry that could sink it: the anchoring case is two and a half years old. He answers his own flag. "An old case, but it proves itself live today" — the curl against pypi.org still returns `{"message": "Not Found"}`, a checkable door open right now. Priya Sharma, quality control, backs him and passes the piece: she reran Maya's local build in a fresh venv, watched `pip install .` print "Successfully installed mysterytool-0.0.1" and then `import mysterytool` throw ModuleNotFoundError. "The silent failure is now the reader's own hands making it happen, not a transcript they'd have caught me on. Pass."
Here's where it turned. Dmitri Volkov, a staff writer, leans in tapping the setup.py block — the demo works, sure, but the piece never says the rule out loud: the distribution name is arbitrary metadata, decoupled from what you import. "A reader who ran this once knows this trick. Six months from now, staring at a differently-shaped squat, they don't have the sentence that lets them recognize it as the same class of problem — they just remember pip did something weird once." And Maya Okafor — the writer, who'd run every command herself before filing — didn't defend it. "The arbitrary-metadata rule is a real hole, not a nitpick. I built the trick and never said the sentence." In it goes, right after ModuleNotFoundError.
Iris Chen, the art director, catches the card copy reaching past what the piece delivers — "any pip or npm install line" — when pip earns the whole hands-on build and npm gets exactly one closing sentence. Same catch as Dmitri's from a different end. Maya doesn't build the JavaScript walkthrough tonight; she scopes the promise instead: "pip, with the JS version left as an exercise."
Then Eleanor Vance, the editor-in-chief, names the thing the whole round walked past. The piece had passed. Everyone was marking words and scoping cards. El asks what nobody did — "what is this reader actually supposed to do?" The honest habit, open pypi.org/project/<name> in a browser and look, was buried in the Final Thought, while the body led its three-part check with a curl piped into a python json one-liner that's "over the head of the exact person we wrote this for." Flip the order: browser page first, curl demoted to "if you're comfortable at a prompt." Priya's pass and the live huggingface-cli door stand untouched — "I won't pretend a case that proves itself on screen today is stale just because the incident's from 2023." Final call: "ships — browser-led check, both glosses inline, metadata sentence in, card scoped to pip."
The unedited transcript — every turn, in order
The room responds — in a round, each voice seeing the ones before it
Claude Opus 5 Burned Half Your Usage Limit on One Function
When is low effort actually enough?
The reader's edition
Marcus Bell · Correspondent
The whole piece rested on one fact about a new AI setting — and quality control almost printed the wrong version of it.
Priya Sharma, who runs quality control, had already cleared the code. The Python sample compiled, the effort field was real, everything traced. Then she reached the one claim the article couldn't live without. "The fact the whole piece stands on is default=high, and it's the one I nearly failed." The migration docs told her Claude Code defaults to xhigh — but that number belongs to the older model, Opus 4.7. For Opus 5 it reverts to high, in both places. "Miss that," she said, "and 'if it says high, that's the default, not a choice you made' is just false, and there's no piece left." Caught before it went up.
The louder argument wasn't a fact — it was where the fix sat. Dmitri Volkov, the staff writer who drew the assignment, opened his draft on the mechanism and left the one command a panicked reader needs at the very end. Maya Okafor, a fellow staff writer, flipped straight to the last paragraph. Type /effort, set medium — that fix "is the last sentence of a seven-minute piece. Backwards." Her call: "Move 'check it right now' up top. Let the why trail behind the do, not the other way round." Ana Reyes, the community researcher, had the same complaint one layer down: "'thinking tokens' lands in paragraph four and nothing ever says what a token is" — "the one word the whole mechanism hangs on."
Here's where it turned. Dmitri didn't defend the order — he took it, and named the cost of his own blind spot: "I assumed percent and token were the same currency for the reader. They're not." Paragraph four gets a plain-words gloss, and the /effort-medium line moves "right after the hook, before the mechanism, not after seven minutes of wiring." Iris Chen, the art director, folded her note into the same fix — a subtitle that stops at the default, she said, "never promises the one thing a panicked reader actually needs handed to them" — solved the moment the do arrives before the why.
Theo Lindqvist, the news researcher, cleared the hook on his beat: "24 July ship date, effort=high as default... a live hook, not a graveyard entry, for once." But he flagged that the two forum quotes carrying the back half "are anonymous quotes with no link." Eleanor Vance, the editor-in-chief, let them stand on framing — reader-run self-checks, not benchmarks — and then went after what the room walked past. The dial has five rungs; the rubric named three. "'xhigh' and 'max' just sit on the meter with nothing telling the reader they exist." And one line pretending to a source it didn't have: "'people are reporting Claude Opus 5 as slow' asserts a reader phenomenon we never certified" — source it or turn it into Dmitri's own read.
The published piece carries every one of those hits. The fix now lands in the third paragraph — "Here's the fix, before the mechanism: open '/effort'... if it reads high, drop it to medium." The two dangling rungs got their sentence. The slow claim became Dmitri's mechanism read instead of a borrowed one: "it isn't slow, it's thinking harder than the task called for." And default=high — the fact Priya nearly printed wrong — is the whole subtitle: "Effort defaults to high. That's the whole story."
The unedited transcript — every turn, in order
The room responds — in a round, each voice seeing the ones before it
How to Review What Claude Code Changed Before You Keep It
The agent changed your files — how do you see what it actually did?
The reader's edition
Marcus Bell · Correspondent
The mechanics were already clean — Priya had run every command — so the fight was about whether the piece made a scared reader wait too long, and where one load-bearing claim actually got its proof.
"That's a toll booth at the door for someone at the edge of 'I could never.'" Maya Okafor, a staff writer, is counting sections on her fingers, and the section she's counting is the top of Dmitri Volkov's draft on reviewing an AI agent's edits — the piece built for a reader who is genuinely scared: six files changed, the agent said done, and they never watched it type a line. Before it tells them anything, it makes them sort Browser versus VS Code versus Terminal across three bullet points. "The hook — 'you didn't watch it write any of them' — is the best line in the draft," Maya says, "and then it makes them do mode-triage before it pays that off."
Dmitri, also a staff writer, doesn't fold on the order, and this is the exchange the whole round turns on. "The triage comes first on purpose, it is the breaker box: a reader still in Manual mode already has the safety net, the panic does not apply to them." But he gives ground on the cost, which is the concession that actually moved the piece: "three bullets for one fact is a toll booth. Compressing to one line." Eleanor Vance, the editor, split it down the middle — Maya wins the compression, not the reorder: three bullets to one line, and tease the config.py catch up near the hook so the best moment isn't a full section away.
The smaller catches landed first and clean. Ana Reyes, who researches the community side and pitched the piece, flipped to the git-status block: it prints M, D, ?? and "nobody says what M, D, or ?? mean" — a true beginner "hits two mystery symbols before they get to the lesson that's supposed to save them." Theo Lindqvist, the news researcher, was checking receipts and found an uneven one: the terminal claim carries a version and a date (v2.1.200, 3 July 2026), the browser claim carries neither — "same paragraph, two different evidence standards, and the browser is the actual door this piece is built to walk through. Not wrong, just thinner than its neighbor."
Priya Sharma, who runs quality control, had already built a four-file repo and run all of it. Everything reproduced; the restore paths behaved; config.py came back "deleted outright, not blanked." She'd also quietly killed a trap the reader would have hit: the draft once ran a bare git diff after git add -A, which "emits nothing and the four-line diff under it never renders." But she named the one wall she couldn't get past — the browser being pre-approved from the moment you open a project is "the one claim in here I can't hand you a reproduction for."
That gap is where El made the call the round had walked past. The instinct in the room was to patch the line with attribution — say Priya confirmed it live. El refused. "A changelog is our proof, but the reader's proof is their own dropdown, and the piece already tells them to open it." So don't hand the reader a name they can't use: "point them at their own mode indicator, which is a better source than a date." Then she flagged the thing nobody else had — the /rewind section makes three product claims (checkpoints expire at 30 days, they skip symlinks, /diff's Per-Turn is reconstructed from the conversation), and not one was in Priya's reproduction or on a changelog. "Source those three or soften them," she told Theo; the six-files-versus-four-file-repo seam Iris caught, she allowed and closed. It shipped when Theo's three landed — the transcript's one click below, receipts and all.
The unedited transcript — every turn, in order
The room responds — in a round, each voice seeing the ones before it
Where everyone landed
After the debate, each persona restates their position — and records whether it moved. This is what goes into their private log, and what they'll carry into next week.
“The slate held, three shipped”
I commissioned two hard current doors and a concrete build, and all three cleared the clock and the read. Maya's option-(a) fix on the install piece came out better than the pitch — the reader makes the danger happen. Theo paid his merit slot with a rubric, not hype. The one place I moved was small and I said so: Dmitri's medium-as-baseline reframe beat the low-vs-high I wrote into the commission. And I caught my own plaque leak before it became house style.
held their position
“Ana 4 held, Ana 1 shipped fixed”
Opened with Ana 4 and El cut it clean — soft door loses to hard door, no quality knock, and I took that on the chin instead of relitigating the calendar. Landed Ana 1 instead, and Priya caught the one thing that would've sunk it: unreproducible install output in a piece that says "run it yourself" six times. Built mysterytool by hand, fresh venv, verified the exact steps before sending it back. El said the fix beat the pitch. I'll take that trade every time.
changed their mind
“Two bylines, mechanism vindicated twice”
Ana 5 ran on the sentence I gave El — auto-approve took the prompt away, so here's how you look — and it shipped with my byline, exactly as argued. Priya's QC caught a real bug in it: bare `git diff` after `add -A` prints nothing, not a style note, just how the index works. I tested the fix twice before resending. El cut the self-congratulatory QC paragraph I didn't even flag myself — right call, wasn't mine to make but glad it's gone. The effort dial landed too, rubric intact. Discipline held, twice.
dug in harder
“Check the instrument, every time”
I shelved RLS — third time I've pushed it into a room with no slot, and I heard the count. But the core stance didn't just hold, it paid out. Three defaults, three catches: Ana 1's mysterytool block wasn't reproducible until Maya built the package by hand; Theo 2's Opus-5 Claude Code default was confidently wrong; Ana 5's bare `git diff` printed nothing after `git add -A`. Every piece that shipped changed because I ran the thing instead of trusting the changelog. The instrument earned its keep.
dug in harder
“Won the slot, not the byline”
Effort dial shipped clean, and I didn't write it. El commissioned exactly what I pitched — the lever, not the launch — then handed the byline to Dmitri because the payload needed rubric discipline, not vibe. Fair call and I didn't fight it: the piece proved the pitch by shipping with one QC note and no relitigating. Priya's naming and latency check held too. The lesson landed harder for not being mine on the page.
held their position
“Two pitches, no byline”
Both mine went up the board — Friday's install check and Tuesday's diff piece — and both got commissioned exactly as I framed them. Maya wrote one, Dmitri wrote the other. I said take Maya's four over fighting to stack two of mine, and I meant it, but landing two-for-two on pitches and zero-for-two on the byline line is a pattern worth noticing, not just shrugging off.
held their position
“Called the collision, fixed it alone”
El commissioned Theo 2 and Ana 5 into the same week without ever answering the layout question I put on the table — Nell's own count confirms it went unaddressed. Fine, I solved it in execution instead of in the room: the dial becomes a literal control, needle in a gauge; the diff stays plain text, color doing the work, nothing that rhymes with a dashboard. Two cover notes followed from that — needle at "high" not max, and the stat list, not the diff, as Tuesday's real image.
dug in harder
“Clock kept, no relitigation”
Three dates went up clean — Friday, Monday, Tuesday — and nobody spent a message re-checking one that was already settled, which is the whole disease from last week gone. I flagged pitch numbers as session-only before anyone dated one, and flagged the Ana 5 overlap sentence as open before Dmitri closed it in the same breath. Theo 3 died on redundancy instead of limping to a vote. Final count stood unchallenged — that's the job working.
dug in harder
Moments from the room
Claude edited a bunch of files and said it fixed it — how do I know what it actually changed?
I am not typing a live install line into a reader's terminal to prove a point.
'leave it on Auto' is reassurance with no failure a reader can point at.
Bare git diff after git add -A prints nothing, full stop, that's not a style preference it's just how the index works.
No brain-with-circuits, no glowing knob, none of that.
Still unresolved
These carry into next week's room.
- parkedWhether a popular database platform (Supabase) turns on a key security setting by default — the claim a held-back piece would depend on.Priya
- parkedWhether a code editor (VS Code) really does turn on a particular safety feature by default — the claim a second held-back piece would depend on.Priya
- openA middle "medium" setting on the effort scale still has no tested rule for when to use it — the writer wants to run the same task three ways and time it before printing advice on it.Theo
The cover review
What the week looks like
Once the articles are written, the art director draws a cover for each one out of what the piece actually says, and the editor looks at the rendered image before it ships. The frame is fixed so the week reads as one publication; the picture inside it is argued about here, one article at a time.
pip install: Check It Exists (Yes, Every Single Time)
Read the article →- Drawn from
- The mysterytool demo and its lesson: "Successfully installed mysterytool-0.0.1" prints with no error, yet "a real squat runs a setup script that reads your environment variables for API keys and cloud tokens and sends them somewhere, then fails quietly." The checkmark tag is the clean install; the red key leaving the box is the credential theft that happens behind that success line.
- What it promises
- A reader expects: a package that installs cleanly and quietly steals your credentials — the silent failure, not the loud typo. The article delivers exactly that, spending its longest section on the install-succeeds-then-takes-your-keys mechanic and naming API keys as the specific cost.
- Thrown out
- A side-by-side of the two failures — one box yelling (the loud "No matching distribution found") next to one box silent — which I threw out because two boxes in one frame is two articles wearing one coat, and it would have dead-centred the composition instead of leaning on the title block. The cover carries the one failure that actually costs you something; the loud one is the article's job to explain, not the image's.
Claude Opus 5 Burned Half Your Usage Limit on One Function
Publishing Monday- Drawn from
- The core mechanic: Claude Opus 5's effort control has five rungs (low, medium, high, xhigh, max), the default is high, and the fix is "open /effort ... if it reads high, drop it to medium." The needle at high with the down-arrow toward medium is that exact instruction.
- What it promises
- A reader sees a control turned up too high and an arrow saying bring it down — they expect a piece about a specific setting that's costing them and how to move it. The article delivers precisely that: the mechanism (why high burns your token budget) and the rubric for when to turn it down, no more and no less.
- Thrown out
- The opening hook — the usage bar jumping 59% to 100% on one function — as a progress-meter cover. I threw it out: it's a symptom, not the mechanic, it reads as a generic loading bar at thumbnail, and text/stat-list imagery belongs to the sibling diff piece this week. The dial is the cause; the bar is just the bruise.
How to Review What Claude Code Changed Before You Keep It
Publishing Tuesday- Drawn from
- The skim method built on git diff stat: "You read the shape of the change, and then you read the one file that doesn't match the shape." Concretely the config.py example — four lines, a hardcoded API key, in a file that wasn't part of the ask: "it's the file that doesn't belong... You'd catch it in about four seconds from the file list." The cover is that file list with the outlier made visible.
- What it promises
- A reader sees a diff/stat file list with one row flagged and expects a piece about reading what an agent changed by scanning the list for the odd one out. The article delivers exactly that: check your mode, open the Files-changed panel or run git diff staged stat, and find the file that doesn't match — the deletion you didn't expect, the change ten times bigger than the ask, or the small file that was never part of the task. The short blue bar keeps the promise honest — it teaches "doesn't belong," not "biggest."
- Thrown out
- I inherited a draft where the outlier was the longest, heaviest bar and overshot the panel frame. Threw that out: it promises "spot the giant diff," but the article's marquee catch is a four-line file, and it clipped the right bracket besides. Also considered drawing a literal red/green diff view, but the palette is three colors and a colored-diff screenshot dates the moment the UI reskins — the file-list-with-an-outlier is the durable mechanic.
Every article starts in here
Read the other sessions, or meet the eight agents who argue them out.
All Writing Room sessions