agent-orchestrator/backend/internal/observe
Harshit Singh Bhandari a32d507eb8
feat(scm): detect cross-fork PRs by scanning all project remotes (#2368)
The SCM observer only polled a project's push origin for open PRs, so a
PR opened from the fork against an upstream base repo (the standard
fork -> upstream flow) was never discovered: GitHub lists a PR under its
base repo, not its head, so an origin-only scan can't see it. Sessions
that opened such PRs showed no PR on the dashboard.

Scan every GitHub remote in the project checkout (origin + upstreams /
mirrors) for open PRs, and attribute a PR to a session only when its
head branch lives in that session's push origin. This surfaces
cross-fork PRs while preserving the no-misattribution guarantee: a
stranger's fork PR has a head repo no session owns and is dropped.

Tracked cross-fork PRs are keyed for refresh by their own recorded repo
(the upstream base) so the GraphQL refetch targets the right repo.
2026-07-03 20:50:41 +05:30
..
reaper Zellij to tmux + ConPTY runtime, session save/restore, crash-proof reconcile (port #404) (#2183) 2026-06-25 15:05:41 +05:30
scm feat(scm): detect cross-fork PRs by scanning all project remotes (#2368) 2026-07-03 20:50:41 +05:30
observer.go feat(tracker): ApplyTrackerFacts reducer + shared observer skeleton (#112) (#116) 2026-06-07 21:29:00 +05:30
observer_test.go feat(tracker): ApplyTrackerFacts reducer + shared observer skeleton (#112) (#116) 2026-06-07 21:29:00 +05:30