Repository navigation
fix(cli): squad doctor — add casting dir to upgrade, improve global install warnings - #823
Conversation
🛫 PR Readiness Check
|
| Status | Check | Details |
|---|---|---|
| ❌ | Single commit | 2 commits — consider squashing before review |
| ✅ | Not in draft | Ready for review |
| ✅ | Branch up to date | Up to date with dev |
| ❌ | Copilot review | No Copilot review yet — it may still be processing |
| ✅ | Changeset present | Changeset file found |
| ✅ | Scope clean | No .squad/ or docs/proposals/ files |
| ✅ | No merge conflicts | No merge conflicts |
| ✅ | Copilot threads resolved | 6 active Copilot thread(s) resolved (4 outdated skipped) |
| ❌ | CI passing | 15 check(s) still running |
This check runs automatically on every push. Fix any ❌ items and push again.
See CONTRIBUTING.md and PR Requirements for details.
🏗️ Architectural Review
Automated architectural review — informational only. |
There was a problem hiding this comment.
Pull request overview
This PR addresses insiders-testing issues around upgrade scaffolding and doctor output, ensuring older repos get the newer casting directory/files and making global-install diagnostics less noisy.
Changes:
- Add
.squad/casting/to the upgrade directory ensure list and scaffold default casting state files duringsquad upgrade. - Downgrade certain “missing node_modules dependency” doctor results from
warntoinfowith updated messaging and reporting. - Add inline documentation in the CLI entrypoint about
versionrouting investigation results.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
packages/squad-cli/src/cli/core/upgrade.ts |
Ensures .squad/casting/ exists and scaffolds default casting JSON files during upgrade. |
test/cli/upgrade.test.ts |
Adds coverage for casting directory creation, default scaffolding, non-overwrite behavior, and upgrade behavior for older repos. |
packages/squad-cli/src/cli/commands/doctor.ts |
Adds info status to doctor checks and updates output summary/icon mapping and messaging. |
test/cli/doctor.test.ts |
Updates expectations to match info severity and revised messaging for global installs. |
packages/squad-cli/src/cli-entry.ts |
Adds comments clarifying the investigation into version command routing reports. |
🟡 Impact Analysis — PR #823Risk tier: 🟡 MEDIUM 📊 Summary
🎯 Risk Factors
📦 Modules Affectedroot (1 file)
squad-cli (3 files)
tests (2 files)
This report is generated automatically for every PR. See #733 for details. |
27841e1 to
1ab1e74
Compare
…stalls - ensureCastingDefaults() accepts optional templatesDir param to avoid redundant getTemplatesDir() call when invoked from runEnsureChecks() - checkVscodeJsonrpcExports() distinguishes local dev (node_modules present → warn with remediation) from global install (→ info) - checkCopilotSdkSessionPatch() applies the same global vs local logic Resolves 3 unresolved Copilot review comments on PR #823. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
f008ad7 to
5aed14e
Compare
bradygaster
left a comment
There was a problem hiding this comment.
Other than addressing Copilot's reviews, LGTM
|
thank you @diberry! |
FR-2: Extended parity test suite with parametric ENSURE_DIRECTORIES tests, casting/sessions recreation, pre-casting repo simulation, and doctor validation. FR-3: Added upgrade-doctor-check CI job triggered on init/upgrade/doctor changes. FR-7: Centralized global install detection in doctor, improved ESM check messaging. FR-1 (casting fix) already merged via PR #823. FR-4/5/6 (SDK compat) handled in #818. Closes #817 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fixes 3 issues found during v0.9.1 insiders testing:
Related Issues
Related PRDs
Root Cause
\squad init\ and \squad upgrade\ are two code paths that should produce the same scaffolding but are maintained independently with no shared contract. When casting was added to init (Mar 23), the upgrade path was never updated. See retro analysis in #817.
Found by Brady during insiders install.