Toolchain batch (2026-07-07 review). The build sets no -Wall -Wextra (dead code and unused results the review found by hand would have been compiler-flagged); the entire network stack + fuzz targets are invisible to CI; and the LEX code generator has drifted from its own committed output, so regenerating any grammar silently changes error-path semantics.
CMakeLists.txt — only C23 + optional ASAN/fuzz flags; no warning flags on any target. Hand-found consequences: unused int s (TCP.c:11,39), unused locals (UDP.c:42-43), dead if (rc == 0) break; (TCP.c:56).test/CMakeLists.txt:193 gates HTTP/UDP/TCP/CURL/POL tests behind WITH_INET, but no option(WITH_INET) is declared anywhere and neither CI job passes it → every network test (incl. MEM-009 leak regressions) is skipped; WITH_FUZZ/WITH_ASAN likewise never built in CI.LEX.c:27-29 template emits fbreak; in error actions while committed JSON.c.rl/URI.c.rl/HTTP.c.rl use goto _out; — regen changes consumed-position semantics on callback failure. LEX.c:78 u64 mark0[64] cap never validated vs rule count (silent OOB in generated code for big grammars). Blocks ABC-011's regen.LEX.c:260-289 lex2rl — ~2.3 MB of a_pad stack scratch (256K+1M+1M); abc.mkd prescribes a_carve/BASS. Overflows non-main threads.LEX.cli.c:17-21 + nfagrep.c:35-39 — sane(argc...) fires before the usage message can print (debug), or is ignored (release): behavior differs by build, usage is dead code either way. nfagrep also: 256-byte snprintf path truncation (opens the wrong file), fp leak shape at :70-71.INT.h:160-186 — the ABC_ALIGN branch does not compile (u8sfrom token, C++-cast, flipped args, missing Feed twins). Dead config rot: fix or delete.-Wall -Wextra (+ -Wshadow -Wconversion audit list) with a clean build; a CI lane with WITH_INET+WITH_ASAN and fuzz smoke (build + N iterations); LEX template reconciled with committed output (pick fbreak OR goto, regen all three grammars, diff-verify); dead branches fixed or deleted.goto _out, fbreak is wrong — ragel expands fbreak to {p++; goto _out;}, off-by-one resume position on callback failure, and inside EOF actions it leaves p = pe+1 → data0 past data1, an invalid slice. Committed JSON/HTTP already used goto _out (de-facto contract); ABC-011 regenned in that style.abc/INT.h → INT.h includes.