{"record":{"id":"60db7f0a2f8effc4","repo":"github/spec-kit","slug":"descriptor-not-found-path","errorCode":null,"errorMessage":"Descriptor not found: {path}","messagePattern":"Descriptor not found: (.+?)","errorType":"validation","errorClass":"IntegrationDescriptorError","httpStatus":null,"severity":"error","filePath":"src/specify_cli/integrations/catalog.py","lineNumber":682,"sourceCode":"    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}\"\n                )\n","sourceCodeStart":664,"sourceCodeEnd":700,"githubUrl":"https://github.com/github/spec-kit/blob/bf88c9f9a82fa370c7a7257aa2b3cf10b457b65c/src/specify_cli/integrations/catalog.py#L664-L700","documentation":"Error \"Descriptor not found: {path}\" thrown in github/spec-kit.","triggerScenarios":"Thrown at src/specify_cli/integrations/catalog.py:682 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Provide the path to an existing integration 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-15T22:17:37.221Z"}