Repository navigation
Description
Summary
The 2.0.0-preview.1 dogfood pass found a cluster of incomplete commands, migration leftovers, and misleading diagnostics:
- There is no
squad client list;squad client --helpexits 0 with a stub althoughclientis not a command. - Upgrade dry-run prints an
undefinedproject name and legacy root-level casting paths. - The Rai→rai case-only migration does not persist in Git on case-insensitive filesystems, and shipped templates still reference
agents/Rai/. squad_decidewrites to the root inbox instead of the active workstream inbox and produces capitalized/truncated filenames.update-checkserves a 169-day-stale cache without a warning.squad doctorreportsMode: remotefor a local repo, takes about four minutes, and emits NodeDEP0190.
Environment
- Squad CLI
2.0.0-preview.1, installed from the exact published release tarball - Windows 11
- Node.js 22
- CFS-only npm host (
https://packagefeedproxy.microsoft.io/npm/)
Repro
squad client list
squad client --help
squad upgrade --dry-run
git ls-files .squad/agents
git grep -n "agents/Rai"
squad update-check --json
Measure-Command { squad doctor }With an active workstream, invoke squad_decide once and inspect both .squad/decisions/inbox/ and .squad/workstreams/active/<slug>/decisions/inbox/.
Observed
Client command behavior:
✗ Unknown command: client
No detailed help is available for 'client'
The help stub exits 0. Upgrade dry-run begins with:
undefined — previewing upgrade from 2.0.0-preview.1 → 2.0.0-preview.1
It lists legacy root paths such as:
.squad/casting-history.json
.squad/casting-policy.json
.squad/casting-registry.json
On Windows with core.ignorecase=true, Git continued tracking agents/Rai/ after the on-disk migration to agents/rai/. References remained in .squad/templates/README.md and the shipped squad.agent.md template.
The decision probe wrote to the root inbox with a name shaped like:
Scribe-squad-2-0-0-preview-1-self-check-runtime-inbox-wri.md
Update check returned stale data:
checkedAt: 2026-05-07
latest: 0.9.4
cacheAge: PT4066H…
Doctor printed:
Mode: remote
(node:…) [DEP0190] DeprecationWarning
It took approximately four minutes on a local repository.
Expected
- Provide
squad client list, or rejectsquad client --helpconsistently with exit 1 until the command exists. - Render a real project name and canonical casting paths.
- Perform Rai→rai through a two-step Git-safe rename and update all shipped references.
- Route
squad_decideto the active workstream inbox when one is active; preserve lowercase, complete filenames. - Warn when cached update data is stale and channel-incompatible.
- Report local mode correctly, bound doctor latency, and avoid deprecated
shell: true+ args spawning.
Impact / Severity
MEDIUM. These do not individually corrupt state, but together they make 2.0 host-adapter discovery, migration review, decision routing, update status, and diagnostics unreliable.
Proposed fix
Add focused regression coverage for command registration/help exit codes, upgrade header/path rendering, case-insensitive Git migration, workstream-aware decision routing, update-cache age/channel validation, and doctor mode/timeout/spawn behavior.
Activity
fix(cli): 2.0.0-preview.2 upgrade/health fixes from dogfooding
fix(cli): 2.0.0-preview.2 upgrade/health fixes from dogfooding (#2303)