Bug
When resuming a pipeline with --run <run-id> --from-step <step>, the resume manager correctly marks prior steps as completed (0.0s, 0 tokens) but fails to resolve artifact paths — it looks for artifacts in the default workspace path (speckit-flow-test/specify/) instead of the actual prior run's worktree (speckit-flow-20260306-084028-bd46/__wt_speckit-flow-20260306-084028-bd46/).
Steps to Reproduce
- Run a pipeline that fails partway:
wave run speckit-flow -- "..."
- Pipeline completes steps 1-4 (specify, clarify, plan, tasks) then fails on step 5 (checklist)
- Attempt resume:
wave run speckit-flow --run speckit-flow-20260306-084028-bd46 --from-step checklist
- Resume correctly skips completed steps but fails with:
failed to inject artifacts: failed to read required artifact 'spec-status':
open .wave/workspaces/speckit-flow-test/specify/.wave/output/specify-status.json: no such file or directory
Expected
Artifact injection should resolve paths from the prior run's workspace (speckit-flow-20260306-084028-bd46), not the default workspace.
Actual
loadResumeState in internal/pipeline/resume.go loads step completion status but artifact paths map to the wrong workspace location.
Relevant Code
internal/pipeline/resume.go:196 — loadResumeState()
internal/pipeline/resume.go:301 — createResumeSubpipeline()
- Artifact injection logic needs to use
WorkspacePaths from the prior run's state
Trace
[10:28:40] ✓ specify completed (0.0s, 0 tokens)
[10:28:40] ✓ clarify completed (0.0s, 0 tokens)
[10:28:40] ✓ plan completed (0.0s, 0 tokens)
[10:28:40] ✓ tasks completed (0.0s, 0 tokens)
[10:28:41] → checklist (implementer)
pipeline execution failed: ❌ Phase 'checklist' failed: failed to inject artifacts:
failed to read required artifact 'spec-status':
open .wave/workspaces/speckit-flow-test/specify/.wave/output/specify-status.json: no such file or directory
Part of TUI epic #251.
Bug
When resuming a pipeline with
--run <run-id> --from-step <step>, the resume manager correctly marks prior steps as completed (0.0s, 0 tokens) but fails to resolve artifact paths — it looks for artifacts in the default workspace path (speckit-flow-test/specify/) instead of the actual prior run's worktree (speckit-flow-20260306-084028-bd46/__wt_speckit-flow-20260306-084028-bd46/).Steps to Reproduce
wave run speckit-flow -- "..."wave run speckit-flow --run speckit-flow-20260306-084028-bd46 --from-step checklistExpected
Artifact injection should resolve paths from the prior run's workspace (
speckit-flow-20260306-084028-bd46), not the default workspace.Actual
loadResumeStateininternal/pipeline/resume.goloads step completion status but artifact paths map to the wrong workspace location.Relevant Code
internal/pipeline/resume.go:196—loadResumeState()internal/pipeline/resume.go:301—createResumeSubpipeline()WorkspacePathsfrom the prior run's stateTrace
Part of TUI epic #251.