← Back to issue list

Craft-application should include a schema JSON and a CI job to check the schema.

View original Github issue

Metadata

Project
craft-application
Number
#875
Type
issue
State
open
Author
lengau
Labels
Status: Triaged Type: Enhancement
Created
Updated
Closed
—

Current evaluation

Maintainer-filed enhancement (Status: Triaged, internal CRAFT-4712) to vendor rockcraft's schema generator plus a CI schema-diff job in craft-application, so schema changes surface in changelogs. Not yet implemented.

Suggested action: keep open

Reason: The feature is still entirely absent from the tree: there is no `tools/schema/schema.py` (no top-level `tools/` directory at all) and `git log` for `.github/workflows/schema.yaml` returns "no matching commits"; `.github/workflows/` only contains check-renovate, copilot-collections-update, policy, qa, release-publish and one more, none of which generate or diff a schema JSON. Schema infrastructure is otherwise mature (e.g. `craft_application/models/platforms.py` implements `__get_pydantic_json_schema__` and `tests/integration/models/test_project_schema.py` calls `models.Project.model_json_schema()`), so the requested work is buildable. The issue is triaged by maintainer lengau, cites concrete upstream reference implementations (rockcraft `tools/schema/schema.py` and `.github/workflows/schema.yaml`), and is tracked by an internal Jira ticket, so it stays a valid open enhancement — its age is not a reason to close it.

Evaluated by: mr-cal-bot

Impact: 32 Quick Win: 14 Complexity: 45 Confidence: 88 Actionability: 78

Issue body

### What needs to get done We should include an upstream version of the [schema generator](https://github.com/canonical/rockcraft/blob/main/tools/schema/schema.py) and a [Schema validator/diff checker](https://github.com/canonical/rockcraft/blob/main/.github/workflows/schema.yaml) CI job in craft-application. ### Why it needs to get done We should know when a change is going to affect applications' schemas so we can include that fact in the changelog. While this might not cover every possible case, doing it will still improve things significantly. Perhaps we could generate separate schema files for all of our fakecrafts (testcraft, partitioncraft, platformcraft, witchcraft) to test more scenarios where the schema could change.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 32
Quick Win: 14
Complexity: 45
Confidence: 88
Actionability: 78
keep open Maintainer-filed enhancement (Status: Triaged, internal CRAFT-4712) to vendor rockcraft's schema generator plus a CI schema-diff job in craft-application, so schema changes surface in changelogs. Not yet implemented.
qwen/qwen3.6-35b-a3b
Impact: 35
Quick Win: 20
Complexity: 30
Confidence: 75
Actionability: 80
keep open Enhancement to add a schema generator tool and CI job to detect schema changes in craft-application models, with separate schemas for testcraft, partitioncraft, and witchcraft.
qwen/qwen3.8-27b
Impact: 35
Quick Win: 19
Staleness: 70
Complexity: 45
Confidence: 80
Support Request: 5
keep open Enhancement to add a schema generator and CI schema-diff job to craft-application, modeled on rockcraft's tooling, so schema-affecting changes can be flagged in changelogs. Triaged by a maintainer but no implementation progress in ~12 months.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 45
Confidence: 75
Support Request: 10
keep open Enhancement to add a schema generator and CI validation job to craft-application for tracking schema changes across related projects. Currently triaged but inactive for over a year with no implementation progress.
qwen3.6-35b-a3b-mtp-q6
Staleness: 90
Complexity: 30
Confidence: 75
Support Request: 5
close stale Enhancement to add schema generation and CI validation to craft-application. Triaged but inactive for over a year with only automated Jira sync comments and no assignee or progress.

Update history

No update history recorded yet.

Related issues

No related issues found above the similarity threshold.