github/spec-kit · error · IntegrationDescriptorError
Descriptor root must be a YAML mapping, got {type(self.data)
Error message
Descriptor root must be a YAML mapping, got {type(self.data).__name__} What it means
Error "Descriptor root must be a YAML mapping, got {type(self.data).__name__}" thrown in github/spec-kit.
Source
Thrown at src/specify_cli/integrations/catalog.py:692
@staticmethod
def _load(path: Path) -> dict:
try:
with open(path, "r", encoding="utf-8") as fh:
return yaml.safe_load(fh) or {}
except yaml.YAMLError as exc:
raise IntegrationDescriptorError(f"Invalid YAML in {path}: {exc}")
except FileNotFoundError:
raise IntegrationDescriptorError(f"Descriptor not found: {path}")
except (OSError, UnicodeError) as exc:
raise IntegrationDescriptorError(
f"Unable to read descriptor {path}: {exc}"
)
# -- Validation -------------------------------------------------------
def _validate(self) -> None:
if not isinstance(self.data, dict):
raise IntegrationDescriptorError(
f"Descriptor root must be a YAML mapping, got {type(self.data).__name__}"
)
for field in self.REQUIRED_TOP_LEVEL:
if field not in self.data:
raise IntegrationDescriptorError(
f"Missing required field: {field}"
)
if self.data["schema_version"] != self.SCHEMA_VERSION:
raise IntegrationDescriptorError(
f"Unsupported schema version: {self.data['schema_version']} "
f"(expected {self.SCHEMA_VERSION})"
)
integ = self.data["integration"]
if not isinstance(integ, dict):
raise IntegrationDescriptorError(
"'integration' must be a mapping"View on GitHub (pinned to bf88c9f9a8)
Solutions
- Make the descriptor's top level a YAML mapping.
When it happens
Trigger: Thrown at src/specify_cli/integrations/catalog.py:692 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of github/spec-kit@bf88c9f9a8 (2026-08-14).
Data as JSON: /api/errors/2dbe279f9ab3b71c.
Report an issue: GitHub.