Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
ee90601
refactor(ui): extract stream pipeline and add background agent manage…
Feb 22, 2026
6a35ac2
docs(research): add branch task breakdown for TUI streaming rendering
Feb 22, 2026
10a6e2e
docs: track cross-agent E2E dependency blockers
Feb 22, 2026
cb052f6
fix(ui): resolve streaming render inconsistencies
Feb 22, 2026
eaf2aa7
test(ui): add thinking stream interleaving and handoff integration co…
Feb 23, 2026
284ee69
chore: remove resolved issues tracker and debug screenshot
Feb 23, 2026
42ed3f6
feat(sdk,ui): add thinking source identity tracking to streaming pipe…
Feb 23, 2026
295983f
docs: add thinking tag stream grouping research and spec
Feb 23, 2026
b51dc92
refactor: align getBackgroundTerminationDecision with canonical discr…
Feb 23, 2026
b331728
refactor: align footer resolver and component with canonical contract
Feb 23, 2026
a4dc272
feat(telemetry): add background termination tracking and metrics
Feb 23, 2026
791b4e7
feat(ui): add structured debug logs for background termination state …
Feb 23, 2026
f47edd5
test(ui): add parent callback integration tests for background agent …
Feb 23, 2026
5e97af3
test(ui): add Ctrl+O non-conflict integration test for background ter…
Feb 23, 2026
08c3503
test(ui): add E2E provider parity matrix tests for background agent c…
Feb 23, 2026
7484df2
test(ui): add E2E runtime parity tests for background agent contracts
Feb 23, 2026
197cb7d
test(ui): add acceptance tests for issue #258 background agent UX con…
Feb 23, 2026
ca62a51
chore(ci): add contract parity test script and CI enforcement documen…
Feb 23, 2026
f5c86c9
feat(ui): add mode==='background' detection for Copilot task tool (ta…
Feb 23, 2026
bcc5a9c
feat(ui): relax subagent.start correlation guard for session-owned ev…
Feb 23, 2026
ee42ae6
feat(sdk): add toolCallId to OpenCode agent part events for UI correl…
Feb 23, 2026
038281f
feat(sdk): enrich Copilot subagent.started event with toolCallId and …
Feb 23, 2026
a4662d9
test(ui): add comprehensive unit tests for subagent.start guard relax…
Feb 23, 2026
a3cc2c9
feat(sdk): add debug logging for OpenCode event verification (task #5)
Feb 23, 2026
75600b1
test(sdk): add comprehensive tests for Copilot subagent event mapping
Feb 23, 2026
bde0177
test(sdk): add comprehensive tests for OpenCode agent event mapping (…
Feb 23, 2026
7702519
fix(ui): preserve background agents across interrupt and prevent dupl…
Feb 23, 2026
2536309
refactor(ui): use getActiveBackgroundAgents helper for background age…
Feb 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
"dev": "bun run src/cli.ts",
"build": "bun build src/cli.ts --compile --outfile atomic",
"test": "bun test",
"test:contracts": "bun test src/ui/utils/background-agent-provider-parity.test.ts src/ui/utils/background-agent-runtime-parity.test.ts src/ui/utils/background-agent-acceptance.test.ts src/ui/utils/background-agent-termination-integration.test.ts src/ui/utils/background-agent-keybinding-nonconflict.test.ts src/ui/utils/background-agent-parent-callback.test.ts",
"typecheck": "tsc --noEmit",
"lint": "oxlint --config=oxlint.json src",
"lint:fix": "oxlint --config=oxlint.json --fix src",
Expand Down
26 changes: 26 additions & 0 deletions research/branch-tasks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Branch: fix/tui-streaming-rendering

## Overview

This branch addresses TUI bugs related to **streaming content rendering and visual output** across all agents (Claude Code, OpenCode, GitHub Copilot).

## Issues

### #259 — Streaming text blocks clumped together
Thinking traces are not rendered as separate parts during streaming. Text blocks get clumped together instead of being visually distinct.

### #258 — Background agents UI
Footer status bar, Ctrl+F termination flow, and tree view hints are not implemented for background agents. Affects Dev & Production.

### #254 — Subagent output is final state instead of returning control
When a subagent completes, its output is shown as a final state rather than returning control back to the main agent's output stream.

### #248 — Occasional formatting issues from reviewer agent
Sub-agent output (particularly the reviewer agent) occasionally has formatting/rendering issues in the TUI.

### #231 — Reasoning indicator and timer continue after 100%
The reasoning indicator and elapsed timer keep running even after task progress has reached 100%.

## Grouping Rationale

All issues in this branch relate to how the TUI **renders and displays streamed content** — text blocks, agent output, progress indicators, and background agent status. Fixing these together ensures a consistent and correct rendering pipeline.
491 changes: 491 additions & 0 deletions research/docs/2026-02-23-258-background-agents-sdk-event-pipeline.md

Large diffs are not rendered by default.

86 changes: 86 additions & 0 deletions research/docs/2026-02-23-gh-issue-258-background-agents-ui.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
date: 2026-02-23 02:06:44 UTC
researcher: OpenCode
git_commit: f674c962807d5926f0f19633e66192e7d8ce1039
branch: fix/tui-streaming-rendering
repository: fix-tui-streaming-rendering
topic: "GitHub issue extraction: #258 Background agents UI"
tags: [research, github, issue-258, tui, background-agents]
status: complete
last_updated: 2026-02-23
last_updated_by: OpenCode
---

# Research

## Research Question
Extract all available information and image assets from GitHub issue #258 using `gh`.

## Summary
Issue `#258` is open and labeled `bug`, authored by `lavaman131`, with no issue comments currently present. The issue body includes five screenshot assets hosted on `raw.githubusercontent.com` and a detailed problem statement covering footer status behavior, Ctrl+F termination, and agent tree hint behavior.

## GitHub Extraction (via gh)

### Issue metadata
- Issue: `#258`
- Title: `[BUG] TUI: Background agents UI — footer status bar, Ctrl+F termination flow, and tree view hints not implemented — Claude Code, OpenCode, Copilot — Dev & Production`
- State: `OPEN`
- Author: `lavaman131`
- Labels: `bug`
- Created: `2026-02-22T20:31:58Z`
- Updated: `2026-02-22T20:34:37Z`
- URL: `https://github.com/flora131/atomic/issues/258`

Source command output: `gh issue view 258 --json number,title,state,author,createdAt,updatedAt,url,labels,body`

### Timeline events
- Labeled `bug` at `2026-02-22T20:31:59Z`
- Referenced by commit `92b9badb08a9b3d0a3243cd4ec8c140c190d2744` at `2026-02-23T00:07:57Z`

Source command output: `gh api repos/flora131/atomic/issues/258/events`

### Referenced commit from timeline
- Commit: `92b9badb08a9b3d0a3243cd4ec8c140c190d2744`
- Message: `docs(research): add branch task breakdown for TUI streaming rendering`
- Changed file includes `research/branch-tasks.md`
- Commit URL: `https://github.com/flora131/atomic/commit/92b9badb08a9b3d0a3243cd4ec8c140c190d2744`

Source command output: `gh api repos/flora131/atomic/commits/92b9badb08a9b3d0a3243cd4ec8c140c190d2744`

### Issue comments
- No issue comments returned.

Source command output: `gh api repos/flora131/atomic/issues/258/comments`

## Extracted Image Assets

All screenshot URLs were extracted from the issue body using `gh issue view 258 --json body -q .body | rg -o 'https://[^)\\s]+'`.

1. Background Agent Tree UI (Running state)
- URL: `https://raw.githubusercontent.com/flora131/atomic/lavaman131/hotfix/ralph-workflow/tmux-screenshots/background-task-subagent/background-agent-tree-ui.png`
- Caption text in issue: three task agents running, expanded tree view.

2. Background Agent Tree UI (Initializing state)
- URL: `https://raw.githubusercontent.com/flora131/atomic/lavaman131/hotfix/ralph-workflow/tmux-screenshots/background-task-subagent/background-agent-tree-ui0.png`
- Caption text in issue: two task agents initializing with `0 tool uses`.

3. Background Agent Chatbox UI (footer hint)
- URL: `https://raw.githubusercontent.com/flora131/atomic/lavaman131/hotfix/ralph-workflow/tmux-screenshots/background-task-subagent/background-agent-chatbox-ui.png`
- Caption text in issue: footer status bar with agent count and `ctrl+f` termination hint.

4. Confirmation Background Agents
- URL: `https://raw.githubusercontent.com/flora131/atomic/lavaman131/hotfix/ralph-workflow/tmux-screenshots/background-task-subagent/confirmation-background-agents.png`
- Caption text in issue: first Ctrl+F press confirmation prompt.

5. Chat Message Background Sub Agent Terminated
- URL: `https://raw.githubusercontent.com/flora131/atomic/lavaman131/hotfix/ralph-workflow/tmux-screenshots/background-task-subagent/chat-message-background-sub-agent-kill.png`
- Caption text in issue: chat confirmation `All background agents killed` after second Ctrl+F.

## Historical Context Linkage
- `research/branch-tasks.md` includes issue grouping text for `#258` and explicitly states `Affects Dev & Production`.

## Related Research
- `research/tickets/2026-02-23-0258-background-agents-ui.md`

## Open Questions
- The issue body lists explicit "missing" behaviors; codebase state at this research timestamp is documented separately in the ticket research artifact.
Loading
Loading