Skip to content

feat(ticket): restore archived unfinished tickets to current sprint on resume (ticket-209) - #257

Merged
tom-sapletta-com merged 1 commit into
mainfrom
ticket/209-resume-archived-ticket
Oct 14, 2026
Merged

tom-sapletta-com merged 1 commit into
mainfrom
ticket/209-resume-archived-ticket

Conversation

@tom-sapletta-com

Copy link
Copy Markdown
Contributor

Closes maskservice/c2004#486 / PLF-3019.

Summary

When an unfinished ticket (failed or blocked) is rotated into an archive/history sprint file, it was previously excluded from the current sprint and runnable_report even after ready_ticket was called, because the ticket physically remained in the archive/history sprint.

This change:

  1. Updates ready_ticket to check store._locate_ticket_source(ticket_id). If the ticket is located in an archive/history sprint (history-* or archive-*), it calls store.move_ticket(ticket_id, 'current'), physically restoring it to the current sprint.
  2. Rejects attempts to ready or resume tickets in terminal states (done, canceled, cancelled), raising ImmutableTerminalReopenError to preserve immutability.
  3. Adds Planfile.resume_ticket and CLI command planfile ticket resume <ticket_id>.
  4. Adds tests for both single-YAML and sharded storage backends.

All tests and governance checks pass.

@tom-sapletta-com
tom-sapletta-com merged commit a1dfdf2 into main Oct 14, 2026
5 of 6 checks passed
@tom-sapletta-com
tom-sapletta-com deleted the ticket/209-resume-archived-ticket branch October 14, 2026 21:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant