Snapcraft should complain multiple `after` properties in a single part
Metadata
Current evaluation
Request for snapcraft to error on duplicate 'after' YAML keys in a part definition. 7+ years old, zero comments, no labels, no maintainer interaction. References snapcraftctl and old part format that no longer exist in modern snapcraft.
Suggested action: close stale
Reason: The issue is 2682 days (~7.3 years) old with zero comments, no labels, and no maintainer interaction. It references 'snapcraftctl build' and a part definition format from the early classic-snapcraft era; the codebase has since been completely rewritten (core18/20/22/24) with Pydantic-based validation and a different parts pipeline, so the specific code paths described no longer exist. The underlying YAML duplicate-key behavior is a parser-level concern that could be re-filed against the current architecture if still relevant.
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.8-27b |
Impact:
15
Quick Win:
12.0
Staleness:
95
Complexity:
20
Confidence:
55
Support Request:
30
|
close stale | Request for snapcraft to error on duplicate 'after' YAML keys in a part definition. 7+ years old, zero comments, no labels, no maintainer interaction. References snapcraftctl and old part format that no longer exist in modern snapcraft. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
95
Complexity:
15
Confidence:
85
Support Request:
10
|
close stale | Feature request for Snapcraft to error out when multiple after properties are defined in a single part. The issue is 7+ years old, unlabelled, and has received zero maintainer engagement or comments. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
95
Complexity:
10
Confidence:
85
Support Request:
5
|
close stale | Feature request for Snapcraft to error on duplicate after properties in part definitions. Unlabeled and inactive for over 7 years with zero maintainer interaction. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
95
Complexity:
15
Confidence:
85
Support Request:
10
|
needs triage | Feature request to add validation and error out when a Snapcraft part definition contains multiple after properties, which currently silently overwrite each other. Untriaged and inactive for over 7 years. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
98
Complexity:
20
Confidence:
85
Support Request:
10
|
needs triage | Suggests Snapcraft should error when multiple after properties are defined in a single part. Unlabeled, no maintainer response, inactive for ~7 years. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1770221 A snapcraft.yaml with more than 1 after: stanza doesn't warn or error | snapcraft (launchpad) | open | Snapcraft silently accepted multiple after: stanzas in a part, using the last one. Fixed: duplicate-key detection in yaml_utils now raises an error for any repeated key, including after:. Issue is stale (8+ years, no activity) but the underlying problem is resolved in current code. | |
| #1799596 No error if `after` specifies part that doesn't exist | snapcraft (launchpad) | closed | Closed without a fix or comments, indicating the bug was abandoned. Snapcraft continues to silently accept invalid after references to non-existent parts. | |
| #1591207 Parser should warn when it encounters an invalid snapcraft.yaml | snapcraft (launchpad) | open | 2015-era feature request asking the snapcraft parser to warn when snapcraft.yaml is missing the 'parts' key. No labels, no comments, no activity for ~10 years. Modern snapcraft validates the file against a schema requiring parts, so the concern is outdated. | |
| #2033882 snapcraft first run doesn't verify parts in parts after keyword on core22 | snapcraft (launchpad) | closed | Closed without resolution. Snapcraft fails to validate non-existent parts in the after keyword on core22, a regression from core20, remains unaddressed. | |
| #1826262 Error: The part has run through its entire lifecycle | snapcraft (launchpad) | open | Snapcraft 1.x build error 'part has run through its entire lifecycle' reported in 2017 when modifying multipass snapcraft.yaml; zero comments, no labels, project since fully rearchitected into craft-* subprojects. |