mirror of
https://github.com/instructkr/claude-code.git
synced 2026-05-21 21:26:45 +00:00
docs(roadmap): add help topic fallthrough hang
This commit is contained in:
@@ -6623,3 +6623,5 @@ Original filing (2026-04-18): the session emitted `SessionStart hook (completed)
|
||||
533. **`export` and `init` unknown/extra arguments zero-byte hang, so artifact/setup commands are not parse-safe and can masquerade as session-store or project-initialization deadlocks** — dogfooded 2026-05-21 from the `#clawcode-building-in-public` 08:30 UTC nudge on `/home/bellman/Workspace/claw-code-pr2967` with branch/origin `docs/roadmap-workdir-provenance@7e35ed0` and binary `./rust/target/debug/claw` built from source SHA `25d663d`. Clean-home probes from a minimal temp workspace: `claw export bogus`, `claw export bogus --output-format json`, and `claw export --output-format json bogus` each timed out after 6s with `stdout=0`/`stderr=0`; the sweep then reached `claw init bogus`, which also entered the same zero-output wait before the run was killed. `export` is documented as `claw export [PATH] [--session SESSION] [--output PATH]`, and `init` should have either no positionals or a documented target path. Unknown/ambiguous argument forms must be validated before the command can fall into prompt/runtime/session paths. **Required fix shape:** (a) give `export` a strict positional contract: a single optional output path, with extra positionals rejected and JSON/output flags parsed deterministically; (b) make `init` reject unexpected positionals/flags with bounded `kind:"unexpected_argument"` unless a target path is intentionally supported; (c) when `export <PATH>` is valid but no sessions exist, return the existing `no_managed_sessions` error only after path validation, not a hang; (d) add elapsed-time regressions for `export bogus`, `export bogus --output-format json`, `export --output-format json bogus`, `init bogus`, and valid `init`/`export --session missing` controls; (e) fold these artifact/setup commands into the shared no-fallthrough parser rule from #531/#532. **Why this matters:** `export` and `init` are file/artifact setup surfaces. If a typo or copied flag yields a silent timeout, users cannot tell whether session discovery, markdown export, or project initialization is stuck; the CLI should fail before touching runtime state. Source: gaebal-gajae dogfood response to Clawhip message `1506937123373187183` on 2026-05-21.
|
||||
|
||||
534. **`bootstrap-plan` and `acp` unknown/extra arguments zero-byte hang, so setup/editor-integration diagnostics still fall through to runtime instead of enforcing their tiny command grammars** — dogfooded 2026-05-21 from the `#clawcode-building-in-public` 09:00 UTC nudge on `/home/bellman/Workspace/claw-code-pr2967` with branch/origin `docs/roadmap-workdir-provenance@d2a4b7b` and binary `./rust/target/debug/claw` built from source SHA `25d663d`. Clean-home probes from a minimal temp workspace: `claw bootstrap-plan bogus`, `claw bootstrap-plan bogus --output-format json`, and `claw bootstrap-plan --output-format json bogus` each timed out after 6s with `stdout=0`/`stderr=0`; the sweep then reached `claw acp bogus`, which also entered the same zero-output wait before the run was killed. `bootstrap-plan` should be a bounded setup/planning helper, and `acp [serve]` is documented as an editor-integration status/server surface with a closed action set. Unknown positionals or misplaced JSON selectors should never start prompt/runtime machinery. **Required fix shape:** (a) make `bootstrap-plan` strict about accepted args/flags and reject extras with `kind:"unexpected_argument"`; (b) make `acp` accept only the documented empty/status form and `serve`, with typed `kind:"unsupported_action"` for anything else; (c) support or explicitly reject `--output-format json` placements without hanging; (d) add elapsed-time regressions for the four probes above plus `acp serve`/bare `bootstrap-plan` controls; (e) include these in the shared no-fallthrough parser audit covering #529-#533. **Why this matters:** setup and editor integration commands are often called by installers, editors, and wrappers. A typo in those integration paths should return a clear command error, not look like editor server startup, prompt delivery, or bootstrap planning has deadlocked. Source: gaebal-gajae dogfood response to Clawhip message `1506944672889831516` on 2026-05-21.
|
||||
|
||||
535. **`help` unknown/extra arguments zero-byte hang, so the command meant to explain CLI usage is itself not parse-safe when users ask for a bad topic or misplace JSON flags** — dogfooded 2026-05-21 from the `#clawcode-building-in-public` 09:30 UTC nudge on `/home/bellman/Workspace/claw-code-pr2967` with branch/origin `docs/roadmap-workdir-provenance@c8e2ae4` and binary `./rust/target/debug/claw` built from source SHA `25d663d`. Clean-home probes from a minimal temp workspace: `claw help bogus`, `claw help bogus --output-format json`, and `claw help --output-format json bogus` each timed out after 6s with `stdout=0`/`stderr=0`; the sweep then reached `claw acp bogus --output-format json`, which also entered the same wait before the run was killed. #534 already captured bare `acp bogus`; this entry isolates the help surface. `help` should either print top-level usage, show a known topic, or return a bounded `unknown_help_topic` / `unexpected_argument` diagnostic. It must never fall through to prompt/runtime startup because a user asked for an invalid help topic. **Required fix shape:** (a) give `help` a strict topic parser with known topics/aliases and a bounded unknown-topic error; (b) if JSON help output is unsupported, reject `--output-format json` with `kind:"unsupported_flag_for_command"` rather than hanging; (c) include `topic`, `supported_topics`, and examples in the diagnostic; (d) add elapsed-time regressions for `help bogus`, `help bogus --output-format json`, `help --output-format json bogus`, valid `help`, and valid `--help`; (e) fold `help` into the global no-fallthrough audit so usage-discovery paths remain safe even when malformed. **Why this matters:** help is the recovery path after a parse error. If malformed help requests hang silently, users lose the most basic self-service diagnostic and wrappers cannot safely probe supported command topics. Source: gaebal-gajae dogfood response to Clawhip message `1506952218346127553` on 2026-05-21.
|
||||
|
||||
Reference in New Issue
Block a user