Part of #14310. Spawned from #14333.
Context
The #14333 capability-coverage audit found that the GitHub Workflow substrate is broadly documented, but learn/agentos/GitHubWorkflow.md is stale at a high-risk workflow point: it still frames review participation as posting a structured comment with create_comment, while current Agent OS review practice and the GitHub Workflow MCP surface require a formal PR review state through manage_pr_review or the documented gh pr review fallback.
This is not a request for a new GitHub Workflow guide. The guide already exists and is registered in learn/tree.json; the issue is that its PR review/tool section no longer matches the current source and review contract.
Live latest-open sweep: checked latest 20 open issues at 2026-06-29T16:32:13Z. Closest adjacent items were #14327, #14339, #14333, and current #14310 children, but no open issue specifically refreshes GitHubWorkflow.md for the formal PR review / reviewer invitation tool surface.
A2A in-flight sweep: checked latest 30 all-status messages immediately before filing; only recent #14333 checkpoint FYIs appeared, with no overlapping [lane-claim] or [lane-intent] for this guide-refresh scope.
Knowledge Base ticket sweep: no equivalent ticket surfaced. Exact/local sweep found adjacent implementation/review-contract tickets (#12951, #13587) and the current pull-request skill routing docs, but those do not update GitHubWorkflow.md.
The Problem
GitHubWorkflow.md currently teaches the old, comment-only review loop:
learn/agentos/GitHubWorkflow.md:21-31 describes the Autonomous Review Loop and says the agent posts a structured review comment using create_comment.
learn/agentos/GitHubWorkflow.md:108-110 documents get_conversation, create_comment, and update_comment for PR/issue conversations.
The current runtime and workflow contract moved beyond that:
.agents/skills/pr-review/references/pr-review-guide.md:38 says formal reviews must use manage_pr_review; if unavailable, use the legacy comment plus gh pr review fallback, and the visible GitHub reviewDecision must be set either way.
.agents/skills/pr-review/references/pr-review-guide.md:273 explicitly calls substantive review prose posted through manage_issue_comment without atomic manage_pr_review or fallback gh pr review a merge-gate failure.
ai/mcp/server/github-workflow/openapi.yaml:730-787 exposes manage_pr_review as the formal PR review create/update primitive.
ai/mcp/server/github-workflow/openapi.yaml:824-887 exposes manage_pr_reviewers as the reviewer-request invitation primitive.
ai/services/github-workflow/PullRequestService.mjs:848-1011 implements formal PR review creation/update and returns review IDs, state, URL, and submitted time.
ai/services/github-workflow/PullRequestService.mjs:1021-1094 implements reviewer-request add/remove using the REST requested_reviewers endpoint.
- Unit coverage exists for both
managePrReview and managePrReviewers under test/playwright/unit/ai/services/github-workflow/.
This guide mismatch can train agents to post review-looking comments without flipping GitHub's formal review state, the exact failure class the current review workflow is designed to prevent.
The Architectural Reality
GitHubWorkflow.md is the public conceptual guide for the GitHub Workflow MCP server. It should explain the local-first sync model, issue/PR management, comments/conversations, ProjectV2 membership, and the formal review layer at the level a maintainer needs to use the server correctly.
The source-of-authority split should be preserved:
| Target Surface |
Source of Authority |
Proposed Behavior |
Fallback |
Docs |
Evidence |
| Formal PR review state |
PullRequestService.managePrReview, openapi.yaml manage_pr_review, pr-review skill |
Guide names manage_pr_review as the normal review-state primitive |
gh pr review after identity check when MCP unavailable |
learn/agentos/GitHubWorkflow.md plus pr-review skill link |
Source lines above; unit coverage in PullRequestService.spec.mjs |
| PR reviewer requests |
PullRequestService.managePrReviewers, openapi.yaml manage_pr_reviewers, pull-request routing docs |
Guide explains reviewer-request invitation as separate from approval validation |
Explicit remove/unrequest when stale |
learn/agentos/GitHubWorkflow.md plus pull-request routing links |
Source lines above; #12951 history |
| Comment/conversation tools |
get_conversation, manage_issue_comment, manage_discussion_comment |
Guide replaces old create_comment framing with current manage/update naming |
Existing comment selector handoff remains |
learn/agentos/GitHubWorkflow.md |
OpenAPI lines for selectors/comment IDs |
| ProjectV2 membership |
Existing guide section and IssueService.manageIssueProjects |
Keep, but do not let this ticket sprawl into project docs unless stale lines are adjacent |
N/A |
Existing section 7 |
Already covered in guide/source |
The Fix
Refresh learn/agentos/GitHubWorkflow.md so it reflects the current GitHub Workflow tool contract:
- Replace the old review-loop wording that says reviews are posted with
create_comment.
- Explain
manage_pr_review as the atomic formal PR review primitive and link it to the pr-review skill requirement.
- Explain
manage_pr_reviewers as the reviewer invitation layer, distinct from merge/readiness validation.
- Update comment/conversation tool names from legacy
create_comment / update_comment framing to the current manage_issue_comment / conversation-selector model where applicable.
- Keep the guide narrative and local-first sovereignty framing; do not turn it into an OpenAPI dump.
- Preserve the ProjectV2 section unless local V-B-A finds stale adjacent wording while editing.
Acceptance Criteria
Out of Scope
- Rewriting the whole GitHub Workflow guide.
- Changing the MCP tool contract or PR review workflow logic.
- Changing ProjectV2 behavior, release-board membership, or issue relationship semantics except for clearly adjacent stale wording discovered during the edit.
- Touching GitLab Workflow docs; #11404 owns GitLab productization.
Decision Record Impact
None. This aligns existing docs with implemented MCP tool surfaces and the existing pr-review workflow.
Related
Origin Session ID: f9ecf11e-78ce-4a48-b353-b970adf49d92
Retrieval Hint: query_raw_memories("formal PR review state gap manage_pr_review reviewDecision GitHubWorkflow guide comment-only recurring failure")
Part of #14310. Spawned from #14333.
Context
The #14333 capability-coverage audit found that the GitHub Workflow substrate is broadly documented, but
learn/agentos/GitHubWorkflow.mdis stale at a high-risk workflow point: it still frames review participation as posting a structured comment withcreate_comment, while current Agent OS review practice and the GitHub Workflow MCP surface require a formal PR review state throughmanage_pr_reviewor the documentedgh pr reviewfallback.This is not a request for a new GitHub Workflow guide. The guide already exists and is registered in
learn/tree.json; the issue is that its PR review/tool section no longer matches the current source and review contract.Live latest-open sweep: checked latest 20 open issues at 2026-06-29T16:32:13Z. Closest adjacent items were #14327, #14339, #14333, and current #14310 children, but no open issue specifically refreshes
GitHubWorkflow.mdfor the formal PR review / reviewer invitation tool surface.A2A in-flight sweep: checked latest 30 all-status messages immediately before filing; only recent #14333 checkpoint FYIs appeared, with no overlapping
[lane-claim]or[lane-intent]for this guide-refresh scope.Knowledge Base ticket sweep: no equivalent ticket surfaced. Exact/local sweep found adjacent implementation/review-contract tickets (#12951, #13587) and the current
pull-requestskill routing docs, but those do not updateGitHubWorkflow.md.The Problem
GitHubWorkflow.mdcurrently teaches the old, comment-only review loop:learn/agentos/GitHubWorkflow.md:21-31describes the Autonomous Review Loop and says the agent posts a structured review comment usingcreate_comment.learn/agentos/GitHubWorkflow.md:108-110documentsget_conversation,create_comment, andupdate_commentfor PR/issue conversations.The current runtime and workflow contract moved beyond that:
.agents/skills/pr-review/references/pr-review-guide.md:38says formal reviews must usemanage_pr_review; if unavailable, use the legacy comment plusgh pr reviewfallback, and the visible GitHubreviewDecisionmust be set either way..agents/skills/pr-review/references/pr-review-guide.md:273explicitly calls substantive review prose posted throughmanage_issue_commentwithout atomicmanage_pr_reviewor fallbackgh pr reviewa merge-gate failure.ai/mcp/server/github-workflow/openapi.yaml:730-787exposesmanage_pr_reviewas the formal PR review create/update primitive.ai/mcp/server/github-workflow/openapi.yaml:824-887exposesmanage_pr_reviewersas the reviewer-request invitation primitive.ai/services/github-workflow/PullRequestService.mjs:848-1011implements formal PR review creation/update and returns review IDs, state, URL, and submitted time.ai/services/github-workflow/PullRequestService.mjs:1021-1094implements reviewer-request add/remove using the RESTrequested_reviewersendpoint.managePrReviewandmanagePrReviewersundertest/playwright/unit/ai/services/github-workflow/.This guide mismatch can train agents to post review-looking comments without flipping GitHub's formal review state, the exact failure class the current review workflow is designed to prevent.
The Architectural Reality
GitHubWorkflow.mdis the public conceptual guide for the GitHub Workflow MCP server. It should explain the local-first sync model, issue/PR management, comments/conversations, ProjectV2 membership, and the formal review layer at the level a maintainer needs to use the server correctly.The source-of-authority split should be preserved:
PullRequestService.managePrReview,openapi.yamlmanage_pr_review,pr-reviewskillmanage_pr_reviewas the normal review-state primitivegh pr reviewafter identity check when MCP unavailablelearn/agentos/GitHubWorkflow.mdpluspr-reviewskill linkPullRequestService.spec.mjsPullRequestService.managePrReviewers,openapi.yamlmanage_pr_reviewers, pull-request routing docslearn/agentos/GitHubWorkflow.mdplus pull-request routing linksget_conversation,manage_issue_comment,manage_discussion_commentcreate_commentframing with current manage/update naminglearn/agentos/GitHubWorkflow.mdIssueService.manageIssueProjectsThe Fix
Refresh
learn/agentos/GitHubWorkflow.mdso it reflects the current GitHub Workflow tool contract:create_comment.manage_pr_reviewas the atomic formal PR review primitive and link it to thepr-reviewskill requirement.manage_pr_reviewersas the reviewer invitation layer, distinct from merge/readiness validation.create_comment/update_commentframing to the currentmanage_issue_comment/ conversation-selector model where applicable.Acceptance Criteria
learn/agentos/GitHubWorkflow.mdno longer instructs agents that the PR review loop is satisfied by a standalone comment tool.manage_pr_reviewas the formal review-state primitive and states that the visible GitHubreviewDecisionmust be set bymanage_pr_revieworgh pr reviewfallback.manage_pr_reviewersas the reviewer-request invitation primitive and distinguishes invitation from approval/merge eligibility.manage_issue_comment/get_conversationselector model where relevant..agents/skills/pr-review/references/pr-review-guide.mdand/or summarizes its required formal-state rule without duplicating the full review template.Out of Scope
Decision Record Impact
None. This aligns existing docs with implemented MCP tool surfaces and the existing
pr-reviewworkflow.Related
Origin Session ID: f9ecf11e-78ce-4a48-b353-b970adf49d92
Retrieval Hint:
query_raw_memories("formal PR review state gap manage_pr_review reviewDecision GitHubWorkflow guide comment-only recurring failure")