Skip to content

Commit e20578b

Browse files
Optimize issue_graph crawler performance
- Add priority-based concurrent crawling with heap queue - Parents get highest priority, children next, cross-refs lowest - Timeline only fetched for focus node (reduces API calls) - Cross-references limited to one hop (prevents explosion) - Add isAncestor flag to skip sibling crawling - Add verbose mode with crawl statistics - Add tasklist extraction for batch/epic issues - Reduce MaxGraphDepth to 4, MaxConcurrentFetches to 5 - Add rate limit backoff with exponential retry - Remove unused fields from crawlItem/crawlResult structs - Simplify heap implementation (no index tracking needed) Results: 13 nodes in <10s (was timing out), focused on direct lineage
1 parent 587f09a commit e20578b

File tree

4 files changed

+862
-192
lines changed

4 files changed

+862
-192
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -722,6 +722,7 @@ The following sets of tools are available:
722722
- `issue_number`: Issue or pull request number to build the graph from (number, required)
723723
- `owner`: Repository owner (string, required)
724724
- `repo`: Repository name (string, required)
725+
- `verbose`: Include crawl statistics showing how the graph was traversed (nodes fetched, depth reached, repos accessed, etc.) (boolean, optional)
725726

726727
- **issue_read** - Get issue details
727728
- `issue_number`: The number of the issue (number, required)

pkg/github/__toolsnaps__/issue_graph.snap

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@
2626
"repo": {
2727
"description": "Repository name",
2828
"type": "string"
29+
},
30+
"verbose": {
31+
"description": "Include crawl statistics showing how the graph was traversed (nodes fetched, depth reached, repos accessed, etc.)",
32+
"type": "boolean"
2933
}
3034
},
3135
"required": [

0 commit comments

Comments
 (0)