PR 18842 real development environment verification, 2026-11-01 UTC GitCafe: https://git.cafe/pingdotgg/t3code/pulls/18842 Main: 575579d68a (github/main fetched this run) PR exact head: 2607cc6b3d08ee95fc077dfbab4f55f471503e69 Setup - Separate /home/user/main worktree at github/main; timeout 600 vp i. - PR checkout at exact SHA; timeout 600 vp i. - One background dev server at a time, with isolated /home/user/main/.t3. - Main server PID 16242 stopped before PR server PID 37129 started. - Main ports: server 16733, web 8693. PR ports: server 16733, web 5733. - Playwright 1.60.0 from repository dependencies, /usr/bin/google-chrome. - App-created project vcs-cache-verification and conversation. - Real Codex gpt-6.1-sol turns created and committed 270 tracked directories, appended cache-reload-proof to visits/000/note.txt, and left it uncommitted. - No mock services, seeded test records, or replay provider. Real server protocol Authenticated browser WebSocket /ws?orchestrationProtocol=2: {"_tag":"Request","id":"1","tag":"subscribeVcsStatus","payload":{"cwd":"/visits/000","includeRemote":false},"headers":[]} Consume snapshot; Ack chunks; Interrupt subscription; visit 269 other real cwds; revisit first cwd. Same app-created repository and mutation on both revisions. Main observed Initial visits/000 snapshot: hasWorkingTreeChanges=false, files=[] After real Codex edit and 269 other directory subscriptions: Oldest visits/000 snapshot: hasWorkingTreeChanges=false, files=[] (retained) Recent visits/269 snapshot: hasWorkingTreeChanges=true, files=[{path:"visits/000/note.txt",insertions:1,deletions:0}] Read-only debugger inspection of live broadcaster cacheRef: retainedSnapshots=272 PR observed Initial visits/000 snapshot: hasWorkingTreeChanges=false, files=[] After same real Codex edit and same directory subscriptions: Oldest visits/000 snapshot: hasWorkingTreeChanges=true, files=[{path:"visits/000/note.txt",insertions:1,deletions:0}] (reloaded) Recent visits/269 snapshot: hasWorkingTreeChanges=true, same changed file Read-only debugger inspection of live broadcaster cacheRef: retainedSnapshots=256 Neighboring behavior Real Codex created a bare local Git upstream, configured main tracking origin/main, and committed one local README change. vcs.refreshStatus and live subscription: main, hasUpstream=true, aheadCount=1, behindCount=0. Disabled automaticGitFetchInterval through server.updateSettings (value 0). Evicted root; read-only live debugger confirmed rootCached=false, cache size=256. Real Codex switched to cache-neighbor from origin/main, without upstream. Web client displayed cache-neighbor. Existing subscriber received remoteUpdated: hasUpstream=false, aheadCount=0, behindCount=0. New subscriber saw matching state. Remote recovery with existing poller and fetching disabled Persistent subscription to visits/001 first received remoteUpdated (non-null). Visited 269 other cwds, evicting visits/001 while its subscription stayed open. A new subscription to visits/001 received snapshot remote=null, then remoteUpdated with hasUpstream=false, aheadCount=0, behindCount=0. Existing subscriber also received remoteUpdated. No reconnect or explicit refresh was needed. Real provider/client continuation A further Codex turn appended runtime-neighbor-proof to visits/269/note.txt. Client completed the turn, showed 1 changed file (+1/-0), and Open diff rendered the exact new line. Recorded with Playwright; exported clip inspected in browser. Checks Blacksmith: vp i && vp test run apps/server/src/vcs/VcsStatusBroadcaster.test.ts 30 tests passed, 1 test file passed. No source changes made in this verification. GitHub CI at the exact head: all reported non-skipped checks passed. Limits No native desktop/mobile, relay/tunnel, external forge PR metadata, real transient remote failures/retries, Pi transcript discovery, heap byte measurements, or performance timing comparison. The branch-switch flow cleared old remote state; the discussion's narrower raw-finalization stale-remote case was not isolated from client revalidation and remains unverified. Main's newer migration 76 was unknown to PR startup, which warned and continued; exercised flows remained usable.