Structured failure from :func:`try_read_integration_json`. Callers map ``kind`` to whatever surface they need (loud CLI error, silent fallback, etc.) without re-implementing the parse/validation logic.
| 14 | |
| 15 | @dataclass(frozen=True) |
| 16 | class IntegrationReadError: |
| 17 | """Structured failure from :func:`try_read_integration_json`. |
| 18 | |
| 19 | Callers map ``kind`` to whatever surface they need (loud CLI error, |
| 20 | silent fallback, etc.) without re-implementing the parse/validation logic. |
| 21 | """ |
| 22 | |
| 23 | kind: str # "decode", "os", "not_object", "schema_too_new" |
| 24 | detail: str = "" |
| 25 | schema: int | None = None |
| 26 | |
| 27 | |
| 28 | def _read_integration_json_data( |
no outgoing calls
no test coverage detected