Skip to content
The Handover

Packs

Testing without the live service

Drive the interface by stable identity and fake the network, so a full journey runs headlessly with no live external calls.

Assumes:An application with a user interface and at least one external dependency you do not own. Tool-agnostic: the tiers and the two seams transfer, only the tooling changes.

Download 3 documents + MANIFEST

Contents

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

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

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

MANIFEST.md

Shipped inside the archive. Reproduced here so you can read it before downloading.

# Testing without the live service

Drive the interface by stable identity and fake the network, so a full journey runs headlessly with no live external calls.

Source: https://the-handover.org/packs/testing-without-the-live-service
Built: 2026-08-29
Documents: 3
Licence: Handover-1.0 (© Captivated Ltd) — https://the-handover.org/licence

## What this pack assumes

An application with a user interface and at least one external dependency you do not own. Tool-agnostic: the tiers and the two seams transfer, only the tooling changes.

## Contents

### docs/ui-testing-agents-can-run.md

Title: UI testing an agent can write and run itself
Summary: Drive interfaces by stable identity rather than pixels, in tiers, so tests are headless, deterministic and fan out.
Authors: Leon Mallett, Founder of Captivated Ltd (captivated.online)
Source: https://the-handover.org/docs/ui-testing-agents-can-run
Last confirmed working: 2026-08-21
Marks: Hard-Won
SHA-256: 631368f5ef7a2daabbc1e7000c15d3258bcde07452959a3b1dd5527b636dc26f

### docs/faking-external-services-for-tests.md

Title: Faking an external service you do not own
Summary: 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.
Authors: Leon Mallett, Founder of Captivated Ltd (captivated.online)
Source: https://the-handover.org/docs/faking-external-services-for-tests
Last confirmed working: 2026-08-21
Marks: Hard-Won
SHA-256: b5199ecb949fda3e7aacc4eaabf5284c0e8b4259e9cf43ac8bb94685d1475f26

### docs/verification-that-cannot-fail.md

Title: Verification that cannot fail
Summary: Three ways a passing check reports success without ever being able to report anything else.
Authors: Leon Mallett, Founder of Captivated Ltd (captivated.online)
Source: https://the-handover.org/docs/verification-that-cannot-fail
Last confirmed working: 2026-08-11
Marks: Hard-Won
SHA-256: d0d7c9e91d69583b60cd53a9d8a2ef169a787ebfc532c84c71a1378edc8ff683

## Licence and attribution

Copyright is retained by the authors and Captivated Ltd. You may use these
documents in your own projects — private, public, commercial, client work —
and adapt them to fit. What is reserved is republishing the collection as a
collection: mirrors, or catalogues assembled out of these documents.

Each file carries an attribution header naming its authors, its source and the
date it was last confirmed. Keep it: once a file has been separated from this
pack, that header is the only thing that still credits the person who wrote it.

## Verifying this pack

Each SHA-256 above is of that file exactly as it appears in this archive. Verify one
with `shasum -a 256 <file>`; a file whose hash does not match was modified after
packaging.

Document files are byte-reproducible: the same source document, at the same
confirmation state, always produces the same bytes. The archive as a whole is not,
because this manifest records the build date above — two builds on different days
differ in that line and therefore in the archive, while every document file inside
stays identical. The per-file hashes are the thing to check.