Task dependency graph and fix-round/review history for plan-driven multi-agent workflows

Status Open
Maintainer reply None cached
Activity 0 comments · opened Sep 3, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Related to: #24537 (Agent Hierarchy Dashboard) — that proposal covers agent parent-child structure (who spawned whom) and per-agent resource/status tracking very well. This issue is about a different graph: task-to-task structure within a plan, and the iteration history inside a single task. Filing separately since it's a distinct data model, not a duplicate ask — happy to see it folded into #24537's Task Panel if that's the better home.

Problem
Running a multi-step implementation plan via repeated subagent dispatch (implement → review → fix-round loop, per task, across a plan with many tasks — some sequential, some safely parallel in isolated git worktrees) currently has no built-in way to see:

Which tasks block which. Right now this lives only in the plan's own prose ("Task C8 depends on Task C6") and in my own working memory of what I've already dispatched. There's no view showing, e.g., "12 of 23 tasks done, 3 running, 8 blocked on task 6" at a glance.
What each task actually touched, so two tasks running in parallel can be checked for real file overlap before they collide, instead of discovering it at merge time.
The fix-round history inside a task. A task that needed 2 rounds of review findings before closing has a real story — round 1 found 3 issues, round 2 fixed 2 and found 1 more, round 3 closed clean — that's currently only reconstructable by reading raw agent transcripts back, if the session hasn't been compacted since.
What I currently do instead
I have the session hand-maintain a markdown "ledger" file: one entry per task, updated after every dispatch/review/merge, recording status, commit hashes, what was found, and rulings made when a task's brief conflicted with reality. It works, but it's fragile — it's the only durable record once a long session gets compacted, it's manually written prose rather than structured data, and it obviously isn't visible in any UI.

Proposed Solution

What I'd want instead
Roughly, extending #24537's proposed Task Panel with:

A plan view: tasks as nodes, dependency edges between them (from the plan's own declared dependencies, or inferred from Interfaces/Consumes-Produces sections), each node showing status (not started / running / done / done-with-concerns / blocked) and which agent(s) worked it.
Per-task file-touch list, so overlapping work between two in-flight tasks is visible before it becomes a merge conflict.
Per-task round history: for tasks that go through implement → review → fix-round → re-review, a short timeline of what each round found/changed, not just the final diff.
Ideally this survives context compaction and reconnecting sessions — the thing I'm actually trying to replace is a piece of durable state, not just a live view.
Scope note
Not asking for the cross-session/cross-team/analytics pieces here — #24537 already covers those well and I don't want to fragment that thread. This is specifically about the shape of a plan (dependencies + iteration history), which is a different data model from who spawned whom.

Alternative Solutions

_No response_

Priority

Critical - Blocking my work

Feature Category

CLI commands and flags

Use Case Example

_No response_

Additional Context

_No response_

View original on GitHub ↗