Falsifying the stitched source found that a reference billing every own claim, presented or not, wrote a corpus both implementations accepted: every own claim of the billed records was presented. The squeezeback vector's shared break, three of whose six sessions' claims are presented, is now among the stitched sources. Co-Authored-By: Claude Opus 5.5 <[email protected]>
4.6 KiB
live-conformance/ledger — the receipt ledger
The corpus of extensions/receipt-ledger.md §11, in one
file, vectors.json:
sources: the sources the vectors bill from, by name, each a source document of §5.1;vectors: verification documents (§7.1), each atariff, aninvoice, thepreviousinvoice ornull, and the names of itssourcesin order, with theoutcome§7.3 gives it;keys: the seller's, the buyers' and the two delivering parties' public keys.
Ledger equivalence. For each vector, a conforming verifier given its tariff, its invoice, its previous invoice and its sources, resolved by name, reaches the outcome the vector states:
refuse: thereasonand where,at:["tariff"],["tariff", "seller"]or["tariff", "buyer"],["invoice"],["previous"],["source", k]for sourcek, or["source", k, …]followed by the place the source's own extension gives (live-metering §5.1, settlement §8.2, packaging §9, live-ads §9.2);accept: the invoice'sdigest, itstariff,currency,startandend, the number ofrecords, each line (its source kind, source, unit, quantity, price, amount and the records itcites, each[kind, identity]), each energy row (scope, class, figures, joules andmax_ppm), theunmeteredfigures andcoverageof each scope, theamount, and thereportsof §8:ads, one per ads source, anddelivery, the parties and their overlaps.
The accepted vectors:
a_day: one day's invoice over a lesson room, two delivering parties (one viewer acknowledges part of one object from both, in windows that overlap; one party serves a fetch free; the other declares delivery to viewers with no key), a viewer that forwarded sealed objects and states no tariff of its own, a package, ads under a policy that requires presentation claims and under one that does not;the_next_invoice: the next invoice of the chain, over a relay's session whose hop is unmetered (its room energy is partial) and a second package;room_hops_of_three_classes: a room whose hops are a model, a counter and an estimate, under a tariff of its own: one row each;streams_stitched_by_others: presentations of ads another party stitched, from three vectors ofstitched/(hls_stitched;form1_prefetch, whose form-1 receipt states its own quartiles and spend beside the presented ones; andsqueezeback, a shared break whose sessions' own claims are not all presented), under a tariff whose ad scope is the stitchers that corpus accepts; its report is stitched-presentation §7.5's statement, unchanged.
Every other vector is refused, a control of one defect: each reason of §10, the reused codes, and a refusal of each source kind by its own extension.
Provenance. Generated here: wai_receipt_ledger_vectors gen writes vectors.json from fixed
seeds (the seller, the buyers, the two delivering parties, their viewers and objects) and from
sources taken unchanged from the corpora of the extensions the ledger reads: rooms and their
receipts from metering/ (lesson, mixed_classes, receipt_bad_signature,
relay_recorded), the forwarding viewer's statement and the room its hop records name from
settlement/, ad rooms from ads/ (live_break, gap) and
presentation/ (video_rule, ceiling_exceeded_by_presented), streams
stitched by others from stitched/ (hls_stitched, form1_prefetch,
squeezeback, with the
manifests, responses and receipts they name, by their bytes), and the
packages video-base-01 and video-staged-01 of
pack-conformance/packs/. When one of those corpora is
regenerated, so is this one. Nothing here was fetched from outside the repository.
Regenerate and check:
cd wai/wai-rs
cargo run -q --no-default-features --features receipt_ledger --bin wai_receipt_ledger_vectors -- gen ../live-conformance/ledger
cargo run -q --no-default-features --features receipt_ledger --bin wai_receipt_ledger_vectors -- verify ../live-conformance/ledger
cargo test -q --no-default-features --features receipt_ledger --test receipt_ledger
python3 -I ../live-conformance/receipt_ledger_verify.py ../live-conformance/ledger
The second implementation, receipt_ledger_verify.py, shares no code with wai-rs. It verifies
each source with the second implementation of that source's own corpus, recomputes every line,
citation, row and report, requires every mutated copy of the corpus to fail, and requires the corpus
to catch it with each of its own checks dropped.