Files
stack/docs/scratchpads/fleet-cli-local-canary-review-fixes.md
jason.woltje 6dfd78f643
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
feat(fleet): add local canary CLI (#563)
2026-06-20 17:49:01 +00:00

2.3 KiB

Fleet CLI Local Canary Review Fixes

Objective

Fix only the two should-fix code review findings:

  1. Ensure @mosaicstack/mosaic declares yaml and lockfile state is current.
  2. Validate mosaic agent status [agent] against the fleet roster before constructing/running the tmux target.

Constraints

  • Do not modify docs/TASKS.md.
  • Leave changes uncommitted.
  • Run requested formatting and quality gates.

Plan

  1. Inspect manifest/lockfile state for yaml.
  2. Add failing regression test for mosaic agent status typo.
  3. Patch registerFleetAgentCommands status validation.
  4. Format touched files.
  5. Run requested tests, typecheck, and lint.
  6. Review final diff.

Progress

  • Loaded required repo/global/runtime instructions.
  • Confirmed packages/mosaic/package.json already declares yaml.
  • Confirmed pnpm-lock.yaml already has packages/mosaic importer entry for yaml.
  • Found registerFleetAgentCommands status path does not validate agent before building tmux target.

Verification

  • TDD red check: pnpm --filter @mosaicstack/mosaic test -- src/commands/fleet.spec.ts failed before the production fix because mosaic agent status typo resolved instead of rejecting.
  • Focused green check: pnpm --filter @mosaicstack/mosaic test -- src/commands/fleet.spec.ts passed after adding roster validation.
  • Formatting: pnpm exec prettier --write packages/mosaic/src/commands/fleet.ts packages/mosaic/src/commands/fleet.spec.ts docs/scratchpads/fleet-cli-local-canary-review-fixes.md completed with all files unchanged.
  • Requested tests: pnpm --filter @mosaicstack/mosaic test -- src/commands/fleet.spec.ts src/cli-smoke.spec.ts passed with 36 tests.
  • Baseline typecheck: pnpm typecheck passed.
  • Baseline lint: pnpm lint passed.
  • Independent review: ~/.config/mosaic/tools/codex/codex-code-review.sh --uncommitted returned approve with 0 findings. Note: reviewer reported broader context inspection was limited by its read-only sandbox, so review was based on the supplied diff.
  • docs/TASKS.md has no diff.

Risks

  • docs/TASKS.md intentionally untouched per user instruction.
  • Review finding 1 required no file edit: packages/mosaic/package.json already declares yaml, and the packages/mosaic importer in pnpm-lock.yaml already includes yaml.