fix(bundler): reject unsupported catalog payload versions - #4090
Conversation
Assisted-by: GitHub Copilot (model: gpt-5.6-sol, autonomous) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Rejects incompatible bundle catalog schema versions while preserving support for versionless and 1.x payloads.
Changes:
- Adds catalog schema major-version validation.
- Adds a regression test for unsupported 2.0 payloads.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
src/specify_cli/bundler/models/catalog.py |
Validates catalog payload schema versions before parsing entries. |
tests/contract/test_catalog_schema.py |
Tests rejection of unsupported schema versions. |
馃挕 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
mnriem
left a comment
There was a problem hiding this comment.
Please address Copilot feedback
Assisted-by: GitHub Copilot (model: gpt-5.6-sol, autonomous) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Assisted-by: GitHub Copilot (model: gpt-5.6-sol, autonomous) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Addressed the compatibility coverage request on commit |
|
Thank you! |
Description
Bundle catalog payloads can declare
schema_version, but the loader currently ignores it and parses future incompatible formats under current assumptions.This rejects unsupported major versions before reading entries. Payloads without a version remain accepted for backward compatibility, and compatible 1.x payloads retain current behavior.
Testing
uv run specify --helpuv sync && uv run pytest(6,652 passed, 177 skipped)2.0payloaduvx ruff@0.15.0 check src testscleanAI Disclosure
Implemented autonomously by GitHub Copilot CLI (model: GPT-5.6 Sol) under human direction; a failing contract regression was added before the fix, then the full suite and lint were run locally. Commit includes
Assisted-byandCo-authored-bytrailers.