feat(host): every read the host follows over Realtime shares one socket (P1)

Draft
CH
5d ago
+176-7

Stack P · Live plumbing, P1 of 4. Rebuilt on main's live-follow.ts (#4072, plus #4172's poll fallback). This PR is now only P1.

  • Every read at one address shares one Realtime client, and the socket closes when its last holder lets go (shareLiveClients).
  • Once any subscription on the shared client goes to error, the next read opens a new client. Neon's guide says a client whose connection failed can't reconnect. The old one closes when its last holder lets go. This fits #4172: its resubscribe opens a fresh client.

The same-user check and the account-inbox and scope-inbox hunks have moved out. The same-user check is now #4228. The scope inbox moves up to #3232. The account inbox stays on the held read (#4074).

Tests: live-follow.test.ts, the shared-client cases.