From 21b377d9c0e777f3156ba12c4da0627dab93941b Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Tue, 21 Apr 2026 17:01:46 +0900 Subject: [PATCH] =?UTF-8?q?ROADMAP=20#141:=20claw=20=20--help?= =?UTF-8?q?=20has=205=20different=20behaviors=20=E2=80=94=20inconsistent?= =?UTF-8?q?=20help=20surface?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ROADMAP.md | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/ROADMAP.md b/ROADMAP.md index d2a8a59..0fc1199 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -5247,3 +5247,58 @@ $ claw state --output-format json **Blocker.** None. Pure error-text + doc fix. ~30 lines. **Source.** Jobdori dogfood 2026-04-21 16:00 KST on main HEAD `f3f6643`. Joins **error-message-quality** cluster (related to §4.44 typed error taxonomy and §5 failure class enumeration). Joins **CLI discoverability** cluster (#108 did-you-mean for typos, #127 --json on diagnostic verbs). Session tally: ROADMAP #139. + +## Pinpoint #141. `claw --help` has 5 different behaviors — inconsistent help surface breaks discoverability + +**Gap.** Running ` --help` has five different behaviors depending on which subcommand you pick. This breaks the expected CLI contract that ` --help` returns subcommand-specific help. + +**Matrix (verified on main HEAD `27ffd75` 2026-04-21 16:59 KST):** + +| Subcommand | Behavior | Status | +|---|---|---| +| `status`, `sandbox`, `doctor`, `skills`, `agents`, `mcp`, `acp` | Subcommand-specific help | ✅ correct | +| `version` | Global `claw --help` | ⚠️ inconsistent | +| `init`, `export`, `state` | Global `claw --help` | ⚠️ inconsistent | +| `dump-manifests`, `system-prompt` | `error: unknown option: --help` | ❌ broken | +| `bootstrap-plan` | Prints phases JSON (not help at all) | ❌ broken | + +**Concrete repro:** +``` +$ claw system-prompt --help +error: unknown system-prompt option: --help + +$ claw dump-manifests --help +error: unknown dump-manifests option: --help + +$ claw bootstrap-plan --help +- CliEntry +- FastPathVersion +... + +$ claw init --help +claw v0.1.0 +Usage: + claw [--model MODEL] ... # this is global help, not init-specific +``` + +**Why this is a clawability gap.** +1. **Product principle violation**: every CLI subcommand should have a consistent ` --help` contract that returns subcommand-specific help. +2. **CI/orchestration hazard**: a claw script that tries ` --help | grep