fix(server): skip re-emitting a project whose identity refresh found nothing

A failed lookup resolves to null, and re-emitting the shell then could
replace a client's valid identity with null. Init without a remote also
resolves to null and has nothing new to send.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WvDgDwRRG8xvtoABQ8KwtC
1c7fd42589Claude committed on 9/26/2026, 12:19:36 AMparentd674f60
2 files changedLine totals unavailable