diff --git a/docs/PRD.md b/docs/PRD.md index 6f204bb..9d0db59 100644 --- a/docs/PRD.md +++ b/docs/PRD.md @@ -64,6 +64,7 @@ Jarvis (v0.2.0) is a self-hosted AI assistant with a Python FastAPI backend and 21. `@mosaicstack/cli` — unified `mosaic` CLI 22. Docker Compose deployment + bare-metal capability 23. Agent log service — ingest, parse, tier, summarize agent interaction logs +24. Local durable agent fleet canary — `mosaic fleet` / `mosaic agent` CLI for an isolated tmux-backed canary fleet using a named socket, with roster-driven local customization and rollback-safe verification ### Out of Scope (v0.1.0) diff --git a/docs/TASKS.md b/docs/TASKS.md index 464e5a0..199e4e1 100644 --- a/docs/TASKS.md +++ b/docs/TASKS.md @@ -31,6 +31,7 @@ These are MVP-level checks that don't belong to any single workstream. Updated b | MVP-T05 | in-progress | Kick off W1 / FED-M1 — federated tier infrastructure | Session 16 (2026-04-19): FED-M1-01 in-progress on `feat/federation-m1-tier-config` | | MVP-T06 | not-started | Declare additional workstreams (web dashboard, TUI/CLI parity, remote control, etc.) as scope solidifies | Track each new workstream by adding a row to the Workstream Rollup | | T-A292E96F | in-progress | Fix Mosaic Gitea PR metadata/login wrapper regression for U-Connect merge preflight | Kanban `t_a292e96f`; branch `fix/t-a292e96f-gitea-pr-metadata`; scratchpad `docs/scratchpads/t-a292e96f-gitea-pr-metadata.md` | +| FLEET-T01 | in-progress | Add fleet/agent CLI and local tmux-fleet canary dogfood path | Issue #562; branch `feat/fleet-cli-local-canary`; scratchpad `docs/scratchpads/2026-06-20-fleet-cli-local-canary.md`; canary only, not production deploy | ## Pointer to Active Workstream diff --git a/docs/scratchpads/2026-06-20-fleet-cli-local-canary.md b/docs/scratchpads/2026-06-20-fleet-cli-local-canary.md new file mode 100644 index 0000000..7f84750 --- /dev/null +++ b/docs/scratchpads/2026-06-20-fleet-cli-local-canary.md @@ -0,0 +1,52 @@ +# 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-factory` + +## 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-factory`. +- `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`.