iiRecord
Agentic AI Atlas · GAP-UX-001e: Progress and Status Line
page:docs-harness-features-backlog-gaps-user-experience-gap-ux-001ea5c.ai
II.
Page JSON

page:docs-harness-features-backlog-gaps-user-experience-gap-ux-001e

Structured · live

GAP-UX-001e: Progress and Status Line json

Inspect the normalized record payload exactly as the atlas UI reads it.

File · wiki/docs/harness-features-backlog/gaps/user-experience/gap-ux-001e.mdCluster · wiki
Record JSON
{
  "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"
    }
  ]
}