v1.5.2 — eight audit findings closed, the ordinary run hardened
Eight confirmed security findings of the nineteen-finding v1.5.1 audit are closed — everything that damages an ordinary, non-attacked run:
- S7 — the semgrep SECURITY floor had silently never fired (
--config auto×--metrics offare mutually exclusive). Nowp/default, with a real-binary integration test and a hard-assertingsast-floorCI lane. Requires network per scan; offline degrades silently to judgment-only; vendored ruleset open. - S3 — the reviewed tree equals the executed tree: the
["."]headless default dropped every tracked modification; and changes outsidescope_paths(e.g. deleting the covering test) were invisible to all six lenses. Pathspec normalization +capture_full/change_paths+ one blocking HIGH per out-of-scope file (gated, residue-excluded, no-delete fix text). - S4 — a critic's judgment is validated where it is produced: raw-critic schema validation before persistence (never persist a failure) +
dimension_dissent_defects, so a dissent without a blocking defect can never merge as a clean lens. - S5 — critic artifacts are pass-stamped; a stale CLEAN artifact can no longer read as a fresh lens.
- S10 — stage order is folded at OUTPUT before
final_status; a tree mutated after verification cannot print a stale green. - S9 + S18 —
timeout_sis a real bound (grace-bounded drain + named-unit cgroup teardown) and a timed-out suite is never green. - S14 + E3 —
revert_red(a constant with no producer) is out of the critic packet; V7 un-narrowed to name the deterministic floor.
Honestly NOT closed here: S1/S2/S8/S11/S12/S13 land in v1.5.3; S15/S16/S17 in v1.5.4. The new pass-stamps are a currency marker, not authenticity (attacked S5/S10 halves close with v1.5.3 R1/R2). S6 is not fully closed by this program — python3 -S (v1.5.3) closes only the auto-exec half; full closure needs a plugin-integrity mechanism (a design problem, not a patch). See the CHANGELOG for the full honest list.
make ci EXIT 0 · 1327 → 1460 tests · scripts/verdict.py never opened.