II.
Page JSON
Structured · livepage:docs-harness-features-backlog-gaps-user-experience-gap-ux-001e
GAP-UX-001e: Progress and Status Line json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "page:docs-harness-features-backlog-gaps-user-experience-gap-ux-001e",
"_kind": "Page",
"_file": "wiki/docs/harness-features-backlog/gaps/user-experience/gap-ux-001e.md",
"_cluster": "wiki",
"attributes": {
"nodeKind": "Page",
"sourcePath": "docs/harness-features-backlog/gaps/user-experience/GAP-UX-001e.md",
"sourceKind": "repo-docs",
"title": "GAP-UX-001e: Progress and Status Line",
"displayName": "GAP-UX-001e: Progress and Status Line",
"slug": "docs/harness-features-backlog/gaps/user-experience/gap-ux-001e",
"articlePath": "wiki/docs/harness-features-backlog/gaps/user-experience/GAP-UX-001e.md",
"article": "\n# GAP-UX-001e: Progress and Status Line\n\n| Field | Value |\n|-------|-------|\n| Category | user-experience |\n| Priority | High |\n| Effort | S |\n| Status | Missing |\n\n## Description\nA persistent status line at the bottom of the terminal showing real-time\norchestration state: current run, iteration count, pending effects, token\nusage, cost, elapsed time. Updates in-place without scrolling output.\n\n## CC Reference\nCC has:\n- `src/components/StatusLine.tsx` -- persistent bottom status bar showing model,\n token count, cost, session info\n- `src/components/StatusNotices.tsx` -- notification banner for important state\n changes\n- `src/components/AgentProgressLine.tsx` -- per-agent progress indicator\n- `src/components/BashModeProgress.tsx` -- progress during bash execution\n- `src/components/Spinner/SpinnerAnimationRow.tsx` -- animated spinner row\n- `src/components/Spinner/SpinnerGlyph.tsx` -- spinner character animation\n\n## Current State\nNo status line. CLI commands exit after output. No embedded SDK dashboard exists yet. No persistent indicators during orchestration. The babysit\nskill runs commands sequentially with no progress indication between iterations.\n\n## Target State\nAn Ink `StatusLine` component rendered at terminal bottom showing:\n```\nbabysitter | run:01KNKDVE | iter 5/65000 | 3 effects (1 pending) | 45k tokens | $0.12 | 3m 22s\n```\n\nUpdates in real-time during `harness:call`, `harness:resume`, and embedded SDK\ndashboard sessions. Shows: run ID (abbreviated), iteration count, effect\nsummary, token usage, estimated cost, elapsed time. Color-coded: green=healthy,\nyellow=slow, red=error.\n\n## Dependencies\n- [GAP-UX-001](GAP-UX-001.md) -- Ink rendering foundation\n- [GAP-SUBOBS-003](../subagent-observability/GAP-SUBOBS-003.md) -- per-effect token tracking for cost display\n\n## Key Files\n| Component | Path |\n|-----------|------|\n| Tokens stats CLI | `packages/sdk/src/cli/` (tokens:stats) |\n| Session module | `packages/sdk/src/session/` |\n| CC reference: status | `src/components/StatusLine.tsx` |\n| CC reference: spinner | `src/components/Spinner/` |\n\n## Recommendation\nPhase 1-2. Smallest TUI win with highest visibility. A single Ink component\nat terminal bottom. Data from `run:status --json` and `tokens:stats --json`.\nCan be implemented standalone even before full Ink adoption.\n",
"documents": []
},
"outgoingEdges": [],
"incomingEdges": [
{
"from": "page:docs-harness-features-backlog",
"to": "page:docs-harness-features-backlog-gaps-user-experience-gap-ux-001e",
"kind": "contains_page"
}
]
}