From d9b61cc4dc1eb2c6358434d749f370ae8554cd64 Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Thu, 23 Apr 2026 08:02:28 +0900 Subject: [PATCH] roadmap(#171): file + close classifier gap for unexpected extra arguments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cycle #97 probing #141 surface found additional classifier gap. #171 closed by commit fbb0ab4 (same branch, same cycle). Part of typed-error family (#121, #127, #129, #130, #164, #169, #170, #247). #141 (list-sessions --help doesn't show help) remains open — requires separate parser fix for --help-as-distinct-path logic. Pinpoint count: 63 filed, 51 genuinely-open + #171 classifier closed. --- ROADMAP.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/ROADMAP.md b/ROADMAP.md index 490aae7..348b861 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -9835,3 +9835,35 @@ Added two new subsections under "## Install / build the workspace": **Family:** Discoverability / bridge documentation. Related: #155 (help/USAGE parity). **Closed:** Yes — shipped in cycle #96, feature branch `feat/jobdori-168c-emission-routing`, commit `6212f17`. + +## Pinpoint #171. `unexpected extra arguments` errors classified as `unknown` — SHIPPED (cycle #97, 2026-04-23 08:01 Seoul) + +**Gap.** Probing #141 (claw subcommand --help inconsistency) revealed an additional classifier gap. `claw list-sessions --help` emits: + +``` +error: unexpected extra arguments after `claw list-sessions`: --help +``` + +This error pattern is used by multiple verbs that reject trailing positional args: `list-sessions`, `plugins` (and its subcommands), `config` (subcommands), `diff`, `load-session`. + +**Before fix:** `kind: "unknown"` (typed-error contract violation). + +**Fix shipped.** Commit `fbb0ab4`. Added classifier branch: + +```rust +} else if message.contains("unexpected extra arguments after `claw") { + "cli_parse" +} +``` + +**Side benefit (consistent with #169/#170):** Correctly classified `cli_parse` auto-triggers the #247 hint synthesizer ("Run `claw --help` for usage."). + +**Test added:** `classify_error_kind_covers_unexpected_extra_args_171` (4 positive + 1 sanity guard). + +**Tests:** 226/226 pass (+1 from #171). + +**Related #141 gap NOT closed:** `claw list-sessions --help` still errors instead of showing help. Requires separate parser fix — recognize `--help` as a distinct path even for verbs that don't accept positional args. Tracked as #141. This cycle only closes the classifier branch. + +**Family:** Typed-error family. Related: #121, #127, #129, #130, #164, #169, #170, #247. + +**Closed:** Yes (classifier axis) — shipped in cycle #97, feature branch `feat/jobdori-168c-emission-routing`, commit `fbb0ab4`.