feat(pipeline): render issue dependency DAG on the per-issue Monitor page #234
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Depends on
#233 design(pipeline): Penpot mockup — issue dependency DAG visualization
charles/claude-hooks
Reference
charles/claude-hooks#234
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
User story
As an operator, I want a dependency DAG panel on
/app/monitor/issue/:owner/:repo/:issueNumberthat renders the current issue's blockers + dependents as a navigable graph, so I can see long chains at a glance and click through without scanning Forgejo body text.Dependencies
Acceptance criteria
Server
GET /issues/deps?repo=…&number=N&depth=k(auth-gated). Returns{ nodes: [{ number, title, state, assignee, labels }], edges: [{ from, to }] }for the k-hop neighbourhood (default depth=2, max=5). Uses the existinggetIssueBlockers/getIssueBlockswrappers.(repo, issue, depth).UI
<DependencyGraph>component onroutes/monitor.issue.$owner.$repo.$issueNumber.tsx. Hydrates from/issues/deps, renders per the mockup.Verification
#A blocks #B blocks #Cchain.Out of scope
References
apps/server/src/deps.ts— data source.🤖 Auto-assigned to dev (heuristic: area:dashboard + body 1470 bytes (≤ 2 KB) — dev). Reply
/unassignto reroute.