mirror of
https://github.com/ruvnet/RuView
synced 2026-06-21 12:13:19 +00:00
cb3ea9fbd2
4 new proptest cases in matter::commissioning::tests. Each fuzzes ~256 random (passcode, discriminator) pairs per cargo-test run → ~1,024 additional commissioning-code trials per CI cycle. ## Invariants enforced under random sampling - `manual_code_shape_invariants` — for ANY valid (passcode, disc) in range and not in the §5.1.6.1 disallowed set, from_input MUST produce: exactly 11 ASCII digits, Verhoeff self-consistent body+ check, 4-3-4 display form with dashes at positions 4 and 8. - `disallowed_passcodes_always_rejected` — every passcode in the §5.1.6.1 list MUST be rejected regardless of discriminator. - `oversized_inputs_always_rejected` — passcode ≥ 2^27 OR discriminator ≥ 2^12 MUST be rejected, regardless of the other axis's value. - `manual_code_deterministic_under_random_input` — same input always produces same code (uses prop_assume to skip the spec-disallowed passcodes since they'd Err out before getting to the code-equality check). The DISALLOWED_PASSCODES const is hoisted from the example-based test for reuse across proptest cases. Lib test count: 420 → 424. Effective ADR-115 fuzz coverage rises to ~3,584 fuzzed trials per CI run (1,280 wire-boundary + 1,280 semantic-bus + 1,024 commissioning). Refs #776, PR #778. Co-Authored-By: claude-flow <ruv@ruv.net>