fix(cli): block recovery after lifecycle probe failures - #10437
Conversation
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall line coverage in commit 7ea519d in the TypeScript / code-coverage/cliThe overall line coverage in commit 7ea519d in the Show a line coverage summary of the most impacted files.
Updated |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (5)
Included review availability: Your plan provides up to 12 included reviews per hour; 8 remain after this review. 📝 WalkthroughWalkthroughGateway recovery now classifies additional OpenShell CLI errors as recovery-blocking. Lifecycle results expose this state. Recovery and sandbox reconciliation stop without unsafe selection, startup, or registry removal. ChangesGateway recovery blocking
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to The change prevents gateway selection or startup after non-recoverable lifecycle probe failures. No actionable merge-blocking risk remains after normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Comment |
|
PR review advisory complete for commit |
rsliter
left a comment
There was a problem hiding this comment.
Reviewed commit 7ea519d. The shared CLI classifier now blocks authentication, schema, gateway-identity, and invalid-request failures before gateway selection or startup. The post-selection and missing-sandbox guards preserve the fail-closed recovery boundary. The focused 47-test set passed locally, and all 59 current checks pass.
Non-blocking: The PR Review Advisor Operations specialist found that getReconciledSandboxGatewayState can replace the blocked lifecycle class with the original transport diagnostic. A focused follow-up PR should preserve the sanitized kind and reason and add boundary tests. This affects remediation guidance, not the recovery boundary.
Summary
Named-gateway recovery now rejects non-recoverable lifecycle probe failures before it selects or starts a gateway. The change closes the fail-closed test gap left by #10424.
Related Issue
Related to #10421. Follow-up to #10424.
Changes
gateway selectandgateway startdo not run.Type of Change
Quality Gates
DGX Station Hardware Evidence
scripts/prepare-dgx-station-host.sh.Verification
Signed-off-by:line and every commit appears asVerifiedin GitHubpre-commit,commit-msg, andpre-pushhooks passed, ornpm run validate:prpassed after refreshingorigin/mainwhen hooks were skipped or unavailablenpx vitest run --project cli --maxWorkers=1 src/lib/gateway-runtime-action.test.ts src/lib/adapters/openshell/sandbox-observer-cli.test.ts src/lib/actions/sandbox/gateway-state-drift.test.ts: 3 files and 47 tests passed.npm run test:titles:checkpassed.npm run docsbuilds without warnings (doc changes only)Informational local run:
npm run test:changedpassed 5,485 tests and failed 16 tests across nine unchanged files under host concurrency. Eight files passed sequentially; one unchanged uninstall test retained a five-second timeout. GitHub CI remains the authoritative broad result.Signed-off-by: Prekshi Vyas prekshiv@nvidia.com
Summary by CodeRabbit