refactor(cat): route public item information through Rust - #735
refactor(cat): route public item information through Rust#735seonghobae wants to merge 4 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 |
|
@opencode-agent address Bounded deterministic release-note handoff for exact Draft #735 head Do only the deterministic managed changelog completion: run |
|
@opencode-agent address Fresh bounded reconciliation/release-note handoff for Draft #735. The prior handoff First reconcile current protected main non-destructively, preserving all accepted #733 behavior and this PR's already-GREEN bounded CAT item-information ownership slice. Recreate focused ownership/immutability evidence on the reconciled exact head. If the source contract remains GREEN, perform only the deterministic release-note completion: render |
|
Superseded by GREEN #741. |
Controlled clean-lineage replacement for the item-information half of #721 / #629
Protected
mainat creation is7b57f77747b9a9bd911660c76b1be0ca0dc2d145; this branch descends directly from that exact head. Old Draft #721 is ~197 protected-main commits stale and bundled both item-information and final next-item ranking ownership. This replacement preserves its non-duplicative fail-first intent while narrowing the first accepted slice to the part that already has an exact reusable Rust owner:mlsirm_core::scoring::bank_information_deviceexposed by_core.bank_information.Test-first history
2757718968f160ea5d1aae9ec9a8a27cbd3c5958adds public-boundary ownership/immutability tests. On pre-change code the sentinel_core.bank_informationreceives zero calls.ca50c0b544c08a61d4de0646e7b70294b1546eb0removes Python probability/Fisher-information arithmetic fromitem_information()and delegates the exact simple-structure item-information vector to the compiled Rust scoring entrypoint used by serving.Bounded behavior
theta/person_indexand population-meanxisemantics are preserved through the existing_person_paramscontract.predict_probaplusa²P(1-P)in Python.Deliberate remaining #629 work
select_cat_item()still owns the final global administered-item masking / deterministicargmaxpolicy in Python. Existing Rustcat_next_itemis not an exact substitute because it first performs EAP scoring and targets the dimension with largest posterior SD. Reusing that different policy would silently change the public estimand. Final global selection ownership and fixed-form assembly therefore remain explicit follow-up work under #629 and must be moved to an exact Rust policy kernel test-first.Gates
Keep Draft until the intentional test-first history is followed by focused and full Python 3.12/3.14, Rust/PyO3, package/reinstall, existing GPU/fuzz, Security Scan, SAST and current-head review evidence on one unchanged head. Add authoritative changelog/doctoring only after the source slice is GREEN. No canonical #604 docs, dependency/workflow, version/release, hosted state or unrelated CAT ability changes belong here.
Supersedes the stale item-information portion of #721; does not close issue #629.