🐛 fix(cli): make nested help read-only and errors actionable - #71
Merged
zrr1999 merged 3 commits intoJul 31, 2026
Merged
Conversation
zrr1999
marked this pull request as ready for review
July 30, 2026 13:21
zrr1999
added a commit
that referenced
this pull request
Jul 31, 2026
## Summary - finalize the Cockpit workspace already leased to a registered runtime binding instead of inserting a duplicate - keep the finalized Cockpit profile name and slug stable while the daemon continues to own local path and binding display identity - redirect workspace creation through the canonical persisted slug - cover idempotent finalization and post-heartbeat identity ownership ## Problem reproduced The first-run flow created a placeholder workspace during daemon registration, then tried to create a second workspace for the same runtime binding. Cockpit rejected the final step with `Runtime workspace binding already belongs to another Cockpit workspace`. ## Validation - isolated end-to-end daemon + Cockpit registration and finalization - final database: 1 workspace, 1 profile source, 1 active lease, 1 runtime binding - `pnpm --filter @zendev-lab/spark-cockpit-coordination run test` (136 tests) - Cockpit suite (634 tests) - `pnpm run check` - `pnpm run smoke` ## Stack 1. this PR 2. #71 CLI safety and diagnostics 3. #72 operator handbook
zrr1999
added a commit
that referenced
this pull request
Jul 31, 2026
## Summary - add matching English and Chinese end-to-end operator handbooks - document state ownership across daemon, TUI, and Cockpit - cover model authentication, service startup, first workspace registration, sessions, durable invocations, product workflows, remote access, troubleshooting, and safe shutdown - link the handbook from Getting Started and the Starlight sidebar ## Evidence behind the guide The flow was exercised against an isolated source build: daemon start/status, Cockpit background service, first workspace registration, workspace finalization, session creation and Cockpit projection, unauthenticated-model behavior, nested help, and shutdown diagnostics. ## Validation - Spark user-doc checks: 16 English/Chinese route pairs - Astro diagnostics: 0 errors, 0 warnings, 0 hints - static build: 33 pages plus Pagefind index and sitemap - `pnpm run check` - `pnpm run smoke` ## Stack 1. #70 workspace finalization 2. #71 CLI safety and diagnostics 3. this PR
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
spark cockpit web ...--so literal prompt content keeps its meaningProblems reproduced
spark doctor --helpran doctor instead of showing helpspark cockpit web start --helpstarted a real background Cockpitspark daemon submit --jsonprinted a TypeScript stack tracedist/migrationswithEEXIST/ENOTEMPTYValidation
SPARK_HOME: nested help created no files and no Cockpit PIDaction=error,code=cli_error, and an actionable messagepnpm run checkpnpm run smokeStack