PR 28533 runtime verification main: 37d7615a91 PR: 56dba87bc30f7497ecdf1fb9d27183c349bf35bf Linux; repo Playwright 1.60.0; /usr/bin/google-chrome; real Codex gpt-6.1-sol via local proxy. One dev server at a time. Separate real T3 peer on port 17777. Project /home/user/peer-verification-repo, link, and turns created through the app. Peer suspended with SIGSTOP to its captured process group; resumed with SIGCONT. No response mocks or database fixtures. Web client WebSocket requests (sent-to-response; single observations, includes client scheduling): main: peerLinks.list 2647 ms; {"_tag":"Success","value":{"links":[{"environmentId":"337382b4-07aa-4f53-b9ed-6c28072692d1","label":"box-node-34e92b95c8ea8709","urls":["http://127.0.0.1:17777"],"access":"approval-required","linkedAt":"2026-11-01T07:55:03.738Z","expiresAt":"2026-12-01T07:55:03.738Z","lastReachedAt":"2026-11-01T07:56:17.357Z","lastError":null,"status":"unreachable"}]}} pr: peerLinks.list 451 ms; {"_tag":"Success","value":{"links":[{"environmentId":"337382b4-07aa-4f53-b9ed-6c28072692d1","label":"box-node-34e92b95c8ea8709","urls":["http://127.0.0.1:17777"],"access":"approval-required","linkedAt":"2026-11-01T07:55:03.738Z","expiresAt":"2026-12-01T07:55:03.738Z","lastReachedAt":"2026-11-01T07:56:17.357Z","lastError":null,"status":"reachable"}]}} Real provider MCP inventory spans (server path, not whole model-turn latency): main: 37.836 ms; exit=Success; at=2026-11-01T07:56:14.243Z main: 3018.738 ms; exit=Success; at=2026-11-01T07:57:10.513Z pr: 15.961 ms; exit=Success; at=2026-11-01T07:59:02.303Z pr: 6.342 ms; exit=Success; at=2026-11-01T07:59:30.635Z pr: 10.663 ms; exit=Success; at=2026-11-01T08:00:34.033Z pr: 10.992 ms; exit=Success; at=2026-11-01T08:00:41.553Z PR authenticated forwarding spans: PeerMcpClient.call: 3029.538 ms; exit=Failure PeerMcpClient.call: 29.236 ms; exit=Success Observed in the real client: 1. Main, awake peer: reachable; remote project list succeeded. 2. Main, suspended peer: inventory waited for descriptor timeout; unreachable. 3. PR, same suspended peer and stored success: immediate stored reachable. 4. PR, remote project list while suspended: did not answer; inventory unreachable with that lastError. 5. PR, awake again before retry: still stored unreachable. 6. PR, real remote project list retry: succeeded; inventory reachable, lastError=null. Existing checks run this turn: blacksmith-check run --id "vp i && vp test run apps/server/src/peer" 5 test files passed; 67 tests passed; 47.09 s. GitHub CI: applicable checks pass on exact unchanged head; no code changes or pushes. Not exercised: native mobile/Electron clients; Tailscale/relay; non-loopback 10-second timeout; live expiry/revocation/identity replacement. Focused tests cover expiry and identity fencing. Known existing review concern: agent/CLI descriptions still say inventory checks whether each peer answers now, while PR behavior deliberately uses recorded outcomes. No runtime failure observed from that text in these turns.