mirror of
https://github.com/ultraworkers/claw-code.git
synced 2026-04-24 13:08:11 +08:00
roadmap(#174): file --resume trailing args classifier gap
Cycle #101 probe of session-boot axis (prompt misdelivery / resume lifecycle) found another typed-error classifier gap. Filed only, not fixed. Per freeze doctrine (cycles #98-#100), no new code axis added to feat/jobdori-168c-emission-routing. Pattern: `--resume trailing arguments must be slash commands` classified as 'unknown' instead of 'cli_parse'. Side effect: #247 hint synthesizer doesn't trigger, so hint is null. Same family as #169, #170, #171 (classifier coverage gaps). Proposed fix: add `--resume trailing arguments` pattern to classify_error_kind as cli_parse. Pinpoint count: 66 filed, 52 genuinely-open + #174 new.
This commit is contained in:
parent
28102af64a
commit
a8fc17cdee
71
ROADMAP.md
71
ROADMAP.md
@ -9960,3 +9960,74 @@ Then run:
|
|||||||
**Status:** FILED only, not fixed. Current branch `feat/jobdori-168c-emission-routing` is under freeze (cycles #98-#99 doctrine: 5 axes complete, review-ready, no axis #6). Fix will land on a separate branch post-review.
|
**Status:** FILED only, not fixed. Current branch `feat/jobdori-168c-emission-routing` is under freeze (cycles #98-#99 doctrine: 5 axes complete, review-ready, no axis #6). Fix will land on a separate branch post-review.
|
||||||
|
|
||||||
**Discovery cycle:** #100 (non-classifier axis pivot continues — event/log opacity probe surfaced a structured-output parity gap).
|
**Discovery cycle:** #100 (non-classifier axis pivot continues — event/log opacity probe surfaced a structured-output parity gap).
|
||||||
|
|
||||||
|
## Pinpoint #174. `--resume trailing arguments must be slash commands` classifier gap — FILED (cycle #101, 2026-04-23 09:32 Seoul)
|
||||||
|
|
||||||
|
**Gap.** When user invokes `claw --resume <session-id> <non-slash-command-arg>`, parser rejects the trailing positional with:
|
||||||
|
|
||||||
|
```
|
||||||
|
error: --resume trailing arguments must be slash commands
|
||||||
|
```
|
||||||
|
|
||||||
|
But the JSON envelope classifies this as:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"error": "--resume trailing arguments must be slash commands",
|
||||||
|
"hint": null,
|
||||||
|
"kind": "unknown",
|
||||||
|
"type": "error"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Two problems (same pattern as #169/#170/#171):**
|
||||||
|
|
||||||
|
1. `kind: "unknown"` — this is clearly a CLI parse error (user violated flag contract), should be `cli_parse`
|
||||||
|
2. `hint: null` — #247 hint synthesizer only triggers for `cli_parse`, so misclassification also loses the hint
|
||||||
|
|
||||||
|
**Reproduction:**
|
||||||
|
```bash
|
||||||
|
claw --output-format json --resume nonexistent-session-id-xyz prompt "test"
|
||||||
|
claw --output-format json --resume "../etc/passwd" prompt "test"
|
||||||
|
```
|
||||||
|
|
||||||
|
Both return the same `--resume trailing arguments must be slash commands` error with `kind: "unknown"`.
|
||||||
|
|
||||||
|
**Expected:**
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"error": "--resume trailing arguments must be slash commands",
|
||||||
|
"hint": "Run `claw --help` for usage.",
|
||||||
|
"kind": "cli_parse",
|
||||||
|
"type": "error"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Fix shape.** Add classifier branch to `classify_error_kind`:
|
||||||
|
```rust
|
||||||
|
} else if message.contains("--resume trailing arguments must be slash commands") {
|
||||||
|
"cli_parse"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternatively, broader pattern matching on `--resume trailing arguments`:
|
||||||
|
```rust
|
||||||
|
} else if message.contains("--resume trailing arguments") {
|
||||||
|
"cli_parse"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Family:** Typed-error classifier family. Related: #121, #127, #129, #130, #164, #169, #170, #171, #247.
|
||||||
|
|
||||||
|
**Verified working paths (for comparison):**
|
||||||
|
- `claw --resume <id> /help` — works (help handler dispatches)
|
||||||
|
- `claw --resume nonexistent-id /help` — `kind: "session_not_found"` with useful hint including partition path
|
||||||
|
- `claw --resume <id> prompt "..."` — emits `kind: "unknown"` ← GAP
|
||||||
|
|
||||||
|
**Discovery:** Cycle #101 probe of session-boot axis (prompt misdelivery / resume lifecycle). Probe found one classifier gap on the error surface.
|
||||||
|
|
||||||
|
**Proposed branch:** `feat/jobdori-174-resume-trailing-classifier` (separate from `feat/jobdori-168c-emission-routing` per freeze doctrine — file-only on current branch).
|
||||||
|
|
||||||
|
**Status:** FILED only, not fixed. Per freeze doctrine (cycles #98-#100), no new code axis added to `feat/jobdori-168c-emission-routing`. Fix to land on separate branch.
|
||||||
|
|
||||||
|
**Pinpoint count:** 66 filed, 52 genuinely-open + #174 new.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user