Use pydantic instead of jsonschema for legacy store
Metadata
Current evaluation
Triaged enhancement to replace legacy store channel-map jsonschema validation with Pydantic; it remains open, and jsonschema 2.6.0 is still pinned.
Suggested action: keep open
Reason: The maintainer-authored issue is labeled Triaged and clearly identifies the migration. Current code still makes seven jsonschema validation calls in snapcraft/store/channel_map.py and pins jsonschema==2.6.0; the only comment is an automated Jira-ticket notice, with no resolving commit or implementation.
Evaluated by: mr-cal-bot
Impact:
46
Quick Win:
14
Complexity:
64
Confidence:
98
Actionability:
84
Issue body
### What needs to get done
The legacy code for parsing the store responses should use Pydantic models instead of validating with the `jsonschema` library.
### Why it needs to get done
The current legacy code uses a pinned version of jsonschema that is very difficult to upgrade. Instead of upgrading, the code should just move over to using the more modern pydantic models.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
46
Quick Win:
14
Complexity:
64
Confidence:
98
Actionability:
84
|
keep open | Triaged enhancement to replace legacy store channel-map jsonschema validation with Pydantic; it remains open, and jsonschema 2.6.0 is still pinned. | |
| stealth/space-bunny-alpha |
Impact:
32
Quick Win:
12
Complexity:
48
Confidence:
80
Actionability:
75
|
keep open | Maintainer-filed enhancement (Triaged) to port legacy store response parsing in snapcraft/store/channel_map.py from jsonschema to pydantic models, unblocking removal of the pinned jsonschema==2.6.0; still unimplemented. | |
| qwen/qwen3.6-35b-a3b |
Impact:
30
Quick Win:
13
Complexity:
40
Confidence:
75
Actionability:
70
|
keep open | Migrate legacy store code from jsonschema to pydantic models. Issue is triaged and the code still uses jsonschema. | |
| qwen/qwen3.8-27b |
Impact:
25
Quick Win:
14
Staleness:
70
Complexity:
45
Confidence:
80
Support Request:
5
|
keep open | Enhancement to migrate legacy store response parsing (channel_map.py) from pinned jsonschema 2.6.0 to Pydantic models. Triaged by a maintainer with Jira ticket SNAPCRAFT-1203, but no activity for over a year; code at HEAD still uses jsonschema, so the work remains. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
90
Complexity:
40
Confidence:
85
Support Request:
5
|
keep open | Enhancement to replace pinned jsonschema with pydantic for legacy store parsing. Triaged by a maintainer, currently inactive for over a year with no assigned work or progress. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
85
Complexity:
20
Confidence:
85
Support Request:
0
|
keep open | Enhancement to replace pinned jsonschema with Pydantic models for legacy store response parsing. Triaged by maintainer, inactive for over a year, awaiting implementation. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcraft#5654
(confidence 96%)
Companion Pydantic migration issue for legacy project parsing; closed without implementing the migration.
-
Related To:
snapcraft#5653
(confidence 94%)
Another Pydantic migration issue in the same legacy jsonschema-removal series.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #5230 Update jsonschema | snapcraft | open | Triaged enhancement remains open: jsonschema is still pinned to 2.6.0, and the remaining store channel-map validation must be modernized or replaced with Pydantic. | |
| #5653 Use pydantic instead of jsonschema for legacy project | snapcraft | open | Obsolete after snapcraft_legacy removal: project parsing no longer uses jsonschema; the remaining store migration is tracked separately in #5655. | |
| #5654 Use pydantic instead of jsonschema for legacy project | snapcraft | closed | Closed without the requested Pydantic migration; PR #5690 (f12ce847d) only updated jsonschema to 2.6.0, leaving legacy project validation on the old library. |