55 lines
2.3 KiB
Markdown
55 lines
2.3 KiB
Markdown
# 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`.
|