Add atomic parent issue creation - #3134
Open
zwick wants to merge 6 commits into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds atomic parent attachment during issue creation through GitHub’s GraphQL API while retaining REST for unparented issues.
Changes:
- Adds same- and cross-repository parent parameters.
- Resolves metadata before a single atomic creation mutation.
- Adds unit coverage, snapshots, and generated documentation.
Show a summary per file
| File | Description |
|---|---|
README.md |
Documents parent inputs. |
pkg/github/issues.go |
Implements atomic parented creation. |
pkg/github/issues_test.go |
Tests validation and GraphQL behavior. |
pkg/github/issues_granular.go |
Extends granular issue creation. |
pkg/github/__toolsnaps__/issue_write.snap |
Updates consolidated schema snapshot. |
pkg/github/__toolsnaps__/create_issue.snap |
Updates granular schema snapshot. |
docs/insiders-features.md |
Documents consolidated inputs. |
docs/feature-flags.md |
Documents feature-flagged schemas. |
Review details
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
- Files reviewed: 8/8 changed files
- Comments generated: 2
- Review effort level: Balanced
zwick
marked this pull request as draft
August 24, 2026 13:33
zwick
marked this pull request as ready for review
August 24, 2026 13:41
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: f71d9868-eef8-4fb0-84c6-df7c9a6a0ade
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: f71d9868-eef8-4fb0-84c6-df7c9a6a0ade
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: f71d9868-eef8-4fb0-84c6-df7c9a6a0ade
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: f71d9868-eef8-4fb0-84c6-df7c9a6a0ade
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: f71d9868-eef8-4fb0-84c6-df7c9a6a0ade
zwick
force-pushed
the
zwick-atomic-sub-issue-creation
branch
from
August 24, 2026 14:26
77c6971 to
4bf240f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds optional same- or cross-repository parent attachment to issue creation through GitHub's existing atomic GraphQL
createIssuecapability.Why
The MCP tools previously required separate create and parent-attachment calls, leaving a partial-failure window even though
CreateIssueInput.parentIssueIdalready supports atomic creation.What changed
parent_issue_numberwith optional pairedparent_ownerandparent_repoinputs; omit both parent repository coordinates to use the new issue's repository.createIssuemutation, with no attachment fallback.issue_fieldsrather than broadening this focused change.Token impact
Measured with
tiktoken0.14.0 usingo200k_base. Exact billed tokens remain host- and model-dependent.{name, description, inputSchema}tool payload{name, description, inputSchema}payloadThe fixed increase is entirely in the input schema. Operational savings come from removing the second tool call and its full-parent response.
Token measurement commands
The comparison repeated the schema capture against
mainand the feature branch, and separately tokenized the representative atomic and two-step call/result payloads.MCP impact
Prompts tested (tool changes only)
Security / limits
Tool renaming
deprecated_tool_aliases.goLint & tests
./script/lint./script/testDocs