- A session picks its own AI tool: `tool` on POST /api/lanes/:id/start
(a catalog id, known + enabled, else 400 EBADTOOL/EDISABLED); a resume
keeps the tool its session ran on (`sessions.tool`). The workspace's
`lanes.tool` is now only the default.
- The workspace home's prompt box is the one place a session starts. Its
fields run in order: AI → AI Router (Native or a profile) → Model (the
tool's own list, or the router's models) → Permission (Claude mode /
Codex sandbox+approval / catalog bypass) → Effort.
- The pane's run form (RunSetup) is gone: New run, a single pane's exit and
an empty split pane's New session all go to the home. RunSetup.tsx keeps
PromptEditor, CwdAutocomplete and ModelPicker (new `choices` prop).
- The tool icon moved from the sidebar's workspace row to each session row
(right edge, `session.tool`); the split-pane header shows the run's tool.
- An ended session opens in its workspace (`&session=`, SessionReplay.tsx):
its conversation read-only plus a prompt box; only a SENT message resumes
it (resumeSessionId + prompt, first free slot). The console is only
hidden behind it.
- Analyst button beside Files/Changes in the right panel opens
/sessions/:id for the opened session.
- Gemini CLI ships its own icon (client/public/ai-tools/gemini.svg, from
zonalogo.com).
- RouterPicker always shows (Native disabled for tools without router
support); useAiRouters() exported.
- Tests: server start-with-tool cases; SessionReplay, home field order/tool/
router models, empty pane, Analyst; dropped the cwd-field suites
(Run.defaultCwd, Workspace.laneCwd). Docs: CLAUDE.md rules, API.md,
LANES.md, README, ARCHITECTURE, INSTALL.