Files
stack/packages/mosaic/framework/systemd/user/mosaic-tmux-holder.service
Jason Woltje 4e1fa88076
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
refactor(fleet): rename tmux socket mosaic-factory → mosaic-fleet
Pure rename of the named production-isolation socket to match the product brand
(Mosaic Fleet), per Jason. Behavior is identical — only the socket NAME changes.

- 6 example presets: socket_name: mosaic-factory → mosaic-fleet
- fleet.ts: DEFAULT_SOCKET_NAME = 'mosaic-fleet' (+ all literals)
- systemd units + READMEs, roster.schema.json, start-agent-session.sh
- docs/guides + fleet PRD/TASKS + scratchpads; tests updated

The PoC roster is socket-LESS (default socket, no -L), so it is unaffected.
docs/fleet/north-star.md is intentionally EXCLUDED (owned by the in-flight
doctrine PR #629 — its mosaic-factory references are renamed there to avoid a
merge conflict). The live legacy canary fleet still running on the old socket is
a separate retire/migrate op, not this PR.

Single find/replace — target trivially swappable if the brand is reconsidered.

Verified: 172 fleet + onboarding tests green; tsc/eslint/prettier/sanitize clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EsgTQzV5YUGk1JtCLP4B83
2026-06-22 15:07:05 -05:00

16 lines
574 B
Desktop File

[Unit]
Description=Mosaic tmux fleet holder
Documentation=https://git.mosaicstack.dev/mosaicstack/stack
After=default.target
[Service]
Type=oneshot
RemainAfterExit=yes
Environment=MOSAIC_TMUX_SOCKET=mosaic-fleet
Environment=MOSAIC_TMUX_HOLDER=_holder
ExecStart=/bin/bash -lc 'tmux -L "$MOSAIC_TMUX_SOCKET" has-session -t "=${MOSAIC_TMUX_HOLDER}:0.0" 2>/dev/null || tmux -L "$MOSAIC_TMUX_SOCKET" new-session -d -s "$MOSAIC_TMUX_HOLDER" "while true; do sleep 3600; done"'
ExecStop=-/bin/bash -lc 'tmux -L "$MOSAIC_TMUX_SOCKET" kill-server'
[Install]
WantedBy=default.target