states: add state metadata and ephemeral state manager
Metadata
Current evaluation
Merged PR #17 added wrapped step-state metadata for lifecycle sequencing and an ephemeral state manager keyed by part and step; merge commit 63369fb9.
Resolution: closed resolved
Reason: PR #17 was approved and merged in commit 63369fb9, with implementation commit 7a3862fb. The change added state metadata and dictionary-backed state management indexed by part name and step.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Wrap step states with metadata used in lifecycle action sequencing,
and implement a dictionary-backed database of wrapped states indexed
by part name and step.
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 #17 added wrapped step-state metadata for lifecycle sequencing and an ephemeral state manager keyed by part and step; merge commit 63369fb9. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in craft-parts PR #17 (commit 7a3862fb), adding step-state metadata for lifecycle sequencing and a dictionary-backed manager indexed by part and step. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged Claudio Matsuoka's addition of state metadata and an ephemeral state manager. Wraps step states for lifecycle action sequencing and implements a dictionary-backed database indexed by part name and step. Approved, passed CI, introducing 322 lines across two files. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Adds state metadata and an ephemeral state manager to wrap step states for lifecycle action sequencing. Implements a dictionary-backed database of wrapped states indexed by part name and step. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #18 states: add stage manager class | craft-parts | merged | Merged PR #18 introduced the initial StateManager for tracking part and step states; implemented in commit 23c8afdc and merged by ccf5b434. | |
| #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. | |
| #10 states: add step state base class | craft-parts | merged | 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. | |
| #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. | |
| #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. |