---
status: accepted
---

<!-- [doc->REQ-LINK-VERB] -->
# Cross-Project blocking is expressed as a Watch, not a GitHub dependency

GitHub's issue dependencies (blocked-by / blocking) look like the natural way to say "this claude-spt Request waits on that spt-core fix," and the API surface appears built for it — the webhook payload even carries a `blocking_issue_repo` field. But cross-repository dependencies are undocumented, and the official preview feedback thread reports them failing across repos, including a REST bug that returns `NOT FOUND` while still creating the relationship. We therefore use dependencies only within a repo, and express cross-Project blocking as a Watch on the blocking Request's State.

## Consequences

The cross-Project relationship is not visible in GitHub's UI — a reader looking only at the issue will not see that something elsewhere is waiting on it. In exchange the relationship is active rather than passive: a Watch notifies the waiting agent when the blocker clears, where a dependency field would sit inert until someone polled it. Plain `owner/repo#123` references are still written for human traceability, and are enumerable per-issue through the Timeline API.
