fix(fitstats): require Rust for infit/outfit - #775
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 |
|
@opencode-agent address Bounded single-writer GREEN handoff for Draft #775. Immediately before any write, refetch exact source head First run Re-run focused ownership + existing infit/outfit parity/coverage tests, Ruff/format checks, then the complete applicable Python/Rust/PyO3/package/fuzz/security gates on one unchanged head. Add bounded APA-linked doctoring/changelog material only after GREEN and render/check the managed CHANGELOG through the repository renderer. Do not widen to S-X²/person-fit (already protected-main via #771), another statistic, estimator, dependency, provider, workflow, version/release, or GPU path. Keep Draft until exact-head evidence is complete, then stop writing this branch for independent review/merge. |
|
Superseded by GREEN fail-closed implementation. |
Buyer-visible numerical-ownership defect
Issue #627 requires ordinary public fit-statistics arithmetic to have one Rust/PyO3 production owner. After #771,
s_x2()andperson_fit()fail closed, butinfit_outfit()still selected a substantial Python/NumPy probability, variance, residual, infit-denominator, and outfit-reduction path when the compiled core or entrypoint was absent.GREEN contract
infit_outfit()requiresinfit_outfit_statand fails closed withRuntimeError("fit statistics require the compiled Rust core")when the core is missing or incomplete._infit_outfit_python_referencefor parity/allocation contracts only.test_cov_c_fitstats, allocation contracts) to the fail-closed ownership contract.Evidence
pytestownership + allocation + cov_c + fitstats suites → 71 passed (Python 3.14)docs/changelog.d/775-fitstats-infit-outfit-rust-required.mdrendered into UnreleasedProduct gates
Merge when python (aggregate + 3.12/3.14) + rust + package + fuzz are green.