| 9 | |
| 10 | |
| 11 | class Depth(StrEnum): |
| 12 | QUICK = "quick" |
| 13 | STANDARD = "standard" |
| 14 | DEEP = "deep" |
| 15 | THOROUGH = "thorough" |
| 16 | |
| 17 | @property |
| 18 | def confidence_label(self) -> str: |
| 19 | return { |
| 20 | Depth.QUICK: "Estimated", |
| 21 | Depth.STANDARD: "Assessed", |
| 22 | Depth.DEEP: "Certified", |
| 23 | Depth.THOROUGH: "Certified+", |
| 24 | }[self] |
| 25 | |
| 26 | @property |
| 27 | def layers(self) -> list[str]: |
| 28 | return { |
| 29 | Depth.QUICK: ["static"], |
| 30 | Depth.STANDARD: ["static", "judge"], |
| 31 | Depth.DEEP: ["static", "judge", "monte_carlo"], |
| 32 | Depth.THOROUGH: ["static", "judge", "monte_carlo"], |
| 33 | }[self] |
| 34 | |
| 35 | |
| 36 | class EvalConfig(BaseModel): |