Handle project variables with curly braces in app commands
Metadata
Current evaluation
Triaged regression: since Snapcraft 8.5.1 (merged via #5183), app commands containing braced project variables like ${SNAPCRAFT_PROJECT_NAME} fail validation. Root cause identified; volunteer ready to PR a fix.
Suggested action: keep open
Reason: Labels show 'Status: Triaged' and 'Type: Bug' on a maintainer-authored report, and the body includes a concrete reproducer (`command: bin/${SNAPCRAFT_PROJECT_NAME}`) plus an internal ticket (SNAPCRAFT-1135). A 2026-10-02 comment by Mohil-Ahuja pinpoints the root cause: the bus_name validator widened by #5183 to cover command/stop_command/post_stop_command/reload_command uses a character class that excludes `{`/`}`, and volunteers to PR the fix with regression tests. No resolving commit or PR is referenced and the issue remains open, so it stays open; the fix is a small character-class widening so complexity is low. Confidence is capped at 72 because the repository tooling had no pinned SHA, so I could not verify the current validator code in snapcraft/models or whether a fix has since landed in the tree.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
55
Quick Win:
40
Complexity:
20
Confidence:
72
Actionability:
90
|
keep open | Triaged regression: since Snapcraft 8.5.1 (merged via #5183), app commands containing braced project variables like ${SNAPCRAFT_PROJECT_NAME} fail validation. Root cause identified; volunteer ready to PR a fix. | |
| stealth/space-bunny-alpha |
Impact:
58
Quick Win:
40
Complexity:
22
Confidence:
80
Actionability:
88
|
keep open | Triaged regression: since PR #5183, app command fields reject braced project variables like ${SNAPCRAFT_PROJECT_NAME}. Root cause identified (bus_name validator char class excludes {}); a contributor has offered a PR. | |
| stealth/space-bunny-alpha |
Impact:
48
Quick Win:
22
Complexity:
40
Confidence:
80
Actionability:
76
|
keep open | Triaged regression: since merged PR #5183, Snapcraft reportedly rejects app commands containing braced project variables such as ${SNAPCRAFT_PROJECT_NAME}; no fix is recorded. | |
| qwen/qwen3.6-35b-a3b |
Impact:
30
Quick Win:
22
Complexity:
10
Confidence:
80
Actionability:
80
|
keep open | Regression: Snapcraft rejects app commands containing curly braces like ${SNAPCRAFT_PROJECT_NAME} due to overly restrictive validation regex | |
| qwen/qwen3.8-27b |
Impact:
50
Quick Win:
30
Staleness:
75
Complexity:
40
Confidence:
70
Support Request:
0
|
keep open | Regression: Snapcraft fails when project variables with curly braces (e.g. ${SNAPCRAFT_PROJECT_NAME}) are used in app commands, introduced by PR #5183. Triaged bug, open and inactive for ~15 months. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
95
Complexity:
45
Confidence:
85
Support Request:
10
|
keep open | Regression causing Snapcraft to fail when project variables with curly braces are used in app commands. Triaged bug, inactive for over a year, awaiting fix. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
90
Complexity:
40
Confidence:
85
Support Request:
5
|
keep open | Regression in Snapcraft where app commands fail when using project variables with curly braces, introduced by PR #5183. Triaged bug with no maintainer activity for over a year. |
Update history
| Date | Change |
|---|---|
| updated |
Related work
-
Caused By:
canonical/snapcraft#5183
(confidence 55%)
Cited in the issue body as the introducing change; however that ref is a release merge PR ('chore(merge): 8.5.1 into main'), so the actual validator change came from a 8.5.1 branch commit it pulled in — the causal link is asserted, not verified in code.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #6464 fix(models): allow project variables in app commands | snapcraft | open | Allows well-formed ${SNAPCRAFT_*}/${CRAFT_*} project-variable references in app command fields by stripping them before snapd character validation; adds unit tests. Awaiting maintainer re-review after feedback. | |
| #5499 fix: evaluate variables in project file | snapcraft | merged | Merged in canonical/snapcraft#5499 (commit abd5db829), restoring project-variable expansion and fixing #5491 in Snapcraft 8.9.2. |