From 0b394b306ccd862960bc279ab5fc67acebf9de5d Mon Sep 17 00:00:00 2001 From: Chris0Jeky Date: Sat, 5 Sep 2026 05:22:03 +0100 Subject: [PATCH 1/2] docs: qualify GitHub helper runtime paths --- docs/GITHUB_PROJECT_AUTOMATION.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/GITHUB_PROJECT_AUTOMATION.md b/docs/GITHUB_PROJECT_AUTOMATION.md index 495d90432..593a89bdc 100644 --- a/docs/GITHUB_PROJECT_AUTOMATION.md +++ b/docs/GITHUB_PROJECT_AUTOMATION.md @@ -153,7 +153,7 @@ Local helper scripts: - `scripts/github/New-TaskdeckDocsRehydrationChecklist.ps1` — list recently merged PRs and docs that may need rehydration. - `scripts/github/Sync-TaskdeckProjectPriority.ps1` — audit issue/PR Project v2 `Priority` drift and optionally apply fixes. -These helpers are fallbacks for GitHub MCP gaps. Project v2 priority audit needs `read:project`; applying field updates with `Sync-TaskdeckProjectPriority.ps1 -Apply` requires `gh auth refresh -s project`. +Claude uses these helpers as its primary GitHub operations path because its project MCP configuration intentionally omits GitHub. Codex uses them as a REST/CLI fallback when its configured GitHub MCP is unavailable or quota-limited. Project v2 priority audit needs `read:project`; applying field updates with `Sync-TaskdeckProjectPriority.ps1 -Apply` requires `gh auth refresh -s project`. The sync helper enforces the PR rule above: complete same-repository closing issues take precedence over repository-aware body references, the highest derived urgency wins, and a PR with no authoritative issue references receives `Priority V`. If every closing Issue is external, the helper still evaluates the body for a same-repository fallback. Every body reference is resolved to a typed, repository-matching object. Only actual same-repository Issues contribute Priority labels. A validated PullRequest reference is ignored as a non-Issue. Cross-repository Issue authority is default-off: those references stay visible by exact PR/source/repository/number identity in human and JSON output, but their labels never enter ranking; mixed references derive only from same-repository Issues. An actual same-repository Issue whose priority is missing, ambiguous, unreadable, or identity-mismatched fails closed instead of becoming a fallback. The priority helper's completeness contract is fail-closed: From 965abde089a819a0ddba43f0b78cb0254edf2771 Mon Sep 17 00:00:00 2001 From: Chris0Jeky Date: Sat, 5 Sep 2026 14:42:07 +0100 Subject: [PATCH 2/2] docs: describe Claude's GitHub path as gh with the helpers where their shape is needed Review round 1 (fresh-context, D-12 sweep): the sentence called the scripts/github helpers Claude's primary GitHub operations path, which contradicts docs/MCP_TOOLING_GUIDE.md (Claude uses gh; the helpers are deterministic gh fallbacks). The verified half, that .mcp.json omits a GitHub MCP on purpose, stays; the Codex fallback wording is unchanged. --- docs/GITHUB_PROJECT_AUTOMATION.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/GITHUB_PROJECT_AUTOMATION.md b/docs/GITHUB_PROJECT_AUTOMATION.md index 593a89bdc..c54f553bd 100644 --- a/docs/GITHUB_PROJECT_AUTOMATION.md +++ b/docs/GITHUB_PROJECT_AUTOMATION.md @@ -153,7 +153,7 @@ Local helper scripts: - `scripts/github/New-TaskdeckDocsRehydrationChecklist.ps1` — list recently merged PRs and docs that may need rehydration. - `scripts/github/Sync-TaskdeckProjectPriority.ps1` — audit issue/PR Project v2 `Priority` drift and optionally apply fixes. -Claude uses these helpers as its primary GitHub operations path because its project MCP configuration intentionally omits GitHub. Codex uses them as a REST/CLI fallback when its configured GitHub MCP is unavailable or quota-limited. Project v2 priority audit needs `read:project`; applying field updates with `Sync-TaskdeckProjectPriority.ps1 -Apply` requires `gh auth refresh -s project`. +Claude has no project GitHub MCP (`.mcp.json` omits it on purpose, 2026-09-02; see `docs/MCP_TOOLING_GUIDE.md`), so it reaches GitHub through `gh` and uses these helpers where their specific shape is needed. Codex uses them as a REST/CLI fallback when its configured GitHub MCP is unavailable or quota-limited. Project v2 priority audit needs `read:project`; applying field updates with `Sync-TaskdeckProjectPriority.ps1 -Apply` requires `gh auth refresh -s project`. The sync helper enforces the PR rule above: complete same-repository closing issues take precedence over repository-aware body references, the highest derived urgency wins, and a PR with no authoritative issue references receives `Priority V`. If every closing Issue is external, the helper still evaluates the body for a same-repository fallback. Every body reference is resolved to a typed, repository-matching object. Only actual same-repository Issues contribute Priority labels. A validated PullRequest reference is ignored as a non-Issue. Cross-repository Issue authority is default-off: those references stay visible by exact PR/source/repository/number identity in human and JSON output, but their labels never enter ranking; mixed references derive only from same-repository Issues. An actual same-repository Issue whose priority is missing, ambiguous, unreadable, or identity-mismatched fails closed instead of becoming a fallback. The priority helper's completeness contract is fail-closed: