buildClientConfig in test-daemon-connection.ts never set appVersion, so probe clients (which become the live client) sent hello without it. The daemon's version gate then hid Pi/Copilot from all these sessions. Also update appVersion on the Session when a client reconnects with a newer version, so stale sessions don't stay gated forever.