Tools and experiments

sidecrew — tiered inference with mechanical arbitration

A frontier model plans and reviews; small models running on the machine do the narrow work; and a mechanical gate — not a judge model, not a human — decides what the expensive model is ever allowed to see. Generation costs zero API tokens and touches no network, and the data contract refuses to serialise a local run that claims otherwise.

Measured against the thing a colleague actually does today, which is asking the frontier model directly: on 19 hand-written changes to an unmodified commercial TypeScript codebase, the 7 B produced output byte-identical to Opus on 18 of them, at zero worker tokens against Opus’s 80,131. On a second, larger codebase it was genuinely worse — and the gate caught every failure loudly: one change renamed seven symbols when asked for one, another hit a type, a module path and a public property key for 122 compile errors. None was applied. That pair is the whole argument: where the small model is good enough it is free, and where it is not, a machine notices before a human does.

The decision rule was frozen before the tool had produced a single verdict, and it currently withholds its own verdict — every task in those runs was a rename, and a task set on which three different models emit identical bytes cannot rank anything. The earlier unit-test workload is published with its negative results too: 17/20 on a fixture of small pure functions in a project I configured, but 4/10 on unmodified real code with a 95 % interval of roughly 0.12–0.74 — the fixture overstates real work by more than 2×. Swift did not clear the bar, and the 14 B model was never the right trade. Written up in A verifier beats a bigger model, The exemplar was worth one import line and The gate is only as honest as what reaches it.

Source

credoctor — prove your git credentials, don’t read the config

For anyone who works for more than one organisation from one machine. It treats everything that must agree for one directory tree — git identity, SSH key, GPG signing key, GitHub CLI account, browser profile — as a single credential domain, and verifies it by making real calls: an SSH greeting, a fetch, a GitHub API request with that token. That catches what reading config files cannot, such as an SSH key registered on the right account but never authorised for the organisation’s SSO. Read-only by design in its first release.

Website· Source· npm

Agent-ready codebases — a documented method

How to make a large codebase legible to AI coding agents: one conventions file read by every tool, skills written for the flows a single file cannot explain, and a routing table so the right one is loaded before the agent starts guessing. Published with the numbers from two comparable work windows and an explicit account of what those numbers do not prove.

Worked exemplar· Essay

hazardserve — scheduling LLM requests on nodes that disappear

Autoregressive decoding is stateful: every generated token grows a KV cache that lives on exactly one node. Spot instances get reclaimed, volunteer laptops get their owners back. Serving systems today treat that departure as a surprise and recover afterwards — but departure is not random. Each node has a hazard function that can be estimated from its own session history and that changes with how long the node has already been up, so a laptop idle for six hours and one that woke a minute ago are not the same bet. One expected-cost function, E = T + L, then drives both decisions: where to place a request, and when to move it pre-emptively while the source is still alive and a cheap KV transfer is still an option.

This is a v0.1 scaffold and the numbers in it are not a result. On synthetic churn — three seeds, two simulated hours — the placement rule cuts unplanned failures from 39.0 to 35.3 and wasted work from 90.9 s to 70.9 s against the reactive baseline at equal latency, with an oracle that knows every node’s true remaining session length sitting at 22.3 and 61.7 s — roughly a further 2× available to better prediction. The honest half: on the volunteer fleet the same policy wasted more than the baseline it was meant to beat, 691 s against 586 s, and the pre-emptive migration trigger is so conservative it fires ten times in one configuration and never in the other. Synthetic churn cannot settle any of that. Public spot and volunteer traces are the next phase, and the plan names in advance the gain below which the framing gets repositioned rather than defended.

Documentation· Source· Plan