Releases: Wake360/wald
Release list
0.3.0
- CLI:
.pyinput support —wald check analysis.pyruns on plain
scripts (one analysis unit) and percent-format files (# %%code
cells,# %% [markdown]markdown cells); reported lines are
file-absolute. Directory arguments still collect only*.ipynb—
pass.pyfiles explicitly.examples/leaky.pyships alongside
examples/leaky.ipynb. - CLI:
--keep-goingonwald check— continue past unreadable files
instead of aborting on the first one; each failure is reported to
stderr, and the run exits 3 if any file failed, even alongside a
high-severity finding elsewhere that would otherwise exit 2. The
multi-file TTY summary line gains a, N failedsuffix. - CLI:
wald rules— lists the taxonomy's flaw classes (id, layer,
severity, definition);--format jsonfor machines. - LLM narrative layer: the G2/G3 quality gates never ran — they need
ANTHROPIC_API_KEY+OPENAI_API_KEY, and the keys never arrived. Per
the pre-planned termination rule, v1 ships as the static linter; no
narrative-layer recall/F1 numbers are claimed. The layer remains
available as an experimental, unvalidated path via--llm-subscription
(claude/codex CLIs, no API keys) and--llmfor key holders; an
indicative non-gate dev-split run is at
evals/2026-07-09-llm-eval-dev-subscription-indicative.md. .pre-commit-hooks.yaml:waldhook for notebooks,wald-scriptsfor
.pyfiles.- New GitHub issue template for false-positive reports
(.github/ISSUE_TEMPLATE/false_positive.md). - Launch post addendum (
posts/2026-07-04-i-mutation-tested-statistical-malpractice.md)
covering the 60-notebook wide dogfood.
0.2.1
CLI UX: TTY color, recursive directory input, roll-up summary line, and wald check --llm progress. pyright is now a hard CI gate. Temporal-shuffle evasion triage (4 shapes accepted). selection-survivorship-cohort parked for narrative fusion. Golden byte-identity test. Composite GitHub Action (action.yml) emitting SARIF for PR annotations, inputs passed via env to avoid command injection.
No detector behavior change — four static classes still precision 1.00 / recall 1.00 on 192 mutants, 0.0% FP on 83 clean notebooks. Full notes in CHANGELOG.md.
wald 0.2.0
New static class: leakage-temporal-shuffle — shuffled splits on time-ordered data (default train_test_split or shuffled KFold over lag/rolling features), detected per evaluation sink on that sink's dependency chain. 16 execution-verified mutants at precision 1.00 / recall 1.00; clean false-positive rate 0.0% on the 83-notebook corpus (56 synthetic + 27 real). Adversarial review closed four confirmed false-positive shapes (neighbor-comparison features on score/rank/price-sorted frames) before release; four evasion shapes are documented residual risk. Full numbers: evals/2026-07-05-eval.json.
wald 0.1.0
First public release.
Static layer: three decided flaw classes (leakage-fit-before-split, testing-multiple-uncorrected, baserate-accuracy-imbalanced) plus a survivorship candidate. Deterministic, key-free, exit-code gated. Measured by a mutation corpus: 176 verified mutants, 0.0% false positives on 75 clean notebooks (27 real, hand-reviewed). SARIF output and agent-gate recipes (Claude Code hook, pre-commit, GitHub Actions) in docs/agent-gate.md.
The LLM narrative layer ships built but unclaimed: its quality gates need cross-provider API runs that have not happened yet. Static-only is the default and calls no API.
pip install wald-lint