Reactive charm built with charmcraft 3.x is missing options from the included layers and is broken
Metadata
Current evaluation
Reactive charms built with charmcraft 3.x lose config.yaml options from included layers; 2.x works. Maintainer acknowledged and plans a rewrite of the reactive build logic; reporter confirmed still broken on 3.4.3 and is willing to wait.
Suggested action: keep open
Reason: Maintainer @lengau explicitly acknowledged on 2025-05-22 and plans to 'fully redo this logic' to support new features, and the reporter confirmed the bug persists on 3.4.3 with concrete build links. The issue is triaged, valid, and actively being addressed via a planned rewrite, so it should remain open.
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.8-27b |
Impact:
60
Quick Win:
18.0
Staleness:
25
Complexity:
70
Confidence:
80
Support Request:
10
|
keep open | Reactive charms built with charmcraft 3.x lose config.yaml options from included layers; 2.x works. Maintainer acknowledged and plans a rewrite of the reactive build logic; reporter confirmed still broken on 3.4.3 and is willing to wait. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
50
Complexity:
55
Confidence:
90
Support Request:
5
|
keep open | Reactive charms built with charmcraft 3.x lose layer options due to config.yaml overwriting. Maintainer acknowledged the bug, plans to rework the logic, and is awaiting urgency confirmation. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
55
Complexity:
60
Confidence:
90
Support Request:
5
|
keep open | Reactive charms built with charmcraft 3.x lose config options from layers. Maintainer identified the cause and plans a logic rewrite; reporter is okay with waiting. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
55
Complexity:
75
Confidence:
90
Support Request:
10
|
keep open | Reactive charms built with charmcraft 3.x lose config.yaml options from included layers. Maintainer acknowledged the regression, requested time to re-examine and potentially rewrite the logic, and is awaiting reporter feedback on urgency. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
45
Complexity:
75
Confidence:
90
Support Request:
5
|
keep open | charmcraft 3.x overwrites config.yaml in reactive charms, stripping layer options and breaking builds. Maintainer is re-examining the bug after author confirmed it persists in 3.4.3. Author accepts staying on 2.x temporarily but requests a fix. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/charmcraft#1829
(confidence 70%)
Commit 4a3cbacb 'fix(reactive): don't overwrite actions.yaml for reactive charms (#1829)' addresses the same class of metafile-overwrite bug in the reactive plugin; the reporter referenced this PR when asking about the fix.
-
Likely Fixed By:
canonical/charmcraft#2245
(confidence 40%)
Commit aa28f0dc 'fix(reactive): don't overwrite config.yaml from a reactive charm (#2245)' targets the same config.yaml overwrite, but the reporter states the bug still reproduces on 3.4.3, so the fix is incomplete or regressed.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2194 Builds of charm using reactive plugin produces different config option | charmcraft | closed | Closed without resolution. Maintainers acknowledged the charmcraft 3 reactive plugin incorrectly strips deprecated config options, but no fix was implemented. | |
| #1360 Charmcraft 2.4.0 is stricter about reactive part names | charmcraft | closed | Resolved by renaming the top-level reactive part to charm in charmcraft.yaml. Version 2.4.0 enforces this name for proper layer merging. The reporter applied the configuration fix and closed the report as a documented requirement. | |
| #872 charm artifacts from reactive plugin are missing valuable build metadata | charmcraft | 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. | |
| #809 Reactive plugin doesn't allow for other `charm` cli arguments. | charmcraft | closed | Closed without resolution. The reactive plugin could not pass custom charm CLI arguments like --layer-index. Despite user requests for reproducible builds and binary wheel support, the feature was abandoned due to inactivity. |