Dated snapshot, not a manifesto

What I think is happening

As of August 2026What changed

Three things I currently believe about building and running AI systems, each one built from something I measured on hardware I own rather than something I read about someone else's. This isn't a position I'm defending — it's dated on purpose so it can be wrong safely. When a claim stops matching what I see, I rewrite it and log the change below instead of quietly pretending I always thought that.

1. Evaluation is the bottleneck, not capability

I ran an LLM judge in production for months, trusted its verdicts, and shipped changes on the strength of them. Then I gave it two drafts generated from an identicalconfiguration — same prompt, same model, same settings, differing only by sampling noise — and asked it to pick a winner. It picked one, confidently, with reasons, about a third of the time. Every A/B result I had produced before that test wasn't simply wrong, it was unreadable: it sat on top of noise I had never measured, and a 55% win rate had not beaten anything if the instrument invents a preference out of nothing 33% of the time on its own.

Full account: My LLM judge was flipping a coin a third of the time.

What would change my mind

If I reran the identical-configuration test against a newer judge model — or replaced the judge with human raters doing the same comparison — and the noise floor came back near zero instead of a third, I'd stop calling evaluation the bottleneck and start calling it a tooling problem I already fixed.

2. Autonomous systems fail in ways that look like success

The Agentic Daily researches, drafts, judges, and publishes an edition every day with nobody holding the merge button. A system like that doesn't announce when a part of it breaks — it keeps shipping, and a green checkmark is not the same claim as a correct one. The clearest example I've measured: constraining a model's output with a decoding grammar took a task from 121.9 seconds to 1.4 seconds on identical input. Both outputs passed schema validation. Only one of them had actually reasoned about the question — the grammar forces the first token, so the model never enters its reasoning phase at all. The JSON stayed green while the answer quietly got worse.

The same shape shows up a layer down, in the inference server itself, on the same class of hardware the newsroom depends on. One completion I captured came back with its full token budget spent, HTTP 200, empty content, and reasoning_tokens pinned at zero — no error, no partial output, nothing in the response a caller would normally trust to say anything had gone wrong. Just nothing, successfully.

More on the newsroom: The Agentic Daily. The completion above: the empty-reasoning field note.

What would change my mind

If I instrumented a pipeline like this end to end — content checked against token counts, judge verdicts checked against a measured noise floor, every stage made to prove it did what it claims — and stopped finding new blind spots, I'd stop assuming there is always another one. So far, every serious look has found one.

3. The undocumented frontier is closer than it looks

“Frontier” usually means something abstract and far off. On my desk it has meant: I bought current-generation hardware, and the software did not know it existed yet. DGX Spark's GPU identifies as SM121. vLLM's FP8 kernels were guarded by a compile-time check for exactly SM120 — __CUDA_ARCH__ == 1200 — and executed a deliberate trap instruction on anything else, including hardware one number past the one the guard was written for. The fix was two lines, widening an equality check to a range, and nobody had published it yet.

That was one of nine failures I've documented on this machine so far: a build that only fails on aarch64 because a CUDA call was compiled against a signature the driver doesn't have; a structured-output grammar that, past roughly 28 registered tools, keeps a model generating tokens nobody ever receives; a different model on the same box deadlocking silently around seven hours in, still answering health checks while producing zero tokens per second. None of this is exotic, and it isn't all about hardware: the tool-count ceiling scales the same way on any machine — its own note says so outright — while the SM121 trap and the aarch64 build failure are what new hardware concretely costs before the software catches up. Either way, undocumented failure surface is where I've spent most of my actual engineering hours this year.

The running list, updated as I hit the next one: field notes.

What would change my mind

If the next hardware generation I bought ran the same class of workloads for a month without a single architecture-guard trap or undocumented parser gap, I'd stop treating this lag as structural and start treating my nine notes as a one-generation fluke.

What changed

I will get some of this wrong. This log is where that becomes visible instead of quietly disappearing — every entry below is a real edit to a claim above, not a changelog for typos.

  1. August 26, 2026

    First version. Written the same day I measured my own LLM judge and found it was manufacturing a confident verdict on identical drafts a third of the time. Read the post →

Last updated August 26, 2026