Repository navigation
v3.5.0 — bug-prevention phase 1
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 noencoding=(a latent Windows bug; CI runs on windows-latest). - H-SWALLOW — an
exceptbody that is onlypass(a silently swallowed error).
Deliberately conservative / fail-closed (flags only provably builtin-openorpathlibreceivers), CI-wired, with good/bad fixtures.
- H-ENCODING — text
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_syncandclaims_check(|| [ $? -eq 2 ]), matching thelint/static_analysissteps and the documented contract; only error findings (exit 1) block the build. (Found by the independent review of this release.) - Pinned
eol=lfvia.gitattributesso 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.