Files
stack/docs/scratchpads/2026-06-20-fleet-cli-local-canary.md
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

1.9 KiB

Fleet CLI Local Canary Dogfood — 2026-06-20

Objective

Move the durable tmux fleet PoC into a functional local canary on this server. This is not production deployment. It is a canary/dogfood path for a small local agent fleet using an isolated tmux socket.

Issue

  • Gitea issue: #562 — feat(fleet): local CLI canary dogfood

Scope

Implement enough product surface to use the fleet locally:

  • mosaic fleet init/install/start/stop/restart/status/verify
  • mosaic agent roster/status/send/reset/tail
  • roster schema and examples
  • local canary docs and rollback instructions
  • tests for CLI behavior where practical
  • canary verification on named tmux socket mosaic-fleet

Non-goals

  • No production rollout.
  • No migration of existing default tmux sessions.
  • No image build/deploy work.
  • No hardcoded USC/local roster as product default.

Acceptance Criteria

  • CLI can initialize a minimal roster outside product defaults.
  • CLI can install user systemd units and fleet helper scripts to a configurable Mosaic home.
  • CLI can start/stop/status/verify a canary fleet using mosaic-fleet.
  • mosaic agent send uses existing named-socket/exact-target tmux tooling.
  • mosaic agent reset targets only the named agent session on the named socket.
  • Verification proves default tmux sessions remain untouched.
  • Baseline repo gates pass.
  • PR CI is green before merge.
  • Local canary evidence is captured after merge/install.

Budget / Routing

  • Agent: codex preferred.
  • Estimate: 25K-40K tokens.
  • Worker owns implementation/tests/docs in branch feat/fleet-cli-local-canary.
  • Orchestrator owns docs/TASKS.md, issue/PR/merge, and local canary install verification.

Progress

  • 2026-06-20: #557 PoC primitives merged to main as 45e2c2a.
  • 2026-06-20: issue #562 created for local CLI canary dogfood.
  • 2026-06-20: worktree created at /home/jarvis/src/mosaicstack-stack-worktrees/fleet-cli-local-canary.