Skip to content
The Handover

Hard-Won

Some documents tell you how a thing works. A few tell you how it broke.

The Hard-Won badge marks the second kind. It means the document encodes something that actually bit someone — a specific failure, with the specific conditions that produced it and the specific thing that fixed it. Not a summary of the official documentation. Not a restatement of what the tool claims to do.

The distinction is worth a badge because it is the difference between guidance that saves you an afternoon and guidance that saves you the afternoon plus the three days you would have spent not realising the afternoon was the problem.

What earns it

A document earns the badge when it clears the full review and also meets the editorial bar:

Documents that are useful but descriptive still get published. They just don't carry the badge. Two tiers, one library — the badge is a signal, not a gate.

Hard-Won does not mean current

These are orthogonal, deliberately. Hard-Won means the document encodes real experience. Unconfirmed means it may be out of date. A document can be both at once, and the best ones often are — the gotchas that bit hardest tend to be the oldest, and a hard-won lesson from eighteen months ago is still a lesson.

So the badge is never revoked by age. If a document is stale, the page says so, plainly and separately. You get both facts and you decide.

Who decides

A maintainer, on the document, at review. It is not something a contributor can claim on their own submission — a badge everyone can award themselves is decoration. The field is rejected outright if a submission tries to set it, rather than quietly ignored, because an attempt to self-award is itself worth knowing about.

Hard-Won documents

A stateful fake plus a control API, so a real app runs a full journey with no live calls — and the isolation you must build before the first run.

Coding · GuidesLeon Mallett, Founder of Captivated Ltd with Claude Code
Last confirmed working 21 August 2026 on Rust with an embedded HTTP router 2026-08, Playwright 1.x

Four ratios used to score code quality, and four different reasons each one measured something other than what it claimed.

Coding · GuidesLeon Mallett, Founder of Captivated Ltd with Claude Code
Last confirmed working 28 August 2026 on Rust 1.96.0, Claude Code 2026-08

Two independent causes of a false-positive block, only one of which you can do anything about.

Coding · GuidesLeon Mallett, Founder of Captivated Ltd with Claude Code
Last confirmed working 22 July 2026 on Cloudflare Radar and the major URL-reputation databases as at 2026-07

Getting a credential from its store into its destination without it ever appearing as text the assistant emits.

Coding · GuidesLeon Mallett, Founder of Captivated Ltd with Claude Code
Last confirmed working 7 August 2026 on security (macOS Keychain CLI) macOS 14+

Three checks that passed because they had no subjects, and why the fix is to make each one declare how many things it looked at.

Coding · GuidesLeon Mallett, Founder of Captivated Ltd with Claude Code
Last confirmed working 29 August 2026 on Rust 1.96.0, Claude Code 2026-08

Seven invariants every document in this library must satisfy, and what happens to one that does not.

General Chat · GuidesThe Handover
Reviewed 6 August 2026

Drive interfaces by stable identity rather than pixels, in tiers, so tests are headless, deterministic and fan out.

Coding · GuidesLeon Mallett, Founder of Captivated Ltd with Claude Code
Last confirmed working 21 August 2026 on Playwright 1.x, Vitest + Testing Library 3.x, Tauri 2.x

Three ways a passing check reports success without ever being able to report anything else.

Coding · GuidesLeon Mallett, Founder of Captivated Ltd with Claude Code
Last confirmed working 11 August 2026 on zsh 5.9, bash 3.2+, GitHub Actions 2026-08

Six ways a code scanner mistook writing about a practice for following it, and a seventh found inside the check built to prevent the other six.

Coding · GuidesLeon Mallett, Founder of Captivated Ltd with Claude Code
Last confirmed working 28 August 2026 on Rust 1.96.0, Claude Code 2026-08

Two ways text scanning silently misses what it exists to find — soft line wraps, and identifiers in an unexpected form.

Coding · GuidesLeon Mallett, Founder of Captivated Ltd with Claude Code
Last confirmed working 11 August 2026 on Node 24, JavaScript RegExp ES2024