# Mosaic tmux Fleet PoC This directory contains the first durable tmux-backed fleet primitives for the Mosaic software-factory model. The lifecycle model follows the organization-neutral AI Guide playbook `mosaicstack/aiguide:playbooks/tmux-fleet.md` (commit `2a0b0b5`): a dedicated holder owns the tmux server/socket; agent units join it and stop only their own exact-match session. ## Layout - `mosaic-tmux-holder.service` — user-mode holder that owns the named tmux server. - `mosaic-agent@.service` — user-mode template for one reusable agent session. - `test-fleet-units.sh` — validates unit syntax and required relationships. The agent template calls: ```text ~/.config/mosaic/tools/fleet/start-agent-session.sh ``` which starts or reuses a tmux session on `MOSAIC_TMUX_SOCKET`. ## Local customization Per-agent overrides live outside the package in: ```text ~/.config/mosaic/fleet/agents/.env ``` Example: ```dotenv MOSAIC_TMUX_SOCKET=mosaic-factory MOSAIC_AGENT_RUNTIME=claude MOSAIC_AGENT_WORKDIR=/home/jarvis/src/mosaic-stack # Optional escape hatch for PoC/canary agents: # MOSAIC_AGENT_COMMAND=mosaic yolo claude ``` ## Manual canary sequence ```bash mkdir -p ~/.config/systemd/user ~/.config/mosaic/tools/fleet ~/.config/mosaic/fleet/agents cp packages/mosaic/framework/systemd/user/mosaic-*.service ~/.config/systemd/user/ cp packages/mosaic/framework/tools/fleet/start-agent-session.sh ~/.config/mosaic/tools/fleet/ chmod +x ~/.config/mosaic/tools/fleet/start-agent-session.sh systemctl --user daemon-reload systemctl --user start mosaic-tmux-holder.service systemctl --user start mosaic-agent@canary.service tmux -L mosaic-factory ls ``` Do not use `tmux kill-server` without `-L mosaic-factory`; this pattern is meant to avoid disturbing the user's default tmux server.