{"version":"2.1.248","anchor":"prompt-submission-and-composer-state-moved-into-dedicated-co","canonical_anchor":"prompt-submission-and-composer-state-moved-into-dedicated-co","heading":"Prompt submission and composer state moved into dedicated controllers","tier":"internal","area":"REPL","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.248\/e\/prompt-submission-and-composer-state-moved-into-dedicated-co","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.248","markdown":"### Prompt submission and composer state moved into dedicated controllers\n\nPrompt sending and composer state moved into their own controllers with no behaviour change.\n\n**What**\n\nThe code that sends your prompt and the code that tracks composer UI state were pulled out of the main REPL into two classes. Behaviour is unchanged, including the refusal to rewind in cloud sessions and the \"Draft restored\" notice.\n\n**Details**\n\n- The submit controller owns submitting, submitting an empty prompt, submitting to a subagent, survey follow-ups, pulling a queued prompt back into the draft, and cancelling with drain of pending work.\n- The composer store holds the IDE selection, the bashes dialog, whether the message selector is open, and the exit interstitial.\n- Both throw if used before the REPL binds itself to them, which turns ordering mistakes into immediate errors rather than silent no-ops.\n\n**Evidence**\n\n`Rewind is not yet available in cloud sessions`\n\n- Area: REPL\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 0\/5"}