feat: complete easy fold suite + identity rules + STATUS.md roadmap master
New optimizer folds (all self-hosted in Jest): - Identity arithmetic: x+0→x, x*1→x, x*0→0 - Identity concat: concat([],x)→x, concat(x,[])→x - Double negation: not(not(x))→x - If-to-bool: if(c,true,false)→c, if(c,false,true)→not(c) - Known element access: nth([a,b,c],1)→b, first([a,b,c])→a, rest([a,b,c])→[b,c] - Beta reduction: apply(fn([x],body),[v]) → let*(x=v, body) - Let inlining: let*(x=lit, body) where x used once → substitute lit Architectural fix: guard patterns on literal strings don't work in Jest match ({"guard": ["+", fn]} doesn't match "+"). Moved identity rules to _opt-try-identity helper called from the catch-all arm. Also fixed _opt-all-lit? argument spreading bug (array args must be wrapped in extra [] when passed as singleton call form). STATUS.md updated with full Jestification roadmap: medium fruit (constant propagation, strength reduction), big fruit (pattern compilation, classification, ANF, DCE), the big one (lowering, type inference), and GPU fuzzing backend plan. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>