pdftract/crates/pdftract-cli/tests
jedarden 7eed5ca55a feat(pdftract-24kut): enforce MCP transport mutual exclusion at CLI parse
Per ADR-006: stdio and HTTP transports are mutually exclusive because they
have opposite stdout discipline (stdio: JSON-RPC sink; HTTP: log channel).

Changes:
- Add clap ArgGroup with multiple(false) to enforce --stdio XOR --bind
- Default to stdio mode when neither flag is specified
- Change --bind from required String to Option<String>
- Add ADR-006 reference to help text and doc comments
- Add unit tests for CLI argument validation

Acceptance criteria:
- pdftract mcp → launches in stdio mode (default)
- pdftract mcp --stdio → launches in stdio mode
- pdftract mcp --bind ADDR → launches in HTTP+SSE mode
- pdftract mcp --stdio --bind ADDR → exits 2 with clap conflict error
- pdftract mcp --help shows mutual exclusivity note
- Unit test verifies ArgGroup conflict on dual-transport invocation

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 00:41:47 -04:00
..
conformance.rs fix(pdftract-2a6rk): fix xref.rs u64 literal overflow in proptest 2026-05-22 17:26:27 -04:00
mcp-cli-args.rs feat(pdftract-24kut): enforce MCP transport mutual exclusion at CLI parse 2026-05-23 00:41:47 -04:00
mcp-http.rs feat(pdftract-g0ro2): implement MCP HTTP+SSE transport with integration tests 2026-05-23 00:35:14 -04:00
mcp-stdio.rs feat(pdftract-67tm8): implement MCP stdio transport with integration tests 2026-05-23 00:16:42 -04:00