refactor(ata): move fixed-form greedy assembly ownership to Rust - #747
refactor(ata): move fixed-form greedy assembly ownership to Rust#747seonghobae wants to merge 1 commit 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 |
|
Superseded by clean current-main Draft #750. Fresh compare proved #747 head |
* refactor(ata): own fixed-form greedy assembly in Rust Public assemble_test_form validates and marshals only; ordering, exclusion, and content-feasibility decisions move to assemble_test_form_greedy with ownership sentinel tests, changelog fragment, and APA doctoring. Supersedes draft #747 once green. * test(ata): fail first on reflected content labels * fix(ata): omit caller content labels from constraint errors Fail closed on non-negative content counts without reflecting caller-controlled label strings in ValueError messages. * fix(ata): restore content-label key lookup in constraint validation
Buyer-visible architecture gap
Issue #629 is now partially integrated: protected main owns CAT item information and final next-item selection through Rust/PyO3, while
assemble_test_form()still performs result-affecting score ordering, exclusion filtering, per-content min/max enforcement and look-ahead feasibility in Python.This clean current-main Draft starts the remaining fixed-form assembly port test-first.
Intentional RED
The first commit adds only
tests/test_test_form_rust_ownership.py. It replaces the proposed compiled owner_core.assemble_test_form_greedywith a sentinel valid form and requires the public API to return that exact result without mutating caller information/content/exclusion arrays. Current Python-owned greedy logic should therefore fail the delegation assertion while the rest of the suite remains unchanged.Valid RED must build/import the installed Rust/PyO3 package and reach this public selection boundary; setup/import/fixture/changelog failures are not acceptance evidence.
Minimum GREEN
mlsirm-corekernel;No CAT ability/item-information semantics, hosted state, provider, dependency/workflow, version/release or new exact ATA optimizer belongs in this slice. Advances #629.