Maximizing GPU Power Under a Noise Cap with Valve-Position Control

Written with Claude. Same control loop, opposite target: I ended up running the exact sequence a chilled-water plant uses to reset its supply temperature, on a GPU, to hold a fan at a noise budget instead of driving a valve wide open. ...

July 9, 2026 · 12 min · 2414 words · Chris Hughes

Guarding a Ghost

Written with Claude. The sentinel that existed to remember what the system forgot The clearest example of a ghost-guard (a check that protects against a condition that no longer exists, or never should have) I’ve found is one the field-assessment platform created for itself. On every re-cost pass, the cost agent (the automated step that recalculates repair costs) re-emits an engineer’s years override under its own author tag. That one round-trip erases the human-authored signal from the append-only event log (a tamper-evident journal of every change, keyed by author and timestamp). The system then stamps a sentinel flag called _years_auto (a presence marker the gateway reads to infer ownership), so it can later infer whether an engineer or the agent wrote the value, because the round-trip already destroyed that information. ...

June 13, 2026 · 5 min · 976 words · Chris Hughes

Finishing the cutover took three Claudes

Written with Claude. The governor issue closed mid-session At 16:52 UTC on May 22, meap2-it issue #1352 (“No Syncthing reads at runtime on dev-pi”) closed. That was the cascade governor: the issue that couldn’t close until every leaf under it had closed. Three concurrent Claude sessions across three repos for one focused day got it there. One session couldn’t have done this work at any speed. The cascade structure (a named invariant at the top, leaves underneath, each leaf owned by whichever repo holds the bytes) is what made parallel finishing possible. Some cross-cutting architectural debt isn’t single-session work; the cascade is the shape that admits parallel work closing it at all. ...

May 22, 2026 · 12 min · 2491 words · Chris Hughes

Memory files prime LLM style: the four-op audit and the deterministic-then-LLM pattern

Written with Claude. Every session loads the gotchas file, and the gotchas file has a style I kept needing to invoke /minto or ELI7 to break down Claude’s responses into plain language. Every session. Reliably. The root cause, I eventually understood, wasn’t the model: CLAUDE.md and the memory-bank files don’t just carry constraints, they prime the style the model writes back in. Dense comma-stacked gotcha bullets in, dense comma-stacked responses out. ...

May 22, 2026 · 10 min · 2026 words · Chris Hughes

No Daemon Isn't No Special Software

Written with Claude. Claude Said SQLite Would Work Fine, and I Pushed Back This has happened more than once. A storage problem comes up during MEAP’s development (sync conflicts, history, recovery) and the suggestion arrives: use a database. SQLite is the usual recommendation. It’s the right answer for most teams, and it’s the first tool in the context window for good reason. ...

May 20, 2026 · 7 min · 1401 words · Chris Hughes

Fixing my scroll wheel broke the case for switching mom to a Mac

Written with Claude. The scroll wheel that only works if you mean it Three days into using a MacBook as my daily driver, and I had one persistent annoyance: rolling my Logitech mouse wheel slowly, one notch at a time, did nothing. The page just sat there. Roll it with real intent, with the kind of spin you’d use to get somewhere fast, and the page lurched forward. The trackpad, six inches to the right on the same machine, tracked an arbitrarily slow two-finger drag without skipping a beat. Same laptop, same OS, same scroll event as far as any application should care. ...

May 15, 2026 · 10 min · 1963 words · Chris Hughes

Same Architecture, Different Verdicts: Eight Signals for Scale-Contingent Design

Written with Claude. Writing the Counterfactual Made the Answer Obvious The problem we were solving is simple to state: every piece of equipment in an engineering assessment report needs a defensible replacement cost. Where did that number come from? How confident are we in it? Could a client or a peer reviewer trace it back to a source? Answering those questions for hundreds of items across dozens of projects is the whole job. The system we built to do it had one sentence at its core: put the correct number into a file safely. ...

April 26, 2026 · 11 min · 2260 words · Chris Hughes

Spec-to-Kill, Forward

Written with Claude. The direction I wasn’t using Last week I wrote about the spec-to-kill method. Short version: I had an MCP server I’d built six months earlier, cargo-culted into eleven tools, genuinely useful but Rube Goldberg. I couldn’t decide whether to clean it up or rip it out. So Claude and I specced the best possible version (handler separation, schema validation, four clean tools), and then I asked whether even the ideal version earned its keep. The answer was no. grep handled the dataset. The spec became the teardown blueprint. ...

April 21, 2026 · 10 min · 2083 words · Chris Hughes

ELI7 Is Load-Bearing

Written with Claude. A Session I Mostly Didn’t Run I noticed something today while closing out a Claude session. The epic I finished implementing, #349 Parallel Agent Dispatch Quality, was three sub-issues I had not written. Prior sessions of mine had written them. I had no real memory of the specifics. The code-reviewer agent sometimes ships findings that are wrong. Three parallel reviewers produce prose the coordinator has to manually merge. Parallel implementation agents rename things in their own files and leave stale references in sibling files. Each of those is a filed issue with a proposed mechanical fix in the body. ...

April 18, 2026 · 4 min · 824 words · Chris Hughes

The Bot With No Browser

Written with Claude. I was about to build the wrong filter I have a lot of GitHub issues on my field-service app. A hundred and sixty-one open, mostly written by me, about my own tool. Most of them I still want to fix. Some of them became stale before I got to them. ...

April 18, 2026 · 8 min · 1539 words · Chris Hughes