charm artifacts from reactive plugin are missing valuable build metadata
Metadata
Current evaluation
Reactive charm artifacts omit .build.manifest and charmtool-version; an exact fix is proposed in open PR charmcraft#2502 and remains under review.
Suggested action: keep open
Reason: The bug is confirmed: the reporter verified that .build.manifest exists in /parts/charm/build/<charm> after BUILD, while the artifact lacks it. PR charmcraft#2502 explicitly addresses both metadata omissions but is still open with unresolved review comments, so the issue is not yet resolved.
Evaluated by: mr-cal-bot
Impact:
48
Quick Win:
24
Complexity:
45
Confidence:
96
Actionability:
92
Issue body
when a reactive charm is built with `charm build .` the resulting artifact has a file in the top level with the title `.build.manifest`
This file is generated by the `charm` snap and lists the commit hash for each charm layer, installed pip from the wheelhouse
1) It seems when i build a reactive charm using the charmcraft reactive plugin, this file is missing from the `.charm` artifact.
2) it would also be REALLY nice if the `manifest.yaml` generated would also list the `charmtool-version` used to build the charm.
the plugin can determine this version by running `/snap/bin/charm version --format json` and extracting the output
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
48
Quick Win:
24
Complexity:
45
Confidence:
96
Actionability:
92
|
keep open | Reactive charm artifacts omit .build.manifest and charmtool-version; an exact fix is proposed in open PR charmcraft#2502 and remains under review. | |
| ~deepseek/deepseek-pro-latest |
Impact:
50
Quick Win:
19
Complexity:
55
Confidence:
90
Actionability:
85
|
keep open | Reactive plugin omits .build.manifest and charmtool-version from charm artifacts; triaged, open PR #2502 addresses both. | |
| qwen/qwen3.6-35b-a3b |
Impact:
30
Quick Win:
11
Complexity:
40
Confidence:
60
Actionability:
60
|
keep open | Reactive plugin fails to include .build.manifest and charmtool-version in charm artifacts. Issue is triaged, has internal Jira ticket, and remains open after 4 years. | |
| qwen/qwen3.8-27b |
Impact:
40
Quick Win:
24
Staleness:
45
Complexity:
40
Confidence:
70
Support Request:
10
|
keep open | Reactive charms built via charmcraft's reactive plugin lack the .build.manifest file that charm-tools generates, and manifest.yaml omits charm-tools version. Triaged (Status: Triaged, Type: Bug); internal ticket CHARMCRAFT-654 created 2025-09-17; no code change yet. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
85
Complexity:
25
Confidence:
85
Support Request:
5
|
keep open | Reactive charm plugin omits .build.manifest from .charm artifacts and lacks charmtool-version metadata. Issue is triaged as a bug but has been inactive for over a year. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
70
Complexity:
20
Confidence:
85
Support Request:
10
|
keep open | Reactive charm plugin omits .build.manifest and charmtool-version from artifacts. Triaged bug awaiting implementation after contributor identified file location during build. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
85
Complexity:
45
Confidence:
70
Support Request:
10
|
keep open | Reactive charm plugin omits .build.manifest from output artifacts and lacks charmtool version metadata. Triaged as a bug, awaiting implementation. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
charmcraft#2502
(confidence 99%)
Open PR adds .build.manifest preservation and charmtool_version to manifest.yaml for reactive charm artifacts.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2502 fix: add missing build metadata in reactive charm artifacts | charmcraft | open | Adds .build.manifest preservation and charmtool_version to manifest.yaml for reactive charms. Under active review with 4 unresolved comments; most CI checks pending. | |
| #693 Charms packed using the reactive plugin shows dirty version | charmcraft | closed | Fixed in merged PR #777 (CRAFT-928): reactive packing now leaves charmcraft.yaml in place, preventing charm build from adding a -dirty version. | |
| #420 Missing Charmcraft artifact in Charm Build | fetch-service | closed | Fixed by merged PR #465 (commit 1309dc6), preventing rejected go-module-git inspection from overwriting approved Charmcraft artifact metadata. | |
| #1816 Reactive charm built with charmcraft 3.x is missing options from the included layers and is broken | charmcraft | open | Reactive layer options were lost because Charmcraft 3.x overwrote charm-tools' config.yaml; commit aa28f0dc and PR #2245 now preserve the generated configuration. | |
| #610 many: add reactive charm plugin | charmcraft | closed | PR #610 (charm-tools-based reactive plugin) was closed unmerged on 2021-12-14 by sergiusens in favor of #613, which reimplemented the plugin on the charm tool (CRAFT-699) and merged as 32c8650a. | |
| #777 Do not modify the charm's project when packing using the reactive plugin (CRAFT-928). | charmcraft | merged | Merged PR #777 (CRAFT-928) via commit bac1d03b, preventing reactive packing from modifying the charm project and fixing #693's incorrect dirty versions. |