fix(rasch-cml): harden native dispatch controls - #906
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughRasch CML and Andersen LR now validate input data and scalar controls before compiled-core discovery. The wrappers reject hostile coercion objects, accept supported NumPy scalars, enforce bounds, and add regression tests for validation order and native dispatch. ChangesRasch CML control boundary
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to The change hardens validation for Rasch CML and Andersen LR controls while preserving existing computations and supported inputs; no actionable merge-blocking risk remains beyond normal checks and review. Possibly related issues
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
Base branch was modified
Scope
Fix #905 at the public Rasch CML/Andersen LR validation boundary without changing psychometric computation.
Test-first lineage
906d62edad1e0efe992381b05ad10c4587cb16a9requires malformed responses/groups and hostile scalar subclasses to fail before compiled-core discovery or coercion callbacks, while genuine NumPy controls still reach the native-dispatch boundary.75a52d536a3bee6b191dd078b4909aaaa58a4455adds exact-type iteration/tolerance admission, bounds iteration work with the repository cap, validates all public inputs before_core_module(), and passes only trusted built-in scalars into PyO3.5d72dc72557c04ffe4eb7783bc19e5d05dc5cb0erecords release evidence.Preserved boundary
RuntimeErrorwhen the compiled Rust core is unavailable.Lifecycle discipline
The source is Ready for review. Integration remains contingent on live exact-head CI/security/package/provenance evidence, zero operative unresolved review findings, and the repository's required independent non-author approval. Protected base, source head, reviews, threads, and checks must be refetched immediately before any integration action; predecessor evidence does not transfer.
Fixes #905.