diff --git a/docs/GITHUB_PROJECT_AUTOMATION.md b/docs/GITHUB_PROJECT_AUTOMATION.md index 495d90432..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. -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 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: