Repository navigation
Add durable agent runs and cross-provider Runs screen - #52
Merged
Merged
Conversation
Comradery64
changed the base branch from
feat/unified-execution-manager
to
main
October 31, 2026 03:24
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 free
to 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.
Depends on #51 (shared execution manager); this PR intentionally targets
feat/unified-execution-manager. #51 remains open and is not merged by this work.Adds durable provider-neutral managed execution attempts and a discoverable cross-provider Runs screen. Runs are created by real managed launches and updated by decoded/native input, advisory screen observations, adoption, explicit termination, detachment and restart. The screen includes server-side search/filtering, pagination, independent deep-link detail, state evidence and observation age, and links to existing decoded/native chat. Missing indexed source chats retain their run history.
A run is one managed process attempt, not a task or turn. Verified surviving tmux processes preserve identity; process replacement closes the old attempt with an explicitly unknown outcome. Idle screens, transport loss and exit codes never imply success. Launch failures are terminal failures; surviving-pane attach failures remain recoverable. Task/parent links are nullable foundations only, with no queue or approvals automation and no finish operation.
Lifecycle writes precede SSE notifications. Direct provider observation hooks feed persistence without consuming the lossy SSE queue; UI reconnect/periodic reads recover missed notifications. Indexing/adoption enrich missing durable context while preserving recorded execution model. Includes documentation and regenerated tracked shipping bundle.
Validation:
git diff --checkpassed.Limitations: native screen states remain advisory (including Claude's idle fallback); detached/unobserved attempts are explicit, and historical chats are not automatically labeled live runs. This slice retains current state and provenance, not a complete lifecycle event audit log.