You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ShapeCoverageDiagnostic) to four. The fourth family,
44
+
``NumpyDivergenceDiagnostic`` (added in v0.9.3), now prints
45
+
its diagnosis body alongside the other three.
46
+
- A regression test
47
+
(``test_cli_numpy_divergence_body_prints``) runs the CLI
48
+
end-to-end via subprocess on a divergence-firing fixture,
49
+
asserts the ``numpy_divergence`` tag and diagnosis prose
50
+
appear in stdout, and asserts the negative case (stdout
51
+
does not match the bug shape of an empty body after the
52
+
violations count). The regression pin is the surface-to-
53
+
substrate match: a future addition of a fifth diagnostic
54
+
family (e.g., ``ScoreValidityDiagnostic`` in v0.9.4) will
55
+
not silent-drop because the test catches the same bug
56
+
shape.
57
+
58
+
### Known limitations carried to v0.9.4
59
+
60
+
-**ONNX printer's ``minimal_fix`` field is silently dropped**
61
+
(consistent across all four diagnostic families). The
62
+
Python, Rust, and Go marad printers in the same
63
+
``cli.py`` follow a different pattern that prints both
64
+
``diagnosis`` and ``minimal_fix``; the ONNX path prints
65
+
``diagnosis`` only. Bundling this fix to v0.9.4 Part 5b
66
+
alongside the structural CLI-integration gate per §3.5
67
+
of the v0.9.3.1 prompt: fixing it in one family only
68
+
would create a new inconsistency, and fixing it for all
69
+
four families is structurally adjacent to v0.9.4's gate
70
+
work that prevents the v0.9.3.1 bug class from recurring.
71
+
-**CHANGELOG-math gate skips in lean CI envs** (round-34
72
+
HIGH-2). The canonical CHANGELOG test count includes the
73
+
11 onnxruntime-gated tests in
74
+
``test_onnx_numpy_divergence.py`` that use
75
+
``pytest.importorskip("onnxruntime")``. CI's test jobs
76
+
install ``[dev,onnx]`` (no onnxruntime), producing an
77
+
empirical count 11 below the canonical number. Gate now
78
+
skips with a descriptive message when ``onnxruntime`` is
79
+
not importable; runs at full strength on developer
80
+
machines and the bundle-author sandbox. v0.9.4 Part 5b
81
+
closes this by adding an ``[onnx-runtime]`` job to the
82
+
CI matrix so the gate runs in CI too. Until then,
83
+
arithmetic drift in the CHANGELOG ``### Tests`` line is
84
+
caught locally but not in CI for releases that touch
85
+
onnxruntime-gated test counts.
86
+
87
+
### Tests
88
+
89
+
Test count: 412 (v0.9.3 ship state) -> 413 (v0.9.3.1).
90
+
Net delta: +1.
91
+
92
+
Breakdown:
93
+
94
+
- Regression test: +1
95
+
(``test_cli_numpy_divergence_body_prints``)
96
+
97
+
### Round-34 closure ledger
98
+
99
+
| Finding | Source | Severity | Closure |
100
+
| --- | --- | --- | --- |
101
+
| HIGH-1 | round-34 audit (post-v0.9.3-ship) | HIGH | Closed in v0.9.3.1. Decision 1 extends the isinstance tuple; Decision 2 adds the source-module import; Decision 3 lands the regression test. Decision 4 defers the structural CLI-integration gate to v0.9.4 (the bug class, not just the bug instance). The fix is one line; the regression test pins the surface to the substrate. |
102
+
22
103
## [0.9.3] - 2026-05-04
23
104
24
105
numpy-vs-ONNX divergence detection. Closes Gap 4 (HIGH
0 commit comments