open-standards/wai/pack-conformance/refusals/policy/piece-bounds-units.toml
Transaction Science e3375530f6 packaging §4.4: a piece is at most ten minutes and 2^24 units; floors counted before decoding
The new max_ms check bounded nothing, because a policy could set max_ms up to
2^53 − 1. A still's piece could then state 2^32 − 1 frames. Rust hashed once
per stated frame (about 29 minutes), and Python built a list of n references
(about 34 GB).

- **§3.4 item 5 and §4.4.** max_ms is at most 600000, and at most 2^24 units on
  every component's timebase. Both are policy-piece-bounds, in both readers.
  §4.4 gives the reason: a verifier takes a piece whole, so the longest piece
  bounds its work. Ten minutes is far past any piece a delivery cuts, and 2^24
  units bounds the work on any timebase, which may have up to 2^32 − 1 units a
  second.
- **§11.3, before any frame is decoded.** Each piece's floor object, where its
  framing reads, must hold one unit per frame of its piece
  (floor-object-mismatch). Both verifiers make this check first.
- **Held stills.** Python holds a still's frame and its count (Held) and hashes
  the digest a block at a time. Rust's held_digest also feeds a block at a time.
- **Corpus.**
  - refusals: max_ms 600001; and the default max_ms on a timebase of 2^32 − 1
    units a second.
  - policy/max-piece.toml: accepted at both bounds.
  - staged-mutations max-ms-past-cap (policy-piece-bounds).
  - staged-mutations still-at-cap: the still given the longest piece the policy
    allows, its manifest naming the frames, refused by the floor count in both
    verifiers.
- **policy_diff.** Its random policies now reach both bounds.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-09 14:13:41 -04:00

17 lines
335 B
TOML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Refused: the default max_ms (4000) is past 2^24 units on a timebase of 2^32 − 1 units a
# second (§4.4).
schema = "wai.pack.policy/1"
asset_id = "r"
lead = "v"
[[component]]
id = "v"
media = "video"
timebase = { num = 4294967295, den = 1 }
[[ladder]]
id = "b0"
component = "v"
capability = "wai.video.int_motion"
role = "base"