Uh oh!
There was an error while loading. Please reload this page.
feat(fleet): support resuming workflows from the Fleet Manager TUI History screen - #463
Merged
Jason Robert (jrob5756) merged 2 commits intoAug 18, 2026
Merged
Conversation
…story screen Adds resume support for completed/failed runs surfaced in the History screen, plus the underlying fleet.resume module that resolves a checkpoint and launches a resumed run.
…ning Applies PR #463 review findings for issue #460's Fleet Manager TUI History Resume feature: - correlate_checkpoints now excludes any entry whose event log is referenced by a currently-live run record (reusing retention._live_event_log_paths(), which itself relies on is_process_alive), failing closed when liveness can't be determined. Previously a still-running workflow with a periodic or CLI-resumed failure checkpoint could be resumed from the TUI, making the new child adopt the live run's run_id, overwrite its run record, and interleave two processes' events into one JSONL log. - HistoryScreen.action_resume and NewRunScreen.action_launch now honor BackgroundLaunch's documented still_running -> workflow_started -> run_record_written check order via a new shared fleet.tui.actions.report_background_launch() helper, instead of reporting a dashboard URL unconditionally for a process that may have already exited (issue #410). - The run_id fallback in correlate_checkpoints is now taken only when event_log_path was never recorded or the recorded file no longer exists, not whenever the primary lookup simply missed, narrowing the window for a checkpoint to join an unrelated row that happens to share an inherited run_id. Both resume notifications now name the checkpoint's workflow so an operator can catch a surprising match. - ResumableCheckpoint.trigger is now typed as the existing CheckpointTrigger literal instead of a bare str, the unreachable claimed_checkpoints guard is removed, and checkpoint ordering is re-sorted defensively rather than relying on list_checkpoints' undeclared ordering. - Added tests covering live-run exclusion, the still_running/ workflow_started notification paths on both TUI screens, the narrowed run_id fallback, and that pressing r resumes the highlighted row (not always row 0) including real cursor-movement gating. - Documented the liveness rule and the periodic-checkpoints-are-opt-in caveat in resume.py, docs/fleet.md, and CHANGELOG.md. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Jason Robert (jrob5756)
marked this pull request as ready for review
August 18, 2026 17:47
Uh oh!
There was an error while loading. Please reload this page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds resume support for completed/failed runs surfaced in the History screen, plus the underlying
fleet.resumemodule that resolves a checkpoint and launches a resumed run.Closes#460