Skip to content

feat(tui): orchestration Plan View widget and wizard (Phase 6, #1241)#1272

Merged
bug-ops merged 3 commits intomainfrom
orchestration-tui
Mar 6, 2026
Merged

feat(tui): orchestration Plan View widget and wizard (Phase 6, #1241)#1272
bug-ops merged 3 commits intomainfrom
orchestration-tui

Conversation

@bug-ops
Copy link
Copy Markdown
Owner

@bug-ops bug-ops commented Mar 6, 2026

Summary

Phase 6 of the orchestration epic (#1235). Adds live task graph visualization to the TUI side panel and completes the --init wizard for [orchestration] settings.

  • PlanView widget (crates/zeph-tui/src/widgets/plan_view.rs): task table with per-row status spinners, status colors, goal truncation, and 30-second stale-plan auto-dismiss
  • p keybinding: toggles right side panel between Sub-agents and Plan View; auto-resets on new plan
  • TaskGraphSnapshot/TaskSnapshotRow in MetricsSnapshot: always-compiled snapshot types; From<&TaskGraph> impl (feature-gated) with strip_ctrl() CSI state machine for sanitizing LLM-generated titles and error strings
  • 5 command palette entries: plan:status, plan:confirm, plan:cancel, plan:list, plan:toggle
  • --init wizard: step_orchestration() covering all [orchestration] config fields with max_parallel <= max_tasks validation and planner_model char whitelist
  • [Plan]/[Agents] status bar indicator when a graph is active
  • Docs: advanced/tui.md Plan View section, concepts/task-orchestration.md TUI Integration section

Test plan

  • cargo build --features full — clean
  • cargo build --features tui (without orchestration) — clean, shows "No active plan"
  • cargo clippy --workspace --features full -- -D warnings — clean
  • cargo nextest run --config-file .github/nextest.toml --workspace --features full --lib --bins — 4336 pass
  • Press p in TUI to toggle Plan View
  • Run /plan <goal> and observe Plan View updates
  • plan:confirm, plan:cancel from command palette (Ctrl+P)
  • zeph --init shows [orchestration] wizard step

Notes

  • S2 (scheduler tick loop for Running state) is intentionally deferred — tracked by TODO(#1241) comment in agent/mod.rs. Snapshots correctly reflect Created/Completed/Failed states; Running state will be wired when DagScheduler tick integration is added.
  • OSC sequence stripping (ESC ]) in strip_ctrl() is a known non-blocking gap noted by reviewer — tracked for follow-up.

Closes #1241

bug-ops added 2 commits March 6, 2026 04:44
Add live task graph visualization in TUI side panel for the orchestration
feature. Press `p` to toggle between Sub-agents and Plan View.

- plan_view.rs: PlanView widget with task table, per-row status spinners,
  status colors (Running=Yellow, Completed=Green, Failed=Red), goal
  truncation with ellipsis, and 30-second stale-plan auto-dismiss
- TaskGraphSnapshot/TaskSnapshotRow in MetricsSnapshot: always-compiled
  snapshot types; From<&TaskGraph> impl (orchestration feature-gated)
  with strip_ctrl() state machine for CSI sequence stripping
- App: plan_view_active toggle (p key), auto-reset on new plan via
  graph_id comparison, [Plan]/[Agents] status bar indicator
- Command palette: plan:status, plan:confirm, plan:cancel, plan:list,
  plan:toggle entries
- --init wizard: step_orchestration() with all [orchestration] fields;
  max_parallel <= max_tasks validation; planner_model char whitelist
- Docs: tui.md Plan View section, task-orchestration.md TUI Integration
  section, README and zeph-tui README updated
@github-actions github-actions bot added documentation Improvements or additions to documentation rust Rust code changes core zeph-core crate enhancement New feature or request size/XL Extra large PR (500+ lines) labels Mar 6, 2026
@bug-ops bug-ops enabled auto-merge (squash) March 6, 2026 03:53
@bug-ops bug-ops merged commit 62b7785 into main Mar 6, 2026
28 checks passed
@bug-ops bug-ops deleted the orchestration-tui branch March 6, 2026 04:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core zeph-core crate documentation Improvements or additions to documentation enhancement New feature or request rust Rust code changes size/XL Extra large PR (500+ lines)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(orchestration): Phase 6 — TUI integration

1 participant