feat: mediate creation of component.yaml
Metadata
Current evaluation
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).
Resolution: closed resolved
Reason: The PR was approved by two reviewers and merged into snapcraft main; its body declares "Fixes #6360", and issue #6360 ("Mediate creation of component metadata") was closed by it, implementing CRAFT-1376.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Use craft-application metadata mediation to create component.yaml for
each component artifact.
---
Fixes #6360
CRAFT-1376
- [ ] I've followed the [contribution guidelines](https://github.com/canonical/snapcraft/blob/main/CONTRIBUTING.md).
- [ ] 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 #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). | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #6355 adds craft-application metadata mediation to generate component.yaml for every component artifact, fixing #6360 and implementing CRAFT-1376. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #6355 to use craft-application metadata mediation, generating component.yaml for each component artifact; fixes #6360 and implements CRAFT-1376. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged after two approvals. Implements craft-application metadata mediation to generate component.yaml for each component artifact, resolving #6360 and CRAFT-1376. CI passed and conflicts were resolved prior to merge. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
15
Complexity:
40
Confidence:
90
|
needs review | Uses craft-application metadata mediation to generate component.yaml for each component artifact. Approved by 2 reviewers with 0 unresolved comments. CI is passing except for pending publish/build jobs. A reviewer noted merge conflicts requiring a local rebase. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
30
Confidence:
90
|
needs review | Implements metadata mediation to generate component.yaml for each component artifact. Approved by two reviewers with zero unresolved comments. CI is passing except for pending publish jobs. Requires local rebase to resolve conflicts. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
10
Complexity:
25
Confidence:
85
|
needs review | Implements component.yaml creation via craft-application metadata mediation. Approved by two reviewers with zero unresolved comments, but requires rebasing due to conflicts and addressing two failing CI checks. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
10
Complexity:
45
Confidence:
85
|
needs review | Adds component.yaml creation via craft-application metadata mediation. Approved by one reviewer, but requires conflict resolution with main and CI fixes for integration-store tests and lint. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
10
Complexity:
45
Confidence:
90
|
needs review | Implements metadata mediation to generate component.yaml for each component artifact. Currently pending maintainer review with 0 comments. CI shows minor lint and integration test failures, but core checks pass. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
35
Confidence:
90
|
needs review | Implements metadata mediation to generate component.yaml for component artifacts. Fixes #6360. Currently pending maintainer review with CI checks still running. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
5
Complexity:
40
Confidence:
90
|
needs review | Introduces metadata mediation via craft-application to generate component.yaml for each component artifact. Currently awaiting initial review and CI checks. |
Update history
| Date | Change |
|---|---|
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated |
Related work
-
Likely Fixed By:
canonical/snapcraft#6360
(confidence 95%)
Issue #6360 "Mediate creation of component metadata" is the issue explicitly fixed by this merged PR (Fixes #6360 / CRAFT-1376).
-
Related To:
canonical/charmcraft#2858
(confidence 40%)
Analogous open effort to mediate actions.yaml/config.yaml via craft-application in charmcraft; same metadata mediation pattern, different project.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #6360 Mediate creation of component metadata | snapcraft | closed | Component metadata generation was moved through craft-application in merged PR #6355, enabling snap repacking when component metadata changes. | |
| #2874 feat: mediate creation of metadata.yaml | charmcraft | merged | 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. | |
| #4703 feat: add component metadata for hooks | snapcraft | merged | Merged PR #4703 (commit aa49b3b72, CRAFT-2463) adding component hook metadata: project definition plus output into the component's meta/component.yaml. Built on merged #4701; follow-ups #4717/#4722 added core24/core22 component hook packaging, closing #4570. | |
| #4503 feat(meta): generate metadata for components | snapcraft | merged | Merged PR #4503 added component metadata generation at prime/component/<name>/meta/component.yaml, resolving issue #4466 (CRAFT-2312). | |
| #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. |