claw-code/rust/crates
YeonGyu-Kim b4b1ba10f6
fix: route all JSON-mode abort envelopes to stdout (#819 #820 #823) (#3197)
* 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)

* style: cargo fmt on main.rs after eprintln->println fix

* fix(tests): fmt + update compact_output test for stdout abort envelope routing

* fix(tests): update resume_slash_commands stub test for stdout envelope routing
2026-05-29 13:30:35 +09:00
..
api fix(#754): missing_credentials hint now newline-delimited so JSON hint field is non-null 2026-05-26 21:23:03 +09:00
claw-analog Reject drifted claw-analog bootstrap phases 2026-05-25 19:33:37 +00:00
claw-rag-service feat(rag): add claw-rag-service 2026-05-25 11:25:25 +09:00
commands Suppress config warnings on JSON local surfaces (#3192) 2026-05-28 20:34:18 +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 Stabilize final gate before release checkpoint 2026-05-15 13:34:57 +09:00
plugins fix: resolve EACCES error from incorrect bundled plugins directory 2026-05-25 11:22:34 +09:00
runtime Avoid duplicate config warnings for JSON consumers (#3190) 2026-05-28 18:09:59 +09:00
rusty-claude-cli fix: route all JSON-mode abort envelopes to stdout (#819 #820 #823) (#3197) 2026-05-29 13:30:35 +09:00
telemetry feat: anthropic SDK header matching + request profile 2026-04-01 05:55:25 +00:00
tools chore: fix conflict markers and cargo fmt drift in main (commands, openai_compat, trident, config, tools) 2026-05-25 11:51:44 +09:00