Skip to content

Add durable agent runs and cross-provider Runs screen - #52

Merged
Comradery64 merged 3 commits into
mainfrom
feat/agent-runs-screen
Oct 31, 2026
Merged

Comradery64 merged 3 commits into
mainfrom
feat/agent-runs-screen

Conversation

@Comradery64

Copy link
Copy Markdown
Owner

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:

  • Isolated full backend suite with TERM=xterm-256color: 800 passed, 2 skipped (opt-in real Codex smoke and Linux-only terminal branch).
  • Full frontend suite: 26 test files, 246 tests passed.
  • TypeScript/Vite production build passed.
  • Ruff and git diff --check passed.
  • Browser QA: desktop, provider filter, deep-link reload, empty search, retained missing source and 390px dark layout.

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.

@Comradery64
Comradery64 changed the base branch from feat/unified-execution-manager to main October 31, 2026 03:24
@Comradery64
Comradery64 merged commit a524991 into main Oct 31, 2026
6 checks passed
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