Session start, resume and adoption now live in one controller, and the tool list is recomputed less often.
What's wrong with this entry?
Session start, resume, adoption of agents, shells and workflows, orphan resume and Artifact live-watch rearming now live in a single controller class, and the tool list is recomputed only when its inputs change rather than on every pass.
- The cache is keyed on the identity of the permission context, MCP tools and clients, skill tools, agent definitions, repl bridge flags and slack tag.
- App state gained
artifactRoomJoinConsentSlugs, which records per-Artifact consent to join its comment room.
SessionController: used before its screen bound a host
Strings lifted out of the shipped bundle, so the claim above can be checked against them.