Snapcraft needs better state tracking
Metadata
Current evaluation
Fixed by merged PR canonical/snapcraft#381 (merge commit 3cc0049cd), replacing the last-run state file with per-step state tracking for each part.
Resolution: closed resolved
Reason: PR #381 was merged as commit 3cc0049cd, with implementation commit e7e28f6e3 introducing per-step state files for richer per-part tracking.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Currently Snapcraft keeps track of the last-run step by saving it in a state file per part. In order to serve future state improvements, this needs to be refactored to include data per state per part.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Fixed by merged PR canonical/snapcraft#381 (merge commit 3cc0049cd), replacing the last-run state file with per-step state tracking for each part. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #381 (commit 3cc0049cd), replacing the single last-run state file with per-step state files to support richer per-part state tracking. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation. The proposed refactoring for improved per-part state tracking was not pursued, likely superseded by later architectural changes or abandoned. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation. The proposed state tracking refactor was not addressed, likely abandoned or superseded by subsequent Snapcraft development. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
canonical/snapcraft#381
(confidence 98%)
The merged PR's branch explicitly references Launchpad bug #1558810 and implements the requested state-tracking refactor.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1560158 Migrate old Snapcraft state tracking to new | snapcraft (launchpad) | closed | Legacy file-based state was migrated to the new directory-based format, fixing builds in trees left dirty by older Snapcraft versions. Merged in snapcraft#385. | |
| #1646289 snapcraft doesn't include all part properties in state tracking | snapcraft (launchpad) | closed | Fixed by merged PR snapcore/snapcraft#937 (commit 9212dac6d), adding all part properties, including stage-packages, to pull, build, stage, and prime state tracking. | |
| #1778081 Snapcraft saves the fact that parts need to be rebuilt rather than discovering them | snapcraft (launchpad) | closed | Fixed by snapcore/snapcraft PR #2165, replacing persisted dependency-dirty state with dependency rebuild discovery. | |
| #2734 SnapcraftError refactoring | snapcraft | merged | SnapcraftError refactoring was merged in canonical/snapcraft#2734 after maintainer approval, updating four files (+279/-26). |