Use pydantic instead of jsonschema for legacy project
Metadata
Current evaluation
Obsolete after snapcraft_legacy removal: project parsing no longer uses jsonschema; the remaining store migration is tracked separately in #5655.
Suggested action: close stale
Reason: Commit ffb164b7a ("chore: remove snapcraft_legacy") removed the affected legacy subsystem, making the requested migration obsolete. In the current tree, jsonschema is absent from project parsing and remains only in snapcraft/store/channel_map.py, which is separately covered by #5655.
Evaluated by: mr-cal-bot
Impact:
15
Quick Win:
12
Complexity:
10
Confidence:
92
Actionability:
90
Issue body
### What needs to get done
The legacy code for parsing the project 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:
15
Quick Win:
12
Complexity:
10
Confidence:
92
Actionability:
90
|
close stale | Obsolete after snapcraft_legacy removal: project parsing no longer uses jsonschema; the remaining store migration is tracked separately in #5655. | |
| stealth/space-bunny-alpha |
Impact:
20
Quick Win:
12
Complexity:
10
Confidence:
93
Actionability:
65
|
close stale | Migration is obsolete: current project loading uses craft_application and no project code imports jsonschema; remaining usage is store-only and tracked in #5655. | |
| stealth/space-bunny-alpha |
Impact:
45
Quick Win:
12
Complexity:
60
Confidence:
82
Actionability:
67
|
keep open | Triaged enhancement to migrate legacy project parsing from jsonschema to Pydantic. Pydantic project models now exist, but jsonschema 2.6.0 remains pinned and the remaining legacy scope needs verification. | |
| stealth/space-bunny-alpha |
Impact:
15
Quick Win:
13
Complexity:
10
Confidence:
96
Actionability:
95
|
close resolved | The legacy project code was removed in commit ffb164b7a, and its dependencies in 995f0a3bc; the requested Pydantic migration is no longer needed. | |
| stealth/space-bunny-alpha |
Impact:
8
Quick Win:
8
Complexity:
0
Confidence:
98
Actionability:
98
|
close stale | Legacy project parsing was targeted for migration from jsonschema to Pydantic, but the legacy subsystem was removed; remaining jsonschema validation belongs to separate store work in #5655. | |
| stealth/space-bunny-alpha |
Impact:
5
Quick Win:
0
Complexity:
0
Confidence:
92
Actionability:
0
|
close stale | Migrate legacy project parsing from pinned jsonschema 2.6.0 to pydantic. Now moot: snapcraft_legacy was removed and project parsing already uses pydantic. Remaining jsonschema use is store-only (#5655). | |
| qwen/qwen3.6-35b-a3b |
Impact:
30
Quick Win:
13
Complexity:
40
Confidence:
70
Actionability:
70
|
close stale | Enhancement to migrate legacy project parsing from jsonschema to Pydantic models. Issue is closed without implementation; codebase still uses pinned jsonschema 2.6.0. | |
| qwen/qwen3.8-27b |
Impact:
20
Quick Win:
12
Staleness:
85
Complexity:
40
Confidence:
80
Support Request:
0
|
close stale | Migrate legacy snapcraft project parsing from jsonschema to Pydantic models. Issue was closed as abandoned, but the legacy code (snapcraft_legacy) has since been removed entirely from the codebase, making the issue moot. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
85
Complexity:
50
Confidence:
85
Support Request:
5
|
keep open | Enhancement to replace jsonschema with pydantic for legacy project parsing. Currently triaged and linked to an internal Jira ticket, but has seen no maintainer activity in over a year. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
75
Complexity:
40
Confidence:
75
Support Request:
5
|
close stale | Enhancement to replace pinned jsonschema with pydantic for legacy project parsing. Triaged but inactive for 329 days with only a Jira sync bot comment. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcraft#5655
(confidence 99%)
Tracks the remaining legacy store migration corresponding to current jsonschema usage.
-
Related To:
snapcraft#5654
(confidence 95%)
Same-title legacy project migration issue, closed without an implementation.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #5655 Use pydantic instead of jsonschema for legacy store | snapcraft | open | Triaged enhancement to replace legacy store channel-map jsonschema validation with Pydantic; it remains open, and jsonschema 2.6.0 is still pinned. |