Release v1.2.10
A robustness fix for the Quant-lint pass: a pathologically deep source file no
longer crashes the quality loop.
Fixed
analyse_quant_lint_from_filescould crash on a pathologically deep AST.
Every Quant-lint rule (Q001–Q006) walks the tree with a recursive
ast.NodeVisitor, so a single file with a many-hundred-branchelifchain
(or a long chained arithmetic expression) could exceed Python's recursion
limit mid-traversal and raise an uncaughtRecursionError— taking down the
whole quality-loop invocation (which gates onpasses = not issues). The
per-file analysis is now guarded so one pathological file degrades gracefully
(skipped) instead of sinking the batch, mirroring the existingOSError
guard in the directory walk. Found by an adversarial local probe of the
v1.2.9 rules (~140 probes; no other issue surfaced — no false positives, no
missed true positives).
Validation
- pytest: 3500 passed, 2 skipped.
crucible/smoke_test.py: 5/5 OK.run_crucible.py --self-check: OK.
Compatibility
Additive and backward-compatible. No env var, schema, or API changes.