Transaction Science
1cffbc6ffd
wai: HTTP reports a refinement by its refines.base alone; a conforming envelope's refinement tested
...
- §7 step 4 as the text stands: a refinement of the pick is one whose refines.base, read
on its own, is the pick's id (container::refinements_naming, refinements_naming in
http_verify.py), so one whose refines is otherwise malformed is reported dropped
(components_nonconforming). Of a conforming envelope the set is the same as before.
- Objects OCF (ONC's conforming twin: refinements [2], dropped []), ONM (refines
{base: b} alone: reported) and ONX (refines {base: x}: not reported), on the whole and
the range paths; fetch_OR_malformed_refines now reports its refinement; the generator
checks each outcome.
- falsify: conforming-withheld and refines-read-whole, each with an http_verify.py
--mutate, wired into falsify/run.sh; nonconforming-offered's must-fail list extended.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-08 03:11:46 -04:00
..
abr-options-unbounded.patch
http-conformance: falsify the budget rule, the bounds and the exact arithmetic of adaptation
2026-10-06 10:39:19 -04:00
abr-parameter-truncated.patch
http-conformance: falsify the budget rule, the bounds and the exact arithmetic of adaptation
2026-10-06 10:39:19 -04:00
accept-gzip.patch
wai: falsification patches for the fix round, and the four the rewrite moved, regenerated
2026-10-05 09:35:08 -04:00
adjacency-dseq.patch
wai: falsification of the playlist side (W3-4, W3-5)
2026-10-06 06:31:05 -04:00
adjacency-pdt.patch
wai: falsification of the playlist side (W3-4, W3-5)
2026-10-06 06:31:05 -04:00
allow-trailing.patch
wai: http-conformance falsification patches and their runner
2026-10-05 07:52:43 -04:00
bandwidth-average-floor.patch
wai: falsification of the playlist side (W3-4, W3-5)
2026-10-06 06:31:05 -04:00
base-ready-at-done.patch
wai: HTTP corpus round 4 — fetch_timed runs the session on a clock: the base ready before its refinement, the deadline from the verifying response, a refinement's whole-object 200 that never reaches the base
2026-10-06 02:46:20 -04:00
base-unanswered.patch
wai: falsification patches for the fix round, and the four the rewrite moved, regenerated
2026-10-05 09:35:08 -04:00
bola-narrow-product.patch
http-conformance: falsify the budget rule, the bounds and the exact arithmetic of adaptation
2026-10-06 10:39:19 -04:00
bola-waits.patch
wai: falsification of the playlist side (W3-4, W3-5)
2026-10-06 06:31:05 -04:00
budget-raises.patch
http-conformance: falsify the budget's never raising the choice and option 0 when unmet
2026-10-06 14:03:26 -04:00
budget-unlabelled-escapes.patch
http-conformance: falsify the budget's never raising the choice and option 0 when unmet
2026-10-06 14:03:26 -04:00
budget-unlabelled.patch
http-conformance: falsify the budget's never raising the choice and option 0 when unmet
2026-10-06 14:03:26 -04:00
budget-unmet-least-figure.patch
http-conformance: falsify the budget's never raising the choice and option 0 when unmet
2026-10-06 14:03:26 -04:00
chain-bindings-dropped.patch
http-conformance: falsify the live chain's walk, bound, reload, key and bindings, and the listing's rebinding refusals
2026-10-06 09:38:20 -04:00
chain-key-unchecked.patch
http-conformance: falsify the live chain's walk, bound, reload, key and bindings, and the listing's rebinding refusals
2026-10-06 09:38:20 -04:00
chain-parent-unchecked.patch
http-conformance: falsify re-anchoring, URL-keyed bindings, the gap rule, the walk's per-parent checks and URL resolution; chain and rebinding patches against the new code; Python mutations and a retention self-test
2026-10-06 14:42:56 -04:00
chain-reload-as-revision.patch
http-conformance: falsify the live chain's walk, bound, reload, key and bindings, and the listing's rebinding refusals
2026-10-06 09:38:20 -04:00
chain-walk-unbounded.patch
http-conformance: falsify re-anchoring, URL-keyed bindings, the gap rule, the walk's per-parent checks and URL resolution; chain and rebinding patches against the new code; Python mutations and a retention self-test
2026-10-06 14:42:56 -04:00
conforming-withheld.patch
wai: HTTP reports a refinement by its refines.base alone; a conforming envelope's refinement tested
2026-10-08 03:11:46 -04:00
counter.patch
wai: http-conformance falsification patches and their runner
2026-10-05 07:52:43 -04:00
dash-order-unchecked.patch
http-conformance: falsify the MPD reader's runs, its timeline bound and run ends, against the new reader; Python mutations for expansion, scanned attribute names and the timeline bound
2026-10-06 13:51:28 -04:00
dash-r-ignored.patch
http-conformance: falsify the MPD reader's runs, its timeline bound and run ends, against the new reader; Python mutations for expansion, scanned attribute names and the timeline bound
2026-10-06 13:51:28 -04:00
dash-run-end-unchecked.patch
http-conformance: falsify the MPD reader's runs, its timeline bound and run ends, against the new reader; Python mutations for expansion, scanned attribute names and the timeline bound
2026-10-06 13:51:28 -04:00
dash-start-unchecked.patch
http-conformance: falsify DASH adjacency, the MPD reader's subset and bounds, MPD escaping and the gap left out
2026-10-06 10:10:01 -04:00
dash-timelines-unbounded.patch
http-conformance: falsify the MPD reader's runs, its timeline bound and run ends, against the new reader; Python mutations for expansion, scanned attribute names and the timeline bound
2026-10-06 13:51:28 -04:00
dash-timescale-unchecked.patch
http-conformance: falsify the MPD reader's runs, its timeline bound and run ends, against the new reader; Python mutations for expansion, scanned attribute names and the timeline bound
2026-10-06 13:51:28 -04:00
dash-zero-d.patch
http-conformance: falsify the MPD reader's runs, its timeline bound and run ends, against the new reader; Python mutations for expansion, scanned attribute names and the timeline bound
2026-10-06 13:51:28 -04:00
deadline-wraps.patch
wai: HTTP corpus round 4 — fetch_timed runs the session on a clock: the base ready before its refinement, the deadline from the verifying response, a refinement's whole-object 200 that never reaches the base
2026-10-06 02:46:20 -04:00
decimal-truncates.patch
wai: falsification of the playlist side (W3-4, W3-5)
2026-10-06 06:31:05 -04:00
depth-per-layer.patch
http-conformance: falsify the budget rule, the bounds and the exact arithmetic of adaptation
2026-10-06 10:39:19 -04:00
depth-sum-saturates.patch
http-conformance: falsify the budget rule, the bounds and the exact arithmetic of adaptation
2026-10-06 10:39:19 -04:00
dispatch-layer.patch
wai: falsification patches for the fix round, and the four the rewrite moved, regenerated
2026-10-05 09:35:08 -04:00
drop-domain.patch
wai: http-conformance falsification patches and their runner
2026-10-05 07:52:43 -04:00
dup-caps.patch
wai: falsification patches for the fix round, and the four the rewrite moved, regenerated
2026-10-05 09:35:08 -04:00
gap-carries.patch
http-conformance: falsify the gap rule
2026-10-06 10:57:18 -04:00
gap-not-rendered.patch
wai: falsification follows the renderer: two patches re-cut, a gap and layer bytes added
2026-10-06 07:30:39 -04:00
gap-withdraws.patch
http-conformance: falsify re-anchoring, URL-keyed bindings, the gap rule, the walk's per-parent checks and URL resolution; chain and rebinding patches against the new code; Python mutations and a retention self-test
2026-10-06 14:42:56 -04:00
grant-ceiling-written-out.patch
http-conformance: falsify the grant's null ceiling and the receipt file's number bound
2026-10-06 11:25:08 -04:00
ilog2-no-interp.patch
wai: falsification of the playlist side (W3-4, W3-5)
2026-10-06 06:31:05 -04:00
intersection.patch
wai: falsification patches for the fix round, and the four the rewrite moved, regenerated
2026-10-05 09:35:08 -04:00
layer-after-uri.patch
wai: falsification follows the renderer: two patches re-cut, a gap and layer bytes added
2026-10-06 07:30:39 -04:00
layer-any-alt.patch
wai: falsification patches for round 3 — refines taken for a layer, a no-digest refinement applied whole, a layer declared in any alt or with no base
2026-10-05 10:47:59 -04:00
layer-without-base.patch
wai: falsification patches for round 3 — refines taken for a layer, a no-digest refinement applied whole, a layer declared in any alt or with no base
2026-10-05 10:47:59 -04:00
layers-not-counted.patch
wai: falsification follows the renderer: two patches re-cut, a gap and layer bytes added
2026-10-06 07:30:39 -04:00
left-len.patch
wai: http-conformance falsification patches and their runner
2026-10-05 07:52:43 -04:00
listed-open-parts.patch
wai: falsification of the playlist side (W3-4, W3-5)
2026-10-06 06:31:05 -04:00
merge-classes.patch
wai: http-conformance falsification patches and their runner
2026-10-05 07:52:43 -04:00
mpc-no-stall.patch
http-conformance: falsify the budget rule, the bounds and the exact arithmetic of adaptation
2026-10-06 10:39:19 -04:00
mpd-char-unchecked.patch
http-conformance: falsify DASH adjacency, the MPD reader's subset and bounds, MPD escaping and the gap left out
2026-10-06 10:10:01 -04:00
mpd-gap-listed.patch
http-conformance: falsify DASH adjacency, the MPD reader's subset and bounds, MPD escaping and the gap left out
2026-10-06 10:10:01 -04:00
no-root-flag.patch
wai: http-conformance falsification patches and their runner
2026-10-05 07:52:43 -04:00
nonconforming-offered.patch
wai: HTTP reports a refinement by its refines.base alone; a conforming envelope's refinement tested
2026-10-08 03:11:46 -04:00
order-by-table.patch
wai: falsification of the playlist side (W3-4, W3-5)
2026-10-06 06:31:05 -04:00
plus-sign.patch
wai: falsification patches for the fix round, and the four the rewrite moved, regenerated
2026-10-05 09:35:08 -04:00
reanchor-backwards.patch
http-conformance: falsify re-anchoring, URL-keyed bindings, the gap rule, the walk's per-parent checks and URL resolution; chain and rebinding patches against the new code; Python mutations and a retention self-test
2026-10-06 14:42:56 -04:00
rebind-sequence.patch
http-conformance: falsify re-anchoring, URL-keyed bindings, the gap rule, the walk's per-parent checks and URL resolution; chain and rebinding patches against the new code; Python mutations and a retention self-test
2026-10-06 14:42:56 -04:00
rebind-spelling.patch
http-conformance: falsify re-anchoring, URL-keyed bindings, the gap rule, the walk's per-parent checks and URL resolution; chain and rebinding patches against the new code; Python mutations and a retention self-test
2026-10-06 14:42:56 -04:00
rebind-uri.patch
http-conformance: falsify re-anchoring, URL-keyed bindings, the gap rule, the walk's per-parent checks and URL resolution; chain and rebinding patches against the new code; Python mutations and a retention self-test
2026-10-06 14:42:56 -04:00
receipt-duplicate-names-raw.patch
http-conformance: falsify the receipt reader's duplicate-member refusal
2026-10-06 11:06:39 -04:00
receipt-duplicates.patch
http-conformance: falsify the receipt reader's duplicate-member refusal
2026-10-06 11:06:39 -04:00
receipt-name-unchecked.patch
wai: falsification of the playlist side (W3-4, W3-5)
2026-10-06 06:31:05 -04:00
receipt-numbers-unbounded.patch
http-conformance: falsify the grant's null ceiling and the receipt file's number bound
2026-10-06 11:25:08 -04:00
receipt-render-unsigned.patch
wai: falsification of the playlist side (W3-4, W3-5)
2026-10-06 06:31:05 -04:00
record-alt.patch
wai: falsification patches for the fix round, and the four the rewrite moved, regenerated
2026-10-05 09:35:08 -04:00
refinement-200-whole.patch
wai: HTTP corpus round 4 — fetch_timed runs the session on a clock: the base ready before its refinement, the deadline from the verifying response, a refinement's whole-object 200 that never reaches the base
2026-10-06 02:46:20 -04:00
refines-makes-layer.patch
wai: falsification patches for round 3 — refines taken for a layer, a no-digest refinement applied whole, a layer declared in any alt or with no base
2026-10-05 10:47:59 -04:00
refines-read-whole.patch
wai: HTTP reports a refinement by its refines.base alone; a conforming envelope's refinement tested
2026-10-08 03:11:46 -04:00
refusal-ends.patch
wai: falsification patches for the fix round, and the four the rewrite moved, regenerated
2026-10-05 09:35:08 -04:00
render-parts-after-extinf.patch
wai: falsification follows the renderer: two patches re-cut, a gap and layer bytes added
2026-10-06 07:30:39 -04:00
response-no-clock.patch
wai: HTTP corpus round 4 — fetch_timed runs the session on a clock: the base ready before its refinement, the deadline from the verifying response, a refinement's whole-object 200 that never reaches the base
2026-10-06 02:46:20 -04:00
reuse-stale.patch
wai: HTTP corpus round 4 — fetch_timed runs the session on a clock: the base ready before its refinement, the deadline from the verifying response, a refinement's whole-object 200 that never reaches the base
2026-10-06 02:46:20 -04:00
run.sh
wai: HTTP reports a refinement by its refines.base alone; a conforming envelope's refinement tested
2026-10-08 03:11:46 -04:00
select-no-digest.patch
wai: http-conformance falsification patches and their runner
2026-10-05 07:52:43 -04:00
session-data-more-lines.patch
http-conformance: falsify the session-data line's place and its being one line
2026-10-06 11:14:12 -04:00
session-data-position.patch
http-conformance: falsify the session-data line's place and its being one line
2026-10-06 11:14:12 -04:00
sig-key-lenient.patch
Leave wai-quantum on its own verifier; the rule goes back into wai-rs
2026-10-07 14:33:18 -04:00
sig-verify-lenient.patch
Leave wai-quantum on its own verifier; the rule goes back into wai-rs
2026-10-07 14:33:18 -04:00
skip-digest.patch
wai: http-conformance falsification patches and their runner
2026-10-05 07:52:43 -04:00
skip-on-absent.patch
wai: falsification patches for the fix round, and the four the rewrite moved, regenerated
2026-10-05 09:35:08 -04:00
skip-read.patch
wai: falsification of the playlist side (W3-4, W3-5)
2026-10-06 06:31:05 -04:00
threshold-all.patch
wai: falsification patches for the fix round, and the four the rewrite moved, regenerated
2026-10-05 09:35:08 -04:00
tick-noop.patch
wai: HTTP corpus round 4 — fetch_timed runs the session on a clock: the base ready before its refinement, the deadline from the verifying response, a refinement's whole-object 200 that never reaches the base
2026-10-06 02:46:20 -04:00
trust-content-range.patch
wai: falsification patches for the fix round, and the four the rewrite moved, regenerated
2026-10-05 09:35:08 -04:00
union-no-layer.patch
wai: falsification patches for the fix round, and the four the rewrite moved, regenerated
2026-10-05 09:35:08 -04:00
uri-dots-kept.patch
http-conformance: falsify re-anchoring, URL-keyed bindings, the gap rule, the walk's per-parent checks and URL resolution; chain and rebinding patches against the new code; Python mutations and a retention self-test
2026-10-06 14:42:56 -04:00
uri-percent-kept.patch
http-conformance: falsify re-anchoring, URL-keyed bindings, the gap rule, the walk's per-parent checks and URL resolution; chain and rebinding patches against the new code; Python mutations and a retention self-test
2026-10-06 14:42:56 -04:00
wai-prefix-case.patch
wai: falsification patches for the fix round, and the four the rewrite moved, regenerated
2026-10-05 09:35:08 -04:00
walk-exceeded-wedges.patch
http-conformance: falsify re-anchoring, URL-keyed bindings, the gap rule, the walk's per-parent checks and URL resolution; chain and rebinding patches against the new code; Python mutations and a retention self-test
2026-10-06 14:42:56 -04:00
walk-parent-name-unchecked.patch
http-conformance: falsify re-anchoring, URL-keyed bindings, the gap rule, the walk's per-parent checks and URL resolution; chain and rebinding patches against the new code; Python mutations and a retention self-test
2026-10-06 14:42:56 -04:00
walk-parent-unverified.patch
http-conformance: falsify re-anchoring, URL-keyed bindings, the gap rule, the walk's per-parent checks and URL resolution; chain and rebinding patches against the new code; Python mutations and a retention self-test
2026-10-06 14:42:56 -04:00
whole-applies-no-digest.patch
wai: the HTTP plan follows SPEC §7.1's offer rule
2026-10-08 01:38:05 -04:00
xml-attribute-twice.patch
http-conformance: falsify the MPD reader's runs, its timeline bound and run ends, against the new reader; Python mutations for expansion, scanned attribute names and the timeline bound
2026-10-06 13:51:28 -04:00
xml-cdata-read.patch
http-conformance: falsify DASH adjacency, the MPD reader's subset and bounds, MPD escaping and the gap left out
2026-10-06 10:10:01 -04:00
xml-char-ref-unchecked.patch
http-conformance: falsify DASH adjacency, the MPD reader's subset and bounds, MPD escaping and the gap left out
2026-10-06 10:10:01 -04:00