open-standards/wai/pack-conformance/refusals/policy/toml-depth-33.toml
Transaction Science e864482332 wai-pack: a policy is read from its bytes: UTF-8, no byte-order mark, nesting capped at 32
Fix round, item 2. Policy::parse_bytes reads a policy as bytes; the CLI and
the corpus use it (no lossy decode). Before the value kinds, and before
anything else, these are policy-toml in both implementations:

- bytes that are not UTF-8;
- a byte-order mark (the house rule: UTF-8 with no byte-order mark);
- not TOML 1.0, an integer outside TOML's 64-bit range among it
  (pack_verify.py's reader takes any size, so it now checks the range);
- arrays and tables nested past 32, the document's table at depth 1: a
  pass of its own before the value-kind walk, so a nesting fault outranks
  a float found earlier in key order, as the Rust parser's own nesting
  limit already made it. pack_verify.py also reads a RecursionError from
  its TOML reader as policy-toml.

packaging §3.1 and §3.2 state it. Corpus: a byte-order mark, bytes that are
not UTF-8, an integer at 2^63, nesting to depth 33 and 80. policy_diff.py
(from the review's byte-level cases and seeded policies) compares every
verdict and digest of wai-pack policy-verdict with pack_verify.py's; CI
runs it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-05 09:09:57 -04:00

16 lines
359 B
TOML

# Refused: arrays nested to depth 33 (the document's table is depth 1).
zzz = [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
schema = "wai.pack.policy/1"
asset_id = "r"
lead = "v"
[[component]]
id = "v"
media = "video"
timebase = { num = 25, den = 1 }
[[ladder]]
id = "b0"
component = "v"
capability = "wai.video.int_motion"
role = "base"