claw-code/rust/crates
YeonGyu-Kim f1e4ad7574 feat: #156 — error classification for text-mode output (Phase 2 of #77)
## Problem

#77 Phase 1 added machine-readable error `kind` discriminants to JSON error
payloads. Text-mode (stderr) errors still emit prose-only output with no
structured classification.

Observability tools (log aggregators, CI error parsers) parsing stderr can't
distinguish error classes without regex-scraping the prose.

## Fix

Added `[error-kind: <class>]` prefix line to all text-mode error output.
The prefix appears before the error prose, making it immediately parseable by
line-based log tools without any substring matching.

**Examples:**

## Impact

- Stderr observers (log aggregators, CI systems) can now parse error class
  from the first line without regex or substring scraping
- Same classifier function used for JSON (#77 P1) and text modes
- Text-mode output remains human-readable (error prose unchanged)
- Prefix format follows syslog/structured-logging conventions

## Tests

All 179 rusty-claude-cli tests pass. Verified on 3 different error classes.

Closes ROADMAP #156.
2026-04-22 00:21:32 +09:00
..
api US-024: Add token limit metadata for kimi models 2026-04-17 04:15:38 +00:00
commands feat: #144 phase 1 + ROADMAP filing — claw mcp degrades gracefully on malformed config 2026-04-21 19:07:17 +09:00
compat-harness feat: ultraclaw droid batch — ROADMAP #41 test isolation + #50 PowerShell permissions 2026-04-12 03:06:24 +09:00
mock-anthropic-service feat(harness+usage): add auto_compact and token_cost parity scenarios 2026-04-03 22:41:42 +09:00
plugins Keep poisoned test locks from cascading across unrelated regressions 2026-04-12 13:52:41 +00:00
runtime fix: #80 — session-lookup error messages now show actual workspace-fingerprint directory 2026-04-21 22:18:12 +09:00
rusty-claude-cli feat: #156 — error classification for text-mode output (Phase 2 of #77) 2026-04-22 00:21:32 +09:00
telemetry feat: anthropic SDK header matching + request profile 2026-04-01 05:55:25 +00:00
tools ROADMAP #133: Blocked-state subphase contract — implement §6.5 2026-04-20 15:04:08 +09:00