v2.1.14
Assurance: PV2 maintainer-validation loop + inference drift gate
The "Adaptive" assurance-track item: keep the Bayesian CPT numbers honest as the
world drifts. The committable, CI-gated core ships now; the corpus-dependent tier
stays maintainer-local.
- Inference drift gate.
validation/drift_check.pyfingerprints the Bayesian
network's CPT-implied marginals (each node's no-evidence prior, all-bindings-
present posterior, and interval width) deterministically from the network YAML,
with no corpus.validation/inference_baseline.jsonis the committed baseline
(node names and numbers only, no company data), andtests/test_drift_check.py
gates it: an edit that shifts an implied distribution beyond 0.01 fails until
the baseline is regenerated withpython -m validation.drift_check --updateand
committed, so the shift is reviewed in the same diff. This mechanically enforces
the CPT-change discipline. docs/maintainer-validation.mddocuments the full tiered loop: the
committed drift gate (tier 0), the no-data synthetic harnesses (tier 1), the
public case-study spot-check (tier 2), and the maintainer-local corpus
re-grounding + firing-rate drift (tier 3), plus how an agent runs it on a
/scheduleroutine. Only deterministic / aggregate output is committed; the
corpus stays gitignored.- pyright
extraPathsnow resolves repo-root packages so the gate test can import
validation.drift_check.
Gate: full pytest (2910 passed), ruff, pyright (0 errors), validate_fingerprint (841), branch coverage 85%.