# live-conformance/takedown — takedown across every rendition and cache The corpus of [`extensions/takedown.md`](../../extensions/takedown.md) §12, in one file, `vectors.json`: a **world** the cases share, the **cases**, each a case of §8.1 and what a verifier gives it, and the **counts**, each a counts record over named cases and what §9.2 gives it. The world holds the `registry` (the text of [`registry/takedown-clocks.json`](../../registry/takedown-clocks.json) as the repository publishes it), the service's `policy`, the derivation `records`, the origin `claims`, all as JSON texts, the delivery `receipts` of the two groups, as JSON values, and the `acknowledgements` (settlement §3), each its `record` and the `items` list of each of its entries, in hexadecimal. A case holds the members it sets (`notices`, `takedown`, `matches` and `purges` as texts, and `as_of` as a time) and any member of the world it replaces; the case a verifier is given is the world's members with the case's in their place. **Takedown equivalence.** For each case, a conforming verifier reaches the outcome it states: - `refuse`: the `reason` and its place, `at` (§8.2): `["registry"]`, `["policy"]`, `["notice", i]`, `["takedown"]`, `["record", i]`, `["claim", i]`, `["match", i]`, `["acknowledgement", i]`, `["purge", i]`, `["group", g]`, `["exact", k]`, `["closure", k]` or `["matched", k]`; - `accept`, `pending`, or `missed` with its `reason`: the `facts` of §8.3, every member of them, each time as its value in seconds from 1970-01-01T00:00:00Z. For each counts entry, a conforming verifier verifies its `cases` (by name, in order) at the counts' `as_of` and gives `accept` with the `rows` it recomputes, or `refuse` with the `reason` and `at`, `["counts"]` or `["case", i, …]`. A verifier that reaches another outcome, reason, place, fact or row does not conform. **Provenance.** `wai_takedown_vectors gen` writes `vectors.json` from records authored in code: every key is SHA-256 of the corpus's label and an index, every envelope is SHA-256 output of a label and is named only by its content hash, every time and text is a constant, and Ed25519 signing is deterministic, so the file is the same bytes on every machine. The registry is read from the repository's file, not authored here. The derivation records and origin claims read under their own extensions' rules and their signatures verify; their receipts, samples and recomputation are not part of what a takedown verifier checks, and the corpus does not make them consistent beyond that. The match method the corpus names, `wai-takedown:example-perceptual-hash`, names no algorithm: the corpus exercises the records, not a matcher. ``` python3 -I ../takedown_verify.py . ```