claw-code/rust/crates/rusty-claude-cli/tests
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
..
cli_flags_and_config_defaults.rs fix: resolve model aliases before syntax validation 2026-05-25 11:21:32 +09:00
compact_output.rs fix+test(#749): compact interactive-only hint now non-null; extend compact JSON test for hint contract 2026-05-26 19:38:09 +09:00
compact_repl_panic.rs fix: REPL display, /compact panic, identity leak, DeepSeek reasoning, thinking blocks 2026-05-06 15:32:34 +09:00
mock_parity_harness.rs fix: resolve model aliases before syntax validation 2026-05-25 11:21:32 +09:00
output_format_contract.rs fix: route all JSON-mode abort envelopes to stdout (#819 #820 #823) 2026-05-29 12:48:19 +09:00
resume_slash_commands.rs fix(#716): align 5 resume-path error JSON envelopes from legacy type:error shape to standard kind/action/status/error_kind/exit_code contract 2026-05-26 05:04:50 +09:00