Brings #24257's merge of main (e02adc5320) through #23962. Main's refactors met this branch's
carry rule in the startup builders, so the rule now runs inside them:
- Terminal create and agent-session create plan through planExecutionHostLaunchPrompt: main's
OpenCode one-time model preparation, then planLaunchPrompt, with the model's launch config on
whichever plan launches. A draft keeps main's refusal of a model preference.
- The flag-prompt branch uses main's extracted builder (OpenCode run's positional message and
prompt env) with this branch's launch-file directory grant; followupPrompt is gone there too.
- Worktree create keeps main's resolveWorktreeCreateAgentStartup, now awaiting the async builder.
- The relay strips OpenCode's startup-prompt env and probes its plugin before writing the launch
file; the local spawn creates jcode's runtime dir before it.
- Daemon protocol v41 (launch file) keeps main's fish codex-function constant at v39.
- The new-tab launcher keeps main's structured-chat-first route with this branch's launch host.
- Main's new prompted-plan tests (Qoder, Qoder CN, DSH, OpenCode startup prompt and model)
plan through planLaunchPrompt; this branch's new launcher tests carry main's requestId.
- The agent-session startup plan, and the work-item prompt delivery, moved into their own
functions so the merged files stay under the line cap.