pdftract/crates
jedarden e9bd5b2b58 feat(pdftract-5pbkp): implement inspect subcommand with clap parsing and axum server
Add inspect subcommand structure with:
- InspectArgs struct with clap parsing (file, port, bind, no_open, auth_token, compare)
- Validation: non-loopback bind requires auth-token, file existence checks
- Extraction pipeline integration (extract_pdf -> result_to_json)
- InspectorState for caching extraction results
- Axum router with placeholder index handler
- Browser launcher with platform detection (Linux/macOS/Windows)
- Ctrl-C handling via tokio::signal

Acceptance criteria PASS:
- Default invocation binds to 127.0.0.1:7676
- --no-open suppresses browser launcher
- Non-loopback bind without --auth-token -> validation error
- GET / returns 200 with placeholder HTML
- cargo check/clippy/fmt pass

WARN: Full integration test blocked by pre-existing classify.rs bug
(out of scope for this bead).

Closes: pdftract-5pbkp
Co-Authored-By: Claude Code <claude@anthropic.com>
2026-05-24 17:13:05 -04:00
..
pdftract-cer-diff docs(pdftract-aawrz): add LICENSE-MIT and LICENSE-APACHE files 2026-05-23 10:36:28 -04:00
pdftract-cli feat(pdftract-5pbkp): implement inspect subcommand with clap parsing and axum server 2026-05-24 17:13:05 -04:00
pdftract-core feat(pdftract-5qj50): implement mojibake detection and repair via encoding_rs 2026-05-24 17:01:53 -04:00
pdftract-libpdftract feat(pdftract-3s2i): implement Phase 5.5.2 validation filter 2026-05-24 04:57:17 -04:00
pdftract-py feat(pdftract-2nu0s): implement Python SDK contract conformance 2026-05-24 08:55:11 -04:00