claw-code/rust/crates/rusty-claude-cli
YeonGyu-Kim bc41e58b4f fix: route all JSON-mode abort envelopes to stdout (#819 #820 #823)
All handled errors in --output-format json mode now write the structured
abort envelope to stdout (rc=1) and keep stderr empty. Previously the
top-level error handler and resume_session JSON branches used eprintln!
which sent the envelope to stderr, breaking machine consumers that read
stdout for command payloads.

Surfaces fixed:
- Top-level abort handler (main.rs): export --session <missing>,
  session <subcommand>, prompt (no text), unknown subcommand fallthrough,
  flag errors, and all other run() failures
- resume_session JSON branches: session load errors, unsupported commands,
  parse errors, command execution errors

Test changes: updated 24 failing contract tests to assert JSON envelopes
on stdout. Added stderr-clean assertions where appropriate. 70 contract
tests pass (was 68; 2 additional from regression coverage).

ROADMAP: #819 (export session-not-found), #820 (interactive_only class),
#823 (missing prompt)
2026-05-29 12:48:19 +09:00
..
.claw/sessions feat(runtime): typed task packet format for structured claw dispatch 2026-04-04 00:40:20 +09:00
src fix: route all JSON-mode abort envelopes to stdout (#819 #820 #823) 2026-05-29 12:48:19 +09:00
tests fix: route all JSON-mode abort envelopes to stdout (#819 #820 #823) 2026-05-29 12:48:19 +09:00
Cargo.toml fix: resolve model aliases before syntax validation 2026-05-25 11:21:32 +09:00
build.rs Remove the deprecated Claude subscription login path and restore a green Rust workspace 2026-04-11 17:24:44 +00:00