Files
stack/docs/fleet/TASKS.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

4.5 KiB

Tasks — W-FLEET (Fleet) Phase 2: Observability

Workstream task file for the Fleet. Single-writer: Fleet workstream lead (orchestrator). Workers read but never modify. This is not the MVP rollup (docs/TASKS.md) — a rollup row is proposed to the MVP orchestrator, not written here.

Mission: mvp-20260312 · PRD: docs/fleet/PRD.md · North star: docs/fleet/north-star.md Status: not-started | in-progress | done | blocked | failed

id status description depends_on agent pr notes
FLEET-OBS-000 done Plan: north-star + Phase-2 PRD + workstream scaffolding lead persisted 2026-06-20 on feat/fleet-observability
FLEET-OBS-001 done Heartbeat protocol v1 spec finalized in PRD + framework doc FLEET-OBS-000 lead file-based ~/.config/mosaic/fleet/run/<agent>.hb; spec in PRD
FLEET-OBS-002 in-progress Implement heartbeat responder in dogfood-agent.py FLEET-OBS-001 fleet-coder dispatched to ad-hoc mosaic yolo fleet agent (dogfood)
FLEET-OBS-003 done mosaic fleet ps — join systemd+tmux+proc+idle+heartbeat; tenant+host tagged; drift + boot-enable flags; --json FLEET-OBS-001 worker commit ab47831; LIVE-verified on mosaic-fleet; caught canary-pi DRIFT + BOOT-ENABLE. Polish: idleSeconds parse returns null
FLEET-OBS-004 done mosaic agent watch <name> — read-only join (no resize, no keystrokes) FLEET-OBS-000 worker attach -r; verb wired
FLEET-OBS-005 done mosaic agent send --verify — delivery/acceptance receipt FLEET-OBS-000 worker --verify flag; draft-heuristic verify
FLEET-OBS-006 done CLI specs for ps/watch/send-verify (tenant+host shape, command construction) FLEET-OBS-003,004,005 worker 62 tests green (31 new); re-verified by lead
FLEET-OBS-007 not-started Framework doc: fleet observability guide + verbs FLEET-OBS-003,004,005 lead docs/guides/ or framework/tools/.../README
FLEET-OBS-008 not-started Independent review + dogfood verification on live fleet FLEET-OBS-002..007 reviewer author ≠ reviewer; capture evidence in scratchpad
FLEET-OBS-009 not-started Open PR → green CI (queue guard) → squash-merge → close fleet-observability-1 FLEET-OBS-008 lead trunk merge; no direct push to main

Proposed MVP rollup row (for the MVP orchestrator — not written by this workstream)

| W-FLEET | in-progress | Fleet (agent-session execution layer) | Phase 2/5 | docs/fleet/TASKS.md | observability dogfooded on live stub fleet; control plane rides federation (W1) |