Skip to content

Epic progress view in TUI dashboard #58

@chanakyav

Description

@chanakyav

Parent Epic

Part of #52 — Parallel stacked workstreams

Summary

Add an epic-level progress view to the interactive TUI dashboard, showing all sub-tasks of an epic, their states, dependencies, and overall completion.

Context

When running an epic with multiple parallel tasks, the current TUI shows individual tasks in a flat list. Users need a grouped view that shows the epic structure: which tasks are running, which are waiting on dependencies, and overall progress.

Changes

dashboard.py

  • Detect tasks that share an epic_id and group them in the table
  • Epic header row: "Epic: <epic_id> — 2/5 complete"
  • Sub-task rows indented under the epic header
  • Visual dependency indicators: show which task a dependent is waiting on
  • Overall progress bar or fraction display
  • Keybinding: e to toggle between flat view and epic-grouped view

persistence.py

  • list_tasks() optionally groups by epic_id when requested
  • get_epic_progress(epic_id) — returns counts: total, complete, running, waiting, failed

Mock-Up

┏━ autopilot-loop — Epic: Refactor Billing (3/5 complete) ━━━━━━━━━━━━━━━━━━━━━┓
┃   #   Task ID    State          PR    Branch                   Depends On     ┃
┃   1   a1b2c3d4   ✓ COMPLETE     #51   autopilot/a1b2c3d4       —             ┃
┃   2   e5f6g7h8   ✓ COMPLETE     #52   autopilot/e5f6g7h8       #1            ┃
┃   3   i9j0k1l2   ✓ COMPLETE     #53   autopilot/i9j0k1l2       —             ┃
┃   4   m3n4o5p6   ⠹ IMPLEMENT    —     autopilot/m3n4o5p6       #2            ┃
┃   5   q7r8s9t0   ◌ WAITING      —     autopilot/q7r8s9t0       #4            ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
 j/k navigate  Enter attach  l logs  d detail  e flat view  q quit

Depends On

  • Schema sub-issue (epic_id, parent_task_id)
  • Epic command sub-issue (creates the tasks)

Testing

  • Tasks with shared epic_id render in grouped view
  • Progress counter is accurate (complete / total)
  • Tasks without epic_id render normally in flat view
  • e keybinding toggles between flat and grouped views
  • Dependency column shows parent task number

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions