bayesline.api.equity.RiskDatasetSettingsMenu#
- model RiskDatasetSettingsMenu#
Joint menu for both
DerivedRiskDatasetSettingsandRootRiskDatasetSettings.The two settings types share one menu so they can flow through a single typed registry, validator, and REST endpoint via Pydantic’s discriminated union dispatch on
kind. Fields on this menu are partitioned by ``kind`` — only the subset relevant to a given variant is populated:kind="derived"→available_reference_datasetsis populated; everyavailable_*_sourcesfield isNone.kind="root"→ everyavailable_*_sourcesfield is populated;available_reference_datasetsisNone.
The validator populates the union of both per-variant subsets, and Pydantic field validators on each settings class read only the fields they need. Consumers (especially the GUI renderer) MUST branch on the target settings’ ``kind`` before reading fields off this menu — a
Nonehere can mean either “this variant doesn’t use this field” or “the validator didn’t populate it” and the two are not distinguishable from the menu alone.A field set to
Noneis the not-populated sentinel — validators skip the membership check. An empty list is a meaningful constraint: no entries are allowed.Fields# Field
Type
Required
Default
No
NoneNo
NoneNo
NoneNo
NoneNo
NoneNo
NoneNo
NoneNo
NoneNo
None