open-standards/wai/byte-exact-conformance/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 3d4f6ca03d wai: the stage chain parses a layer once, keeps a chain budget, drops what no unit holds
- A layer's WIR1 payload is parsed once, at §4.1 step 6. Wir1 keeps its tables
  flat and its streams as end offsets beside the payload, so a parse holds its
  declared working bytes (which now count 8 bytes per unit for the stream
  index), and a unit's output is allocated at its exact size.
- Step 7 compares a unit's key with the producers of its stages (a unit's stage
  rises by one per application) and a batch is grouped by unit; held units are
  kept per unit and counted per layer; prev's runs are indexed once and
  bisected. An offer's work and memory grow linearly with the layer's units
  (tests/staged_resources.rs, a counting allocator, in both CI profiles).
- The chain budget (§4.5; chain-over-limit at step 6, before any stream is
  decoded) bounds the units' output, 32 bytes per stage, and every retained
  layer's payload, declared output and declared working bytes. A layer no unit
  is held for is dropped at the end of the offer, release or expiry.
- Decoding again a base the sink holds keeps its chain and reports nothing;
  StageSink::remove_base drops a chain.
- Shape products are checked: one past u64 is geometry-mismatch.
- A layer whose manifest names a fallback is refused at step 1.
- A layer refused when its base arrives has one report.
- BaseInfo::first_unit places a base's units on the clock a set split across
  bases shares.
- A layer held for its base and offered again with stronger receipt evidence
  keeps it; over an attested base it counts as arrived when its receipt was
  verified.
- A payload whose unit count is not the span's is payload-malformed with the
  code field_range; A.6 states how step 6 and step 9 split A.4.
- span: null is absent; SPEC §2 states what a JSON integer is.
- base_never_waits plays random arrival traces through a live StageSink.

The corpus is regenerated through its generator (the config's budget, each
base's first_unit); every case keeps its outcome.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-04 17:21:24 -04:00
..
neural wai byte-exact conformance: fix stale #[path] includes (was red on every arch) 2026-07-27 17:36:15 -04:00
golden.rs wai: reconcile the neural + semantic subsystem onto main 2026-06-14 03:55:29 -04:00
int_mlicpp_golden.rs wai: add wai.neural.int_mlicpp, the MLIC++ entropy topology integer end to end 2026-09-30 01:39:56 -04:00
int_payload_golden.rs byte-exact-conformance: WIV1 and WIH1 goldens over the committed payloads 2026-10-01 12:36:19 -04:00
int_video_golden.rs wai: the parameter-set pin, component identity, pin-aware selection 2026-10-01 05:51:50 -04:00
jpegai_golden.rs wai: register the byte-exact JPEG-AI decoder + restore the byte-equality matrix 2026-08-01 01:24:54 -04:00
lib.rs wai: cross-architecture goldens for staged delivery 2026-10-02 00:45:31 -04:00
neural_keyframe_golden.rs wai: the parameter-set pin, component identity, pin-aware selection 2026-10-01 05:51:50 -04:00
staged.rs wai: cross-architecture goldens for staged delivery 2026-10-02 00:45:31 -04:00
staged_golden.rs wai: the stage chain parses a layer once, keeps a chain budget, drops what no unit holds 2026-10-04 17:21:24 -04:00