Transaction Science
b290c11d4b
wai: a live chain re-anchors past the walk bound when ahead; bindings keyed by resolved URL, a gap never withdraws a segment, bindings retained for 256 revisions; corpus pins the walk's per-parent checks
...
- Past WALK_BOUND, a revision ahead of the head (its media sequence after its last
complete segment greater) re-anchors the chain (reanchored): it becomes the head,
the chain keeps its bindings, the revisions between are not signed. One not ahead is
refused (playlist_receipt_walk_exceeded), so a stale or older revision never moves
it back; the head fetched again is unchanged, however often. (§8.6)
- Bindings key a line by its URI resolved against the playlist's URL and normalized
(RFC 3986 §5.2, §6.2.2; http_binding::uri, and an independent rfc3986_resolve in
http_verify.py), so ./720/1201.0.wai is 720/1201.0.wai. (§11.5)
- A gap at a sequence number bound to an object is playlist_listing_rebound.
- A binding is kept while one of the last 256 revisions lists it (RETENTION); a
rebinding older than that is not detected, as §11.5 states.
- Corpus: live_edge_reanchored*, live_edge_reanchor_not_backwards,
live_edge_parent_substituted, live_edge_parent_invalid, live_relisted_dot_alias,
live_dot_alias_same_object, live_gap_withdraws_a_segment, and uri_resolve cases (RFC
3986 §5.4 and alias spellings) with a fuzz family.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-06 14:18:36 -04:00
..
other-key
wai: seal-playlist --grant; a grant of no joule ceiling written null and every receipt number at most 2^53 - 1; the origin answers a far-future _HLS_msn with 400; the text states what a playlist receipt does not sign
2026-10-06 11:21:33 -04:00
relist
wai: a live chain re-anchors past the walk bound when ahead; bindings keyed by resolved URL, a gap never withdraws a segment, bindings retained for 256 revisions; corpus pins the walk's per-parent checks
2026-10-06 14:18:36 -04:00
walk-invalid
wai: a live chain re-anchors past the walk bound when ahead; bindings keyed by resolved URL, a gap never withdraws a segment, bindings retained for 256 revisions; corpus pins the walk's per-parent checks
2026-10-06 14:18:36 -04:00
walk-substituted /mr
wai: a live chain re-anchors past the walk bound when ahead; bindings keyed by resolved URL, a gap never withdraws a segment, bindings retained for 256 revisions; corpus pins the walk's per-parent checks
2026-10-06 14:18:36 -04:00
head_proof_drop_cv_O3.hp
wai: wai http commands, the wai_http_vectors tool and the http-conformance corpus
2026-10-05 07:42:24 -04:00
head_proof_envelope_len_O3.hp
wai: wai http commands, the wai_http_vectors tool and the http-conformance corpus
2026-10-05 07:42:24 -04:00
head_proof_extra_cv_O3.hp
wai: wai http commands, the wai_http_vectors tool and the http-conformance corpus
2026-10-05 07:42:24 -04:00
head_proof_flip_cv_O3.hp
wai: wai http commands, the wai_http_vectors tool and the http-conformance corpus
2026-10-05 07:42:24 -04:00
head_proof_huge_O3.hp
wai: corpus cases for every fix-round item, and http_verify.py made to agree outside the corpus
2026-10-05 09:22:37 -04:00
head_proof_magic.hp
wai: wai http commands, the wai_http_vectors tool and the http-conformance corpus
2026-10-05 07:42:24 -04:00
head_proof_not_formula_OH.hp
wai: http_verify.py, the BLAKE3 tree in _blake3.py, and OH with chaining values
2026-10-05 07:51:43 -04:00
head_proof_of_O4.hp
wai: wai http commands, the wai_http_vectors tool and the http-conformance corpus
2026-10-05 07:42:24 -04:00
head_proof_unaligned_O3.hp
wai: wai http commands, the wai_http_vectors tool and the http-conformance corpus
2026-10-05 07:42:24 -04:00
live-r2-orphan.json
wai: seal-playlist --grant; a grant of no joule ceiling written null and every receipt number at most 2^53 - 1; the origin answers a far-future _HLS_msn with 400; the text states what a playlist receipt does not sign
2026-10-06 11:21:33 -04:00
sig-key-base-point.json
wai: seal-playlist --grant; a grant of no joule ceiling written null and every receipt number at most 2^53 - 1; the origin answers a far-future _HLS_msn with 400; the text states what a playlist receipt does not sign
2026-10-06 11:21:33 -04:00
sig-key-identity-long.json
wai: seal-playlist --grant; a grant of no joule ceiling written null and every receipt number at most 2^53 - 1; the origin answers a far-future _HLS_msn with 400; the text states what a playlist receipt does not sign
2026-10-06 11:21:33 -04:00
sig-key-identity.json
wai: seal-playlist --grant; a grant of no joule ceiling written null and every receipt number at most 2^53 - 1; the origin answers a far-future _HLS_msn with 400; the text states what a playlist receipt does not sign
2026-10-06 11:21:33 -04:00
sig-r-non-canonical.json
wai: seal-playlist --grant; a grant of no joule ceiling written null and every receipt number at most 2^53 - 1; the origin answers a far-future _HLS_msn with 400; the text states what a playlist receipt does not sign
2026-10-06 11:21:33 -04:00
sig-r-small-order.json
wai: seal-playlist --grant; a grant of no joule ceiling written null and every receipt number at most 2^53 - 1; the origin answers a far-future _HLS_msn with 400; the text states what a playlist receipt does not sign
2026-10-06 11:21:33 -04:00