feat(validation): add conformance provenance manifest - #1082
seonghobae wants to merge 3 commits into
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Exact current head is |
|
Superseded by the canonical inventory contract in #1081. #1081 owns capability, parameterization, identification, independent-engine, fixture/environment, artifact, layer, and explicit execution-status records without duplicate authority. This PRs additional run-level fields (harness provenance, RNG, tolerance rationale, and raw/normalized output hashes) are retained as the next bounded conformance-evidence slice; they are not silently treated as implemented by #1081. Closing this duplicate avoids two incompatible public conformance schemas. |
Pin the baseline to protected main@9c12eab1 (v0.9.0). The open-PR queue collapsed from 74 to 6 since the previous snapshot; replace the stale PR table with the current six lanes (#1363, #1345, #1279, #1029, #1005, #998) including their merge-forward state. Update gap-matrix evidence columns for landed work: automatic Rust backend (#951/#1070), crossed multiple-membership (#1014), the Figma design-boundary ADR now at docs/adr/0016 via merged #1130, and cross-engine conformance (#1082) after #1077 closed as completed. No production code, formula, estimator, or release surface changed.
Advances #1077 with the smallest reusable contract slice.
Buyer-visible gap closed
Add
fast_mlsirm.conformance, a source-free and content-addressed manifest for capability scope, comparison layer, independent-engine identity, mapping fingerprint, preregistered tolerances, code/fixture/environment provenance, RNG seeds, and license classification.Boundary
This PR does not import or execute R, Stan, mirt, TAM, ltm, eRm, proprietary binaries, or any external engine. It does not move numerical equations, estimators, scoring, or fit statistics out of Rust. It records evidence metadata only;
coveredis not construct validity, fairness, or high-stakes approval. Git commit provenance accepts both Git SHA-1 and SHA-256 identifiers; artifact fingerprints remain full SHA-256.Verification
python -m pytest -q tests/test_conformance_manifest.py: 18 passedpython/fast_mlsirm/conformance.py: 100% (217 statements, 72 branches)tests/test_missing_and_extreme_robustness.py::test_rust_and_numpy_agree_on_masked_inputs; the exact tolerance root cause is fixed by pending PR fix(backend): isolate NumPy parity behind reference API #1070 (ce188a2ab882e333400c6c3018183837799f7ae1), not by this contract slice.Keep Draft until exact-current repository CI, security, coverage/docstring, provenance, and independent review are terminal and clean.