Five-Whys Root Cause
- Why do 5 property tests fail?
prop_arrow_syntax_parses, prop_nested_lambdas_parse, etc. panic with assertion failed: result.is_ok()
- Why does parsing fail? The generated identifier "ask" is now a keyword, so the parser rejects it
- Why does proptest generate "ask"? The
valid_identifier() strategy's keyword blocklist doesn't include "ask"
- Why isn't "ask" blocked? Commit e650389 added "ask" as a keyword but didn't update the proptest strategy
- Why wasn't this caught? The previous CI run was green — the proptest seed only hit "ask" on the next run
Also: RUSTSEC-2026-0002 (lru 0.12.5)
Transitive dep via ratatui 0.29.0 → jugar-probar. lru 0.16.3 is available on crates.io.
Fix
- Add "ask" to keyword blocklist in
valid_identifier() proptest strategy
- Update ratatui/lru to resolve RUSTSEC-2026-0002
Discovered by kaizen sweep 2026-04-06.
Five-Whys Root Cause
prop_arrow_syntax_parses,prop_nested_lambdas_parse, etc. panic withassertion failed: result.is_ok()valid_identifier()strategy's keyword blocklist doesn't include "ask"Also: RUSTSEC-2026-0002 (lru 0.12.5)
Transitive dep via ratatui 0.29.0 → jugar-probar. lru 0.16.3 is available on crates.io.
Fix
valid_identifier()proptest strategyDiscovered by kaizen sweep 2026-04-06.