Skip to content

feat(graph): follow GitHub sub-issue links. - #38

Open
LarsBuur wants to merge 2 commits into
vercel-labs:mainfrom
LarsBuur:feat/sub-issue-edges
Open

LarsBuur wants to merge 2 commits into
vercel-labs:mainfrom
LarsBuur:feat/sub-issue-edges

Conversation

@LarsBuur

@LarsBuur LarsBuur commented Oct 2, 2026

Copy link
Copy Markdown

Problem

The graph only saw a sub-issue when something else connected it to its parent, like a mention in the body or a cross-reference on the timeline. A sub-issue added through GitHub's sub-issue feature with nothing else linking it was missing from the crawl, so the graph could leave an epic's children out.

Change

  • The node query reads each issue's parent and its first 50 subIssues, with totalCount. A new sub-issue edge points from the child to its parent. The parent's children go in subIssues, so the crawl can reach them from either end. Each link is recorded once, on the child, including when the child's own fetch failed.
  • The crawl follows a parent to its sub-issues under the usual depth, budget, hub, and cross-repo rules. The hub guard counts sub-issues and references together, and the "Hubs not expanded" list shows the same count.
  • A sub-issue edge is hierarchy only. It never counts as a closing link, a solution, a competing or superseded fix, or an inbound reference for Heat.
  • When a parent has more than 50 sub-issues, the node gets subIssueTotal, and the report adds a "sub-issues: read N of M (per-node limit)" line.
  • The report labels the link "sub-issue of". The dashboard shows "sub-issue of" on the child and "parent of" on the parent. The graph docs and the core skill describe the edge, the 50 sub-issue limit, and the hub counting.

Testing

issue-graph graph cli/cli#14563 --depth 2 on a real epic. The seed's sub-issue cli/cli#14529 now shows sub-issue of → cli/cli#14563, and #14529's six [Design] sub-issues each show sub-issue of → cli/cli#14529.

Main reaches the same 34 nodes on that run, because those issues also link to each other through mentions and cross-references. The new edges reach extra issues when the sub-issue relationship is the only link between them.

LarsBuur and others added 2 commits October 2, 2026 08:28
Fetch each issue's parent and first 50 sub-issues in the node query and
record the link as a new `sub-issue` edge from child to parent. The crawl
follows a parent to its sub-issues under the usual depth, budget, hub and
cross-repo rules, and records each link once on the child.

The edge is hierarchy only. It never counts as a closing link, a solution
or an inbound reference for Heat. The dashboard labels it "sub-issue of"
and "parent of", and the docs list the new 50 sub-issue limit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Read the sub-issue totalCount and record `subIssueTotal` when a parent has
more sub-issues than the query reads, with a "read N of M" line in the
report. The "Hubs not expanded" list now counts references and sub-issues
together, matching what the hub guard measures. The graph docs and the core
skill say that sub-issues count toward the hub threshold.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 2, 2026

Copy link
Copy Markdown

@LarsBuur is attempting to deploy a commit to the Vercel Labs Team on Vercel.

A member of the Team first needs to authorize it.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant