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]>
16 lines
453 B
TOML
16 lines
453 B
TOML
# Refused: arrays nested to depth 80 (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"
|