Migrate legacy schema
Metadata
Current evaluation
Migrated the legacy schema to snapcraft-legacy.json and updated snapcraft_legacy to use the copy; merged in #5751 (cf2ecd9dc).
Resolution: closed resolved
Reason: The schema migration was completed in merged PR #5751, commit cf2ecd9dc, which added the legacy schema copy for snapcraft_legacy while retaining the original schema for SchemaStore.
Evaluated by: mr-cal-bot
No scores available.
Issue body
### What needs to get done
Move the current schema from `schema/snapcraft.json` to `schema/snapcraft-legacy.json` and update the file names in snapcraft_legacy, such as:
https://github.com/canonical/snapcraft/blob/4defbc5012627f4be5b78d5291b647a7bee0c849/snapcraft_legacy/project/_schema.py#L55
### Why it needs to get done
`schema/snapcraft.json` is consumed by the schemastore for validation and auto-completion.
It's also used by snapcraft_legacy for unpacking snapcraft.yaml files. This means we can't make schema changes (like https://github.com/canonical/snapcraft/pull/5730) without affecting legacy snapcraft's behavior.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Migrated the legacy schema to snapcraft-legacy.json and updated snapcraft_legacy to use the copy; merged in #5751 (cf2ecd9dc). | |
| stealth/space-bunny-alpha | — | closed resolved | Schema was copied to snapcraft-legacy.json for snapcraft_legacy while schema/snapcraft.json was kept for SchemaStore. Closed by mr-cal on 2025-09-05 as completed in merged PR #5751 (commit cf2ecd9dc). | |
| stealth/space-bunny-alpha | — | closed resolved | Completed in merged PR #5751: snapcraft_legacy now uses a copied schema, while schema/snapcraft.json remains available for SchemaStore. | |
| qwen/qwen3.6-35b-a3b | — | — | Migrated schema/snapcraft.json to snapcraft-legacy.json and updated legacy references in PR #5751. This isolates the legacy schema, allowing independent updates without affecting legacy snapcraft behavior. | |
| qwen/qwen3.6-35b-a3b | — | — | Migrated schema/snapcraft.json to schema/snapcraft-legacy.json and updated legacy references to isolate schema changes from legacy snapcraft. Completed and closed via pull request #5751. | |
| qwen/qwen3.6-35b-a3b | — | — | Migrated the legacy schema file and updated internal references to isolate legacy behavior. The enhancement was completed and merged via pull request #5751. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Migrated schema/snapcraft.json to schema/snapcraft-legacy.json and updated legacy references. This allows independent schema updates without affecting legacy snapcraft. Completed and merged in PR #5751. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
canonical/snapcraft#5751
(confidence 100%)
Merged PR explicitly resolving issue #5744 by separating the legacy schema.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #5751 chore(snapcraft_legacy): use a copy of the schema #5744 | snapcraft | merged | Merged in canonical/snapcraft#5751 (commit cf2ecd9dc), adding a legacy schema copy for snapcraft_legacy while retaining the original for SchemaStore. | |
| #1560158 Migrate old Snapcraft state tracking to new | snapcraft (launchpad) | closed | Legacy file-based state was migrated to the new directory-based format, fixing builds in trees left dirty by older Snapcraft versions. Merged in snapcraft#385. | |
| #2446 Update schema/snapcraft.yaml | snapcraft | closed | PR #2446 edited schema/snapcraft.yaml to aid yaml-to-json converters but was closed unmerged in favour of #2448, which replaced the YAML schema with snapcraft.json (commit 2a2f798d0). | |
| #5338 Migrate snapcraft_legacy store commands | snapcraft | closed | All four legacy store commands were migrated through merged PRs #6109, #6128, #6207, and #6218; snapcraft_legacy was later removed. |