refactor(jmle): rebase Rust optimizer ownership contract on current main - #744
refactor(jmle): rebase Rust optimizer ownership contract on current main#744seonghobae 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 |
|
@opencode-agent address Exact bounded implementation handoff for issue #626 / Draft #744. Re-read source head RED is exact and production-boundary-valid on CI run Implement the narrowest GREEN that makes Rust the production optimizer owner while preserving current public behavior:
Stop writing immediately if source/base/writer identity changes. Update the PR body with exact new evidence; keep Draft while any gate remains. |
|
Superseded by clean current-main Draft #751. Fresh compare proved #744 head |
Controlled clean-lineage replacement for #738 / issue #626
Protected
mainat creation is933ce6cdfedbbf92b30e73ed25f0ef0d926357f2. Old Draft #738 is now stale and its exact writer handoffs were explicitly bound to predecessor bases. This replacement preserves its only unique delta—the fail-first JMLE optimizer-ownership contract—without transferring predecessor checks, reviews, approvals or mergeability.Intentional RED
The first commit adds only
tests/test_jmle_rust_optimizer_ownership.py. It requires installed public JMLE fitting underbackend="rust"to complete foradam,lbfgs, andadam_lbfgswhile sentinels replace legacy Python_adam/_lbfgsloops.Valid RED must build/import the actual Rust/PyO3 package and reach optimizer ownership. Setup/import/fixture/changelog failure is not evidence.
Minimum GREEN
Move result-affecting JMLE optimizer arithmetic/control into
mlsirm-core: Adam state/update and gradient clipping; L-BFGS history/two-loop/curvature/line-search; andadam_lbfgsphase sequencing/convergence needed to preserve the public result. Expose thin PyO3 transport; Python keeps validation, deterministic marshalling and reporting only. Missing/incompatible Rust capability must fail closed. Preserve public optimizer/model/seed/restart/objective/trace semantics unless a separate test-first scientific defect proves otherwise.Add direct Rust/public parity and realistic aligned bias/MAE/RMSE/convergence recovery, complete docs/rustdoc, APA-7 method traceability and changelog only after GREEN. Keep CPU execution unless profiling justifies GPU. Require one unchanged final head with focused/full Python 3.12/3.14, Rust/PyO3, package/reinstall, existing GPU/fuzz, Security/SAST, exact coverage/docstrings and current-head review/governance gates.
Do not widen into MMLE, providers, dependencies/workflows/version/release, hosted state, or canonical #604 documentation. Advances #626 and supersedes #738 once this replacement is established.