test(cat): preserve public selection input immutability - #745
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 |
|
Superseded by clean current-main Draft #749. Fresh exact evidence before replacement: #745 head |
Why
PR #741 moved public CAT item information and final next-item selection into Rust/PyO3, but stale predecessor #735 carried a non-duplicative caller-array immutability regression that did not land with the production migration. Issue #629 explicitly requires immutable public marshalling.
What
Add current-main regression coverage proving
item_information()andselect_cat_item()do not mutate caller-provided theta, factor-map, or administered-item arrays while exercising the installed Rust-backed public path.No numerical formula, selection policy, dependency, workflow, provider, documentation authority, version, or release behavior changes.
Acceptance
Require focused/full Python 3.12/3.14 plus applicable repository CI/Security/SAST review gates on one unchanged head. After protected integration this PR absorbs the remaining valuable verification delta from stale Draft #735, allowing #735 to close without losing evidence. Advances #629.