Skip to content

v3.5.0 — bug-prevention phase 1

Choose a tag to compare

@rolling-codes rolling-codes released this 17 Oct 23:40
· 11 commits to main since this release
3b29b83

Bug-prevention phase 1 — source-level defect detectors and gate correctness, porting the gate-correctness patterns from the sibling longterm-ai project. No breaking changes; all existing scripts.* imports and CLI invocations are unchanged.

Added

  • scripts/source_rules.py — an AST linter over the toolkit's own Python that catches two recurring defect classes repo-wide:
    • H-ENCODING — text open()/read_text()/write_text() with no encoding= (a latent Windows bug; CI runs on windows-latest).
    • H-SWALLOW — an except body that is only pass (a silently swallowed error).
      Deliberately conservative / fail-closed (flags only provably builtin-open or pathlib receivers), CI-wired, with good/bad fixtures.
  • scripts/claims_check.py + claims.yaml — a behavioral-claim registry: every registered claim must resolve to an existing verifier test.
  • scripts/doc_sync.py — verifies documented commands, flags, modules, and links actually exist in the source.
  • Review-gate correctness (scripts/review_gate.py, scripts/finding_types.py) — a uniform 0/1/2 exit-code contract (0 = ok, 1 = blocking error, 2 = warnings-only) and a required-key check so a placeholder synthesis can no longer satisfy the gate.

Fixed

  • CI now tolerates a warnings-only exit (2) from doc_sync and claims_check (|| [ $? -eq 2 ]), matching the lint/static_analysis steps and the documented contract; only error findings (exit 1) block the build. (Found by the independent review of this release.)
  • Pinned eol=lf via .gitattributes so the independent-review source manifest hashes match on both the Linux and Windows CI jobs.

This release was validated through the full independent multi-agent review (outcome-analyst, scope-adversary, architecture-reviewer, practices-reviewer + completion-adversary, verdict complete); CI is green on ubuntu-latest and windows-latest, including the on-main review gate.