states: add step state base class
Metadata
Current evaluation
Merged PR #10 via commit 35d2dde5, adding a base class for step state that preserves execution context, detects relevant changes, and enables unchanged runs to be skipped.
Resolution: closed resolved
Reason: PR #10 was approved and merged into the mainline through merge commit aeb164df. Its implementation, commit 35d2dde5, introduced the step-state base class.
Evaluated by: mr-cal-bot
No scores available.
Issue body
The context of a step is preserved to detect state changes between
executions and decide if new runs can be skipped. This change adds the
base class for step states.
Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #10 via commit 35d2dde5, adding a base class for step state that preserves execution context, detects relevant changes, and enables unchanged runs to be skipped. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged canonical/craft-parts#10 via commit 35d2dde5, adding a base class for step states to preserve context and detect changes between executions. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged. Adds a base class for step states to preserve execution context and detect state changes for run skipping. Approved by three reviewers, introducing 307 lines across five files. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged by maintainer cmatsuoka. Introduces a base class for step states to preserve execution context, enabling state change detection and run skipping logic. No additional comments or revisions required. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #14 states: add build state class | craft-parts | merged | Merged PR #14 added BuildState for context collected during part build steps, partially replacing unmerged PR #12 in merge commit 373d3a84. | |
| #15 states: add stage state class | craft-parts | merged | Merged PR #15 added StageState for stage-step context; implementation commit b16b4b77 landed via merge commit ab80f306. | |
| #16 states: add prime state class and state loader | craft-parts | merged | Merged PR #16 added PrimeState and persistent step-state loading; commit aa062828 landed via merge 524909c6, replacing unmerged PR #12. | |
| #13 states: add pull state class | craft-parts | merged | Merged PR #13 via df8666c2, adding PullState to retain pull-step context and track relevant properties and project options; it partially replaced PR #12. | |
| #12 states: add concrete step states | craft-parts | closed | Closed unmerged and split into #13–#16, which separately added PullState, BuildState, StageState, and PrimeState; all four replacement PRs were merged. | |
| #17 states: add state metadata and ephemeral state manager | craft-parts | merged | Merged PR #17 added wrapped step-state metadata for lifecycle sequencing and an ephemeral state manager keyed by part and step; merge commit 63369fb9. | |
| #21 states: add outdated step verification | craft-parts | merged | Merged PR #21 (commit 08e81f92, merge 0d39e299) adds outdated step verification to the state manager: a part step is outdated when an earlier step ran more recently; source-handler checks were deferred to a later PR. | |
| #24 states: add management methods to refresh and clean steps | craft-parts | merged | Merged PR #24 added state-management methods to mark steps recently updated and clean obsolete in-memory state; merged in 9a1ee8dc via d7038420. |