Six Plans for one thesis (and the rename to Charter)
The first systematic experiment, and the day Plan became Charter
The first systematic experiment, and the day Plan became Charter
Naming a design property that was already silently doing its job
Bun's Rust rewrite ran AI adversarial review at a scale worth studying — one model family, split context windows, and 1,386,826 test assertions as the final judge. StrayMark's audits look different because the target is different, and the difference isn't stylistic. When a passing test suite can be the judge, you isolate reviewers by context. When the judge is a human judgment call, you diversify by model family — and 25 audit cycles of real data show exactly why, including one family that went quietly blind.
The dry run proved that signal coverage — not granularity — was what kept 57% of the routing on low-confidence guesses. The fix was almost free. The person creating a unit of work already knows whether it's design, implementation, an audit, or mechanical labor; they know it for the cost of typing one word. So Baton discontinued title-scanning entirely and made a declared verb the single authoritative signal — then graduated it to the framework.
Follow-ups became StrayMark's second first-class entity — and within a day, two external migrations stress-tested the design. The reference adopter's deprecated bash script had been reporting "in sync" while 29 entries sat invisible to it.
Ten latent gaps surfaced in a single polish Charter, and the anti-pattern that earned a name
Baton's second phase finally looked at money — but it routed nothing. It classified the 762 work units StrayMark had already recorded in Sentinel, recommended a tier for each, and printed what a routing policy would have spent versus all-frontier. The headline was a ~93% illustrative ceiling. The honest reading inverted the experiment's own hypothesis — granularity was never the lever. Signal coverage was.
Loom's first release rendered the document graph live in the browser in under a second. It also drew 330 edges to nowhere. The visible feature was the easy part — making the references actually resolve was the work, and it taught us when a dangling edge is a bug and when it's a signal.
Before Loom could draw anything, StrayMark's document model had to stop being the CLI's private property. The refactor that shipped zero user-facing change was the precondition for everything visual that followed — and a small lesson the framework had been preaching to adopters all along.
A fourth experiment started with an economic problem — when the subscription subsidies end, all-frontier-all-the-time stops being affordable — and immediately ran into a structural one. You can't route work to a cheaper model if the work is drifting from its own plan; a cheaper router over forgotten intent only automates the drift faster. So Baton's first move touches no models at all. It reads the plan StrayMark had only ever proved *existed*.
The operator's real daily question isn't "show me the documents," it's "where are we?" Loom grew a second surface — the architecture as a building you can walk, in 2D and in 3D — and its technical-debt overlay was empty. Not because there was no debt. Because it didn't know where to put it.
StrayMark's audit is only worth anything if independent model families converge on a finding by themselves — agreement is the signal. A run of releases hardened that guarantee against three ways to fake it. The freshest is the sharpest — a router CLI injects its own product name, so an auditor stamped its report "qwen-code" even after the operator had switched the backend model. The convergence math was being fed a lie about who did the work.