| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
There was a problem hiding this comment.
This PR enriches the issue_read tool’s get response with lightweight issue hierarchy signals (parent/children presence) and optional relationship summaries, sourced from a single combined GraphQL query and designed to be best-effort (never failing get).
Changes:
| File | Description |
|---|---|
| README.md | Updates generated docs to clarify issue_read get hierarchy signals and sub_issue_write routing guidance. |
| pkg/github/minimal_types.go | Extends MinimalIssue with hierarchy fields and adds helper types for parent reference and sub-issue summary. |
| pkg/github/issues.go | Implements combined GraphQL enrichment for issue_read get and lockdown-safe parent surfacing. |
| pkg/github/issues_test.go | Adds tests for hierarchy enrichment, lockdown redaction behavior, and best-effort fallback on query failure. |
| pkg/github/toolsnaps/sub_issue_write.snap | Updates schema snapshot for revised sub_issue_write method description. |
| pkg/github/toolsnaps/issue_read.snap | Updates schema snapshot for revised issue_read method description. |
Sorry, something went wrong.
The default issue_read `get` payload surfaced no hierarchy data, forcing agents to drop to raw REST (parent_issue_url) or scan sibling sub_issues to discover relationships. Enrich `get` with a layered, zero-extra-round-trip relationship signal derived from a single combined GraphQL query: - has_parent / has_children: cheap, always-emitted routing booleans (addresses Sam Morrow's #2726 review note). - parent: compact ref (number/title/state/url/repository) mirroring the existing get_parent payload keys; omitted when there is no parent. - sub_issues_summary: native subIssuesSummary counts (total/completed/ percent_completed); omitted when there are no sub-issues. The single-issue field-values GraphQL call in GetIssue is replaced by one combined query (fetchIssueReadEnrichment) returning field values + parent + subIssuesSummary, so `get` adds no round-trips. Enrichment is best-effort: a query failure still returns the base issue and never fails `get`. Parent titles are sanitized (parent may be cross-repo) and redacted under lockdown mode unless the parent content can be verified as safe; numeric/structural fields and counts stay intact. get_parent / sub_issue_write behavior is unchanged; tool descriptions clarify hierarchy is read here but written via sub_issue_write (no writable parent field). Refs github/planning-tracking#3306 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Align issue_read get parent enrichment with the codebase's existing lockdown patterns: rather than introducing a third, redaction-with-sentinel behavior, omit the whole parent reference when its (possibly cross-repo) content cannot be verified safe. This mirrors how unsafe comments, sub-issues, and PR reviews are filtered out. has_parent stays true so an agent can still route to get_parent. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Passed
Sorry, something went wrong.
There was a problem hiding this comment.
Upload and merge create a new branch if you have to
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Summary
Enrich the issue_read get payload with layered hierarchy relationship signals, derived from a single combined GraphQL round-trip (no added round-trips on get).
Why
The default get payload surfaced no relationship data, so an agent calling the most obvious tool got zero hierarchy signal and had to drop to raw REST (parent_issue_url) or scan sibling sub-issues. This also addresses the #2726 review note asking for cheap has_parent / has_children routing booleans as a follow-up.
Refs github/planning-tracking#3306
What changed
MCP impact
Prompts tested (tool changes only)
Security / limits
Tool renaming
Lint & tests
Docs