Strict output schema.
| 126 | |
| 127 | |
| 128 | class SelectorResult(BaseModel): |
| 129 | """Strict output schema.""" |
| 130 | |
| 131 | model_config = ConfigDict(extra="forbid") |
| 132 | |
| 133 | schema_version: int = 2 |
| 134 | diff_mode: DiffMode = DiffMode.FALLBACK_NO_HEAD |
| 135 | |
| 136 | lanes: LaneSelection = Field(default_factory=LaneSelection) |
| 137 | |
| 138 | pytest_paths: list[str] = Field(default_factory=list) |
| 139 | functional_scripts: list[str] = Field(default_factory=list) |
| 140 | provenance: SelectionProvenance = Field(default_factory=SelectionProvenance) |
| 141 | |
| 142 | reasons: list[str] = Field(default_factory=list) |
| 143 | changed_files: list[str] = Field(default_factory=list) |
| 144 | lane_reasons: dict[str, list[str]] = Field(default_factory=dict) |
| 145 | |
| 146 | |
| 147 | SelectorResult.model_rebuild() # Ensure model is fully built at import time for validation in main() |