{"record":{"id":"746c333bbff9f3a4","repo":"github/spec-kit","slug":"unsupported-schema-version-self-data-schema-ver-746c33","errorCode":null,"errorMessage":"Unsupported schema version: {self.data['schema_version']} (expected {self.SCHEMA_VERSION})","messagePattern":"Unsupported schema version: (.+?) \\(expected (.+?)\\)","errorType":"validation","errorClass":"PresetValidationError","httpStatus":null,"severity":"error","filePath":"src/specify_cli/presets/__init__.py","lineNumber":314,"sourceCode":"            raise PresetValidationError(f\"Could not read manifest {path}: {e}\")\n        if data is None:\n            return {}\n        if not isinstance(data, dict):\n            raise PresetValidationError(\n                f\"Manifest must be a YAML mapping, got {type(data).__name__}: {path}\"\n            )\n        return data\n\n    def _validate(self):\n        \"\"\"Validate manifest structure and required fields.\"\"\"\n        # Check required top-level fields\n        for field in self.REQUIRED_FIELDS:\n            if field not in self.data:\n                raise PresetValidationError(f\"Missing required field: {field}\")\n\n        # Validate schema version\n        if self.data[\"schema_version\"] != self.SCHEMA_VERSION:\n            raise PresetValidationError(\n                f\"Unsupported schema version: {self.data['schema_version']} \"\n                f\"(expected {self.SCHEMA_VERSION})\"\n            )\n\n        for section in (\"preset\", \"requires\", \"provides\"):\n            if not isinstance(self.data[section], dict):\n                raise PresetValidationError(\n                    f\"Invalid {section}: expected a mapping\"\n                )\n\n        # Validate preset metadata\n        pack = self.data[\"preset\"]\n        # Check presence AND type: the format/version checks below feed these\n        # values straight to ``re.match`` and ``packaging.Version``, both of\n        # which raise a bare TypeError on a non-string. YAML makes that an easy\n        # authoring slip -- unquoted ``version: 1.0`` parses as a float and\n        # ``id: 2`` as an int -- and TypeError is not a PresetValidationError,\n        # so it escapes every caller that already handles a malformed manifest","sourceCodeStart":296,"sourceCodeEnd":332,"githubUrl":"https://github.com/github/spec-kit/blob/bf88c9f9a82fa370c7a7257aa2b3cf10b457b65c/src/specify_cli/presets/__init__.py#L296-L332","documentation":"Error \"Unsupported schema version: {self.data['schema_version']} (expected {self.SCHEMA_VERSION})\" thrown in github/spec-kit.","triggerScenarios":"Thrown at src/specify_cli/presets/__init__.py:314 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set schema_version in the preset manifest to the supported SCHEMA_VERSION value."],"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"}