feat: mediate creation of metadata.yaml
Metadata
Current evaluation
PR #2874 merged to charmcraft main (2 approvals): implements craft-application's package service API so metadata.yaml creation is mediated in Charm/rock layers, tracking CHARMCRAFT-723.
Resolution: closed resolved
Reason: The PR was merged into main with 2 approving reviewers and lint, fast, and slow test jobs passing; the diff (+128/-55, 3 files) adds craft-application package service wiring so metadata.yaml is no longer written directly.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Implement craft-application's package service API to mediate creation
of `metadata.yaml`.
---
CHARMCRAFT-723
- [x] I've followed the [contribution guidelines](https://github.com/canonical/charmcraft/blob/main/CONTRIBUTING.md).
- [x] I've signed the [CLA](http://www.ubuntu.com/legal/contributors/).
- [ ] I've successfully run `make lint && make test`.
- [ ] I've added or updated any relevant documentation.
- [ ] In documents I changed, I [added a meta description](https://canonical-starflow.readthedocs-hosted.com/how-to/add-a-page-meta-description/) if one was missing.
- [ ] I've updated the relevant release notes.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | PR #2874 merged to charmcraft main (2 approvals): implements craft-application's package service API so metadata.yaml creation is mediated in Charm/rock layers, tracking CHARMCRAFT-723. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged the craft-application package service API to mediate metadata.yaml creation for CHARMCRAFT-723, with 2 approvals and lint, fast, and slow test jobs passing. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged after two approvals. Implements craft-application's package service API to mediate metadata.yaml creation. Integrated into main despite some failing CI tests on specific Ubuntu versions, altering three files. | |
| qwen/qwen3.6-35b-a3b |
Impact:
50
Quick Win:
32
Staleness:
5
Complexity:
35
Confidence:
75
|
needs review | Implements metadata.yaml creation mediation via craft-application's package service API. Has 2 approvals, 0 unresolved comments, and passing CI. | |
| qwen/qwen3.6-35b-a3b |
Impact:
55
Quick Win:
30
Staleness:
5
Complexity:
45
Confidence:
75
|
needs review | Implements package service API to mediate metadata.yaml creation per issue #2856. Fresh PR with 2 unresolved review comments, one failing lint check, and no reviewers yet. | |
| qwen/qwen3.6-35b-a3b |
Impact:
50
Quick Win:
38
Staleness:
0
Complexity:
25
Confidence:
75
|
needs review | Implements craft-application's package service API to mediate metadata.yaml creation. New PR with failing lint check and no reviewer engagement yet. |
Update history
| Date | Change |
|---|---|
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| created |
Related work
-
Likely Fixed By:
charmcraft#2856
(confidence 88%)
Tracking issue 'Implement metadata mediation for metadata.yaml' (CHARMCRAFT-723), closed by this PR
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2856 Implement metadata mediation for metadata.yaml | charmcraft | closed | Fixed by merged charmcraft PR #2874, which added a craft-application package service to mediate metadata.yaml creation. | |
| #644 Request: be able to specify the location of metadata.yaml (and the rest of the charm code) | charmcraft | closed | Resolved in Charmcraft 3.0 by merged PR canonical/charmcraft#1524 (commit 9988b7db), preserving metadata.yaml generated by the charm tool for reactive charms. | |
| #6355 feat: mediate creation of component.yaml | snapcraft | merged | PR #6355 by cmatsuoka merged, moving component.yaml generation to craft-application metadata mediation so each component artifact gets its metadata; closes issue #6360 (CRAFT-1376). | |
| #2857 Implement metadata mediation for manifest.yaml | charmcraft | open | Maintainer-triaged feature request to add metadata mediation for manifest.yaml (craft-application packaging API) so unchanged projects are not repacked; impl PR #2877 was closed unmerged, only an autogenerated Jira sync (CHARMCRAFT-724) since. | |
| #2890 feat: skip repacking if project is not changed | charmcraft | merged | Merged PR implementing metadata mediation for config.yaml and actions.yaml so charmcraft skips repacking unchanged projects; fixes #2858 and canonical/craft-application#821. | |
| #1468 replaced metadata.yaml with charmcraft.yaml in integration test templates | charmcraft | closed | #1468 was closed as superseded after CLA/signature blockers; PR #1540 merged the equivalent metadata.yaml-to-charmcraft.yaml integration-template update in commit f3f82031. | |
| #1126 Allow use actions/config/metadata in charmcraft.yaml | charmcraft | merged | Merged in canonical/charmcraft#1126 (044b94f8), adding inline actions, config, and ST087-compliant metadata support when standalone YAML files are absent. | |
| #1530 Changing charmcraft.yaml doesn't update the resulting charm's metadata.yaml | charmcraft | open | The original stale metadata.yaml bug was fixed by merged PR #2874; a later Charmcraft 5.5.0 stale-repack variant remains tracked in craft-application#821. | |
| #408 metadata: refactor parsing into own module (CRAFT-311) | charmcraft | merged | PR #408 was merged as 6ce96573, landing 6163e67e: metadata parsing moved to a dedicated Pydantic module, reused charmcraft.yaml logic, and became reusable beyond build/pack. | |
| #570 Update metadata.yaml.j2 | charmcraft | merged | Merged #570 in commit f690f605, updating metadata.yaml.j2 with a more complete charm metadata reference link. |