ci/woodpecker/pr/ci Pipeline was successful
With an active brain seat (MOSAIC_AGENT_NAME + seat dir under the brain home), 'mosaic launch' now gives the runtime a per-agent home inside the seat dir — <brainHome>/fleet/agents/<seat>/.<runtime> — instead of the shared per-runtime ~/.config/mosaic/.<runtime>. Per-agent sessions, settings, and auth live inside the seat (canon §2; dot-named so brain ignore policy keeps credential material untracked). - activeSeatDir(): resolves the seat only when a brain is active; agent names validated against a safe charset (path traversal rejected) - seatPersonaOverlay(): <seat>/SOUL.md injected by value as a '## Seat Persona' overlay block layering persona on the root generic base - launch record: config_home_kind (seat|runtime-shared) + agent_name - bare launches (no MOSAIC_AGENT_NAME) and non-seat agents keep the shared home — no behavior change without a brain Tests: launch.spec seat-home cases incl. unsafe-name matrix + persona overlay hermetic tests (no host-roster dependency).