Skip to content

v1.2.10

Latest

Choose a tag to compare

@Starlight143 Starlight143 released this 08 Jul 12:17

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_files could 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-branch elif chain
    (or a long chained arithmetic expression) could exceed Python's recursion
    limit mid-traversal and raise an uncaught RecursionError — taking down the
    whole quality-loop invocation (which gates on passes = not issues). The
    per-file analysis is now guarded so one pathological file degrades gracefully
    (skipped) instead of sinking the batch, mirroring the existing OSError
    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.