Skip to content

Release 0.2.9: diversity warning + CI lint matrix#17

Merged
slima4 merged 3 commits into
mainfrom
release/0.2.9
Apr 22, 2026
Merged

Release 0.2.9: diversity warning + CI lint matrix#17
slima4 merged 3 commits into
mainfrom
release/0.2.9

Conversation

@slima4
Copy link
Copy Markdown
Member

@slima4 slima4 commented Apr 22, 2026

Summary

  • Sample diversity warning — parent-side pass after corpus collection flags rules whose samples collapse onto a single degenerate shape (the silent-failure mode that 0.2.8 fixed the root cause for). Middle-50-char unique ratio; warns when < 0.4 and samples >= 10.
  • CI lint matrix — Ruff + mypy now run under Python 3.12, 3.13, 3.14 (previously 3.12 only). Catches mypy drift that bit the 0.2.8 release. Test matrix also extended to 3.14. Pyproject classifiers add 3.14.

Follow-ups from the lumen-argus 0.2.8 artifact review — two follow-ups evaluated but deferred as non-bugs: rstr . char pool (rstr is correct, . legitimately matches any char) and rstr overgeneration waste (71% waste on pathological k8s pattern costs ~60ms per rule — not worth invasive rstr surgery).

Test plan

  • pytest → 280 passed under py3.14 local
  • ruff check clean
  • mypy --strict crossfire/ clean
  • Smoke on 89-rule lumen-argus community.json → 0 diversity warnings (0.2.8 fix holds)
  • CI lint across 3.12/3.13/3.14
  • CI tests across 3.12/3.13/3.14

slima4 added 3 commits April 22, 2026 07:16
Surface the silent-degenerate failure mode that rstr's non-greedy bug
hit on kubernetes_secret_yaml pre-0.2.8 (27 samples / 10 unique middles,
all sharing one degenerate core).

Parent-side pass after corpus collection: per-rule middle-50-char slice
uniqueness, warn when ratio < 0.4 and samples >= 10. Works under both
sequential and parallel backends (spawn workers don't forward logs).
Threshold lets inherently narrow patterns (inst_tag at 0.53) through
without noise.
Local dev on 3.14 and CI lint on 3.12 drifted: mypy passes on one,
flags on the other (method-assign + warn_unused_ignores interaction).
Expand the matrix so CI surfaces both sides of the drift.

Also adds 3.14 to the test matrix and classifiers — local already
runs it clean, just hadn't been declared supported.
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 22, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@slima4 slima4 merged commit d872557 into main Apr 22, 2026
7 checks passed
@slima4 slima4 deleted the release/0.2.9 branch April 22, 2026 04:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant