PR 28411 real-environment verification, 2026-11-01 Baseline: github/main 868524f259, /home/user/main Candidate: 7542fe8f5aca405afc785b49ceed92a236886259, /home/user/t3code Installed both with vp i. Ran one background dev server at a time. Main: server 16733, web 8693. PR: server 13773, web 5733. Each server used its own isolated data directory, with automatic seeding disabled. Projects and threads were created through the web app, pointing to a real git checkout. Playwright 1.60.0 from repo dependencies drove /usr/bin/google-chrome. Real Codex gpt-6.1-sol turns completed on both builds. PR response persisted after navigation/reload. Authenticated public WebSocket requests against each running server: pullRequests.activity {host: github.com, repository: react/react, number: 20463, projectId: } => main: 29 review threads, 191 activity entries, 100 commits, 2 reviewers => PR: 29 review threads, 191 activity entries, 100 commits, 2 reviewers => assert.deepEqual(PR, main): PASS (entire response, including order, text, reactions, states and cursors) => reviewThreadsTruncated=false on both; commentsTruncated=true on both Existing server trace, GitHubGraphQlAuth.execute / listReviewThreadComments: main: generated query hash ea3c47ca, one successful thread-page request PR: generated query hash 3173b6b0, two successful thread-page requests The hashes match the exact generated ReviewThreads.document in each checkout. gh api graphql, exact generated document plus rateLimit(dryRun:true){cost}, requestedReviewers=50: main: first=100, cost=14 PR: first=25, cost=6 This measures GitHub's query pricing, not hourly spend or end-to-end latency. pullRequests.threadComments with the returned continuation cursor on the 32-comment thread: main: 22 remaining comments, nextCursor=null PR: 22 remaining comments, nextCursor=null => assert.deepEqual(PR, main): PASS In the real PR web client: Code -> Conversations not on the current diff -> Resolved / 32 comments -> Load more comments. => final reply appeared, load-more control disappeared; captured in pr-comments.mp4. Timeline and Code views both rendered live review data. pullRequests.activity {host: github.com, repository: pingdotgg/t3code, number: 28411, projectId: } main and PR: 0 review threads, 4 activity entries, 2 commits, 2 reviewers => assert.deepEqual(PR, main): PASS Blacksmith checks at the unchanged candidate head: vp test run packages/source-control-github/src/server/GitHubPullRequestApi.test.ts packages/source-control-github/src/server/GitHubPullRequestProvider.test.ts => 134 passed vp run check:changed 54c5f2524996 => format, lint, knip, generated GraphQL, typecheck (11 packages), tests (112): PASS Initial check:changed attempt lacked base history in the worker; fetching the contributor branch's depth-3 history resolved it. GitHub checks: no failing or pending checks at verification. No code changes, commits or pushes were needed. Not exercised: native desktop/mobile clients, relay/tunnel connections, GitHub Enterprise, hourly quota consumption, or a live PR with 1,000+ threads. The 1,000-thread bound is covered by the existing focused test, not claimed as a live verification. Known tradeoff retained: smaller pages increase total query cost for PRs with more than 50 review threads.