test(config): reject unsupported bifactor JMLE during preflight - #711
seonghobae wants to merge 2 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 |
|
Superseded: BIFAC2PLM+JMLE fail-closed at FitConfig.validate restored on main via #713 (test_model_estimator_compatibility). |
Fail-first slice for #643
Protected
mainat branch creation:56967deceafeb7ecd0ff08a98f196282a6ec81a3.The public
FitConfigcurrently advertises bothjmleandmmlefor everyVALID_MODELSidentity, whileBIFAC2PLM + jmleis not an implemented fitting path. This Draft adds only the smallest intentional RED at configuration validation:BIFAC2PLM + jmlemust raise a boundedValueErrorduringFitConfig.validate()and identifymmleas the supported estimator;BIFAC2PLM + mmleremains valid.The current protected implementation is expected to fail the first test because validation accepts the unsupported pair. Setup/import/fixture/changelog failures are not valid RED.
After exact-head CI proves that boundary, implement the narrowest compatibility policy in
python/fast_mlsirm/config.py, add the complete currentVALID_MODELS × VALID_ESTIMATORScompatibility matrix, remove or demote any normal-path lateNotImplementedError, preserve all implemented JMLE/MMLE numerics, add authoritative changelog/doctoring, and run all required same-head gates. Do not widen into a new bifactor JMLE estimator, numerical formulas, dependencies/workflows, release/version work, or canonical #604 documentation.Keep Draft until RED→GREEN history and current-head review/gates are complete. Advances #643.