dd762d07bb
applyRuntimeInfo unconditionally mirrored a runtime's cwd, branch, model and usage into the global composer atoms. Every tile create and session branch called it, so opening a session in another worktree re-pointed the MAIN pane's coding rail at that tile's repo — and persisted it, so the wrong workspace cwd survived a restart. Collect the patch first, then mirror it once behind a `foreground` gate. Background callers still get the full patch for their own session state; they just stop publishing into state they don't own.