Repository navigation
Closed
Milestone
Description
Request (owner, 2026-10-12)
The issues pane should become a live roadmap: a to-do list of the issues still to resolve, in execution and dependency order.
- A toggle switches between this roadmap and today's milestone view.
- Each row shows whether the issue is blocked or ready.
- Each row shows a live indicator when the issue is being worked on now, connected to its thread, branch, worktree, pull request or delegated worker.
Today
apps/web/src/components/issues/issueTree.logic.ts:groupIssuesByMilestonegroups by milestone and sorts each group byupdatedAt, newest first. Nothing in it reflects order or dependencies.packages/contracts/src/issue.ts:IssueSummaryhas no dependency or sub-issue fields.- T3 already has live work state (
IssueWorkStatusinpackages/contracts/src/issueWork.ts,ThreadLinkedIssueinthreadIssue.ts), but it only covers repository-managed issue work.
Design
- Dependencies come from GitHub's native issue relationships only. Use the Issue
blockedBy/blockingconnections (alsoissueDependenciesSummary) and theparent/subIssuesconnections. Do not parse issue bodies.- Add
blockedBy: IssueRef[](open and closed) andparent: IssueRef | nulltoIssueSummary. - A blocker in another repository is shown but not ordered.
- Add
- The view toggle is "Milestones | Roadmap" in the pane header, remembered per repository. The milestone view stays exactly as it is today.
- Roadmap order. The list holds open issues only.
- Run a topological sort over open blocker → blocked edges; closed blockers impose nothing. An open sub-issue also comes before its parent.
- Break ties by milestone, in the milestone view's group order, then by issue number, oldest first.
- If a cycle remains, list those issues by number and badge them "dependency cycle".
- Sections, top to bottom:
- In progress: has live work.
- Ready: no open blockers.
- Blocked: shows "blocked by #a, #b", each a link.
- Within each section the topological order holds.
- Live indicator.
-
An animated "working" icon shows while any linked thread, task or worker has a running turn. A distinct icon shows for waiting on you, and a quiet icon for linked but idle.
-
The tooltip lists each linked thread's title, branch, worktree and pull request. A click opens the thread.
-
Link sources:
- (a) existing repository-managed issue work and
ThreadLinkedIssue; - (b) a pull request linked to a thread (
link_pull_request) that references the issue; - (c) a new
link_issueMCP tool, mirroringlink_pull_request, so any thread or delegated child can register the issue it works on without becoming repository-managed issue work.
Today
delegate_task'sissueparameter fails with "repository orchestrator is unavailable or paused" unless a repository orchestrator owns the issue, so plain orchestrator threads cannot link their workers. - (a) existing repository-managed issue work and
-
- Liveness. The view refreshes on the existing issue refresh path. Dependency, label and work-state changes appear without a reload.
Acceptance (tannerpolley/ePC-SAFT, which records native Blocked by)
- Roadmap lists failed to refresh available models pingdotgg/t3code#431 before feat(web): add theme system with light/dark/night modes and compact u… pingdotgg/t3code#432, and fix: add Claude Code health check and error guidance pingdotgg/t3code#423 before [(likely) Low-ish Priority] Utilize Electron Fuses pingdotgg/t3code#439 before No way to reopen window pingdotgg/t3code#435. Open external link doesn't work - MacOS pingdotgg/t3code#434 comes after fix: add Claude Code health check and error guidance pingdotgg/t3code#423.
- feat(web): add theme system with light/dark/night modes and compact u… pingdotgg/t3code#432, [(likely) Low-ish Priority] Utilize Electron Fuses pingdotgg/t3code#439, No way to reopen window pingdotgg/t3code#435 and Open external link doesn't work - MacOS pingdotgg/t3code#434 show "blocked by" their open blockers.
- An issue whose linked builder thread is running shows the working icon, and clicking it opens that thread. The icon clears when the thread stops.
- Toggling back shows the unchanged milestone view.
- Closing a blocker moves the blocked issue to Ready on the next refresh.
Out of scope
Editing dependencies from T3, manual ranking, and closed issues in the roadmap.
Metadata
Metadata
Assignees
Labels
No labels
Activity
tannerpolley commentedon Oct 14, 2026
Two calls made during review (2026-10-13). Say if you want them the other way:
Performance limits from the review:
feat(issues): batch native relationships and pull request references
feat(issues): link ordinary threads and aggregate live roadmap work
feat(issues): add remembered live roadmap view
fix(issues): include older pull request references in live work
docs(issues): explain the live roadmap and thread links
fix(issues): scope roadmap reads and refresh only page one
fix(issues): keep idle linked threads in progress
perf(issues): roadmap live-work lookups use indexes
tannerpolley commentedon Oct 14, 2026
Done on
main(ca4dcec…7654bc3695); ships in v2.12.link_issue/unlink_issueagent tools, and threads whose own pull request closes the issue.