Expose observation metadata for RLSSM producers - #341
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults 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 |
Codecov Report❌ Patch coverage is
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Depends on #340.
Scope
ssms.rl.ModelConfigthrough the generic producer accessorrt,responsefor RT-based modelsresponsefor choice-only modelschoicestuple, independently ofresponse_to_choiceAssembledModelwhile returning a fresh descriptor on accessCompatibility boundary
This remains an out-of-band metadata interface. It does not change RL simulation or predictive panels, dummy RT behavior, context fields, participant input order, learning updates, preset metadata, or
to_hssm_config_dict().The new
ModelConfiginputs are keyword-only.AssembledModelretains its exact constructor, pattern-matching, dataclass-field, serialization, representation, and equality surfaces. Its private schema snapshot is not a dataclass field.The one intentional tightening is that an assembled model with a non-standard response layout must now declare that layout explicitly. Standard layouts cannot override their derived schemas, so RT and response semantics continue to have one source of truth.
Evidence
tests/rlsuite: 309 passedDeferred
Cross-repository consumer matrices and contributor documentation remain isolated to 6A3d. No downstream consumer is switched to normalized structured results in this PR.