The change of wai/one-way-delivery (f1258784d..987625394, 28 commits), on the fix branch: its changelog entries as files of wai/changes/, its wai-conformance.yml edits as step files, corpus files and test tags, and every other file as the branch has it. - 25240c4f0 wai: timeliness — when each object of a group is of use, and whether each holder held it in time - c84992362 wai: timeliness_verify.py — the timeliness corpus's second implementation - 44036fcdc wai: timeliness in the registry, SPEC §5, the changelog and CI; http_receipts.py checks its claims - 27ce6754c wai: claim_verify.py lists not-held-by-deadline, and the claim corpus holds a session that switches for it - 73d8d8eb9 wai: timeliness corpus — each holder's own line in key order, a holder's earliest fallback, and §7.2–§7.3's unreached plan rules - 64c735f0c wai: the files timeliness changes are clippy-clean — a let chain, and the fetch callback's type allowed - b72dc36bf wai: rung price — what delivering a rung costs, by bearer and direction, and which option a comparer takes - 4e905e213 wai: rung_price_verify.py — the rung price corpus's second implementation - 711fa6126 wai: rung price in the registry, SPEC §5, the changelog and CI - 8ab70654e wai: rung price corpus — a refusal for every form rule 1 and §6.1 set, and the neighbour order a plan gives - 1bc465959 wai: rung price ranks energy by checked evidence — a class counts only on the seller's own per-hop records, current and under a confirmed key - 9e97997d9 wai: rung_price — the evidence text bound at its exact sizes, and a key confirmed for another class confirming nothing - 8f1168683 wai: rung price corpus — a key confirmed for another class, the uncertainty product, each edge and order of the evidence verdict, and the evidence a plan read - 7330e26ff wai: rung price — §6.1 links jwp-receipts at its first mention, and §10 says a record's age is its room's word - 12c099457 wai: cache authority — who served what a node holds, and on whose authority - f8f5d3e09 wai: cache_authority_verify.py — the cache authority corpus's second implementation - 354146619 wai: cache authority in the registry, SPEC §5, the changelog and CI; its corpus holds what §12 states - 55c7f3031 wai: timeliness §6 reads holdings records alone; cache-authority §9 derives the lines that read every kind - b8fc6f02b wai: cache authority's lines read records as timeliness does, its deadline claim meets the envelopes held, and its corpus fixes each order and instant - 91c5291cf wai: the files cache authority changes are clippy-clean — a boxed envelope, the base's names named once, slices borrowed - 8e479daff wai: a held envelope boxes both its forms, so neither outweighs the other - 3ec8da807 wai: impression aggregates — ad presentations counted over a bearer with no return path - 0433a35c3 wai: impression_aggregate_verify.py — the impression aggregates corpus's second implementation - 7d8e150e4 wai: impression aggregates in the registry, SPEC §5, the changelog and CI; its corpus states each receipt whole and a control for every malformed file - d5e8ace02 wai: impression aggregates' size bounds are checked at their edge, and §4.3's decides no outcome - 4bc8e13bd wai: impression aggregates' table totals are exact, and a receipt given twice is checked when either occurrence was - 3c9f20524 wai: key_log's two result enums keep their public form, and say so to clippy - 987625394 wai: Item::with_authority and Count::instance_received build only with the feature that calls each Co-Authored-By: Claude Opus 5.5 <[email protected]>
2.8 KiB
live-conformance/takedown — takedown across every rendition and cache
The corpus of 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
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, purges and
cache_transmissions, the cache-transmission claims of
cache-authority §5, 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: thereasonand its place,at(§8.2):["registry"],["policy"],["notice", i],["takedown"],["record", i],["claim", i],["match", i],["acknowledgement", i],["cache_transmission", i],["purge", i],["group", g],["exact", k],["closure", k]or["matched", k];accept,pending, ormissedwith itsreason: thefactsof §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 .