{"record":{"id":"d7409b416f34b1fa","repo":"github/spec-kit","slug":"invalid-yaml-in-path-exc","errorCode":null,"errorMessage":"Invalid YAML in {path}: {exc}","messagePattern":"Invalid YAML in (.+?): (.+?)","errorType":"validation","errorClass":"IntegrationDescriptorError","httpStatus":null,"severity":"error","filePath":"src/specify_cli/integrations/catalog.py","lineNumber":680,"sourceCode":"    \"\"\"\n\n    SCHEMA_VERSION = \"1.0\"\n    REQUIRED_TOP_LEVEL = [\"schema_version\", \"integration\", \"requires\", \"provides\"]\n\n    def __init__(self, descriptor_path: Path) -> None:\n        self.path = descriptor_path\n        self.data = self._load(descriptor_path)\n        self._validate()\n\n    # -- Loading ----------------------------------------------------------\n\n    @staticmethod\n    def _load(path: Path) -> dict:\n        try:\n            with open(path, \"r\", encoding=\"utf-8\") as fh:\n                return yaml.safe_load(fh) or {}\n        except yaml.YAMLError as exc:\n            raise IntegrationDescriptorError(f\"Invalid YAML in {path}: {exc}\")\n        except FileNotFoundError:\n            raise IntegrationDescriptorError(f\"Descriptor not found: {path}\")\n        except (OSError, UnicodeError) as exc:\n            raise IntegrationDescriptorError(\n                f\"Unable to read descriptor {path}: {exc}\"\n            )\n\n    # -- Validation -------------------------------------------------------\n\n    def _validate(self) -> None:\n        if not isinstance(self.data, dict):\n            raise IntegrationDescriptorError(\n                f\"Descriptor root must be a YAML mapping, got {type(self.data).__name__}\"\n            )\n        for field in self.REQUIRED_TOP_LEVEL:\n            if field not in self.data:\n                raise IntegrationDescriptorError(\n                    f\"Missing required field: {field}\"","sourceCodeStart":662,"sourceCodeEnd":698,"githubUrl":"https://github.com/github/spec-kit/blob/bf88c9f9a82fa370c7a7257aa2b3cf10b457b65c/src/specify_cli/integrations/catalog.py#L662-L698","documentation":"Error \"Invalid YAML in {path}: {exc}\" thrown in github/spec-kit.","triggerScenarios":"Thrown at src/specify_cli/integrations/catalog.py:680 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the YAML syntax in the descriptor file."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"bf88c9f9a82fa370c7a7257aa2b3cf10b457b65c","analyzedAt":"2026-08-14T19:43:37.150Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}