Skip repacking if artifact contents are unchanged
Metadata
Current evaluation
Conditional repacking is implemented through craft-application PR #1111, integrated and documented in Snapcraft 9.1, but this issue remains open.
Suggested action: close resolved
Reason: craft-application PR #1111 implemented the ST160 API, and Snapcraft 9.1 now documents conditional repacking. Current code sets AppMetadata.always_repack=False, while core24 and core26 spread tests verify that unchanged artifacts produce "Skipping pack" and changed or metadata-updated artifacts are repacked.
Evaluated by: mr-cal-bot
Impact:
55
Quick Win:
34
Complexity:
35
Confidence:
99
Actionability:
96
Issue body
### Check existing issues
- [x] I've verified that this request isn't described by any existing issues.
### Request
Implement the ST160 craft-application API to avoid repacking an artifact when no changes were made.
### The problem it solves
This is a requirement for Test Farm operation.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
55
Quick Win:
34
Complexity:
35
Confidence:
99
Actionability:
96
|
close resolved | Conditional repacking is implemented through craft-application PR #1111, integrated and documented in Snapcraft 9.1, but this issue remains open. | |
| stealth/space-bunny-alpha |
Impact:
58
Quick Win:
28
Complexity:
38
Confidence:
96
Actionability:
78
|
close resolved | ST160 conditional repacking is triaged and implemented in craft-application PR #1111, but the Snapcraft tracking issue remains open. | |
| stealth/space-bunny-alpha |
Impact:
48
Quick Win:
27
Complexity:
40
Confidence:
96
Actionability:
95
|
close resolved | ST160 conditional repacking was triaged for Test Farm and is already implemented in craft-application via PR #1111; the Snapcraft issue remains open. | |
| qwen3.6-35b-a3b-mtp-q6 |
Impact:
60
Quick Win:
33
Staleness:
55
Complexity:
45
Confidence:
50
Support Request:
10
|
keep open | Triaged feature request to implement ST160 conditional repacking API; feature appears implemented in craft-application and snapcraft but issue remains open. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
25
Complexity:
45
Confidence:
85
Support Request:
5
|
keep open | Feature request to implement ST160 craft-application API to skip repacking unchanged artifacts, required for Test Farm operation. Currently triaged and awaiting implementation. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
5
Complexity:
40
Confidence:
90
Support Request:
10
|
keep open | Feature request to skip artifact repacking when contents are unchanged, required for Test Farm operations. Recently triaged by a maintainer and awaiting implementation. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
craft-application#1111
(confidence 99%)
Implements the ST160 conditional-repacking API required by the issue.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #442 Skip repacking when project files are not changed | imagecraft | open | Maintainer request to adopt craft-application's package mediation API so imagecraft skips repacking unchanged projects; implementation merged in PR #444, but issue stays open/triaged pending the wider testing-workflow requirement. | |
| #6342 skip repacking if snap content not changed | snapcraft | closed | Closed as too complex and superseded by #6349, #6355, #6379, and #6385, which split metadata mediation by file type; snapcraft now defaults to always_repack=False. | |
| #444 feat: skip repack if project files are unchanged | imagecraft | merged | PR #444 merged: adopts craft-application's metadata mediation API so imagecraft skips repacking when project files are unchanged (+788/-57, 9 files). Implements issue #442; an AI reviewer's managed-mode blocker was retracted. | |
| #1357 feat: skip repacking if project is unchanged | rockcraft | closed | PR #1357 by cmatsuoka merged as commit 0b6ba8bd, adopting the craft-application mediation API so Rockcraft skips repacking output artifacts when the project is unchanged. All checks passed. |