Under the hood
The launch prompt is now submitted through an explicit state machine instead of a boolean and a polling loop.
Submission of the initial launch prompt now runs through an explicit _launchPromptPhase state machine (idle/taking/dispatched) driven by a watchLaunchPrompt/_takeLaunchPrompt subscription that reacts to changes in initialMessage and loading state. This replaces the previous single boolean flag and its 100ms polling loop.