- Fixed missing fields in BlockJson, SpanJson, ExtractionOptions initializations - Added feature gates to ocr_integration tests for conditional compilation - Fixed McpServerState::new calls to include audit writer argument - Fixed CCITTFaxDecoder::decode calls to use instance method - Fixed type casts for ObjRef::new calls - Fixed serde_json::Value method calls (is_some -> !is_null) - Fixed ProfileType test feature gates - Worked around lifetime issues in schema roundtrip tests These changes fix numerous compilation errors that were blocking the codebase from building. The main library and tests now compile successfully. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
3.8 KiB
3.8 KiB
Verification Note: pdftract-653ah
Bead: 6.10.4: Runbook integration (docs/operations/manual-platform-smoke.md references doctor)
Implementation Summary
Implemented runbook integration for pdftract doctor by:
-
Created
docs/operations/manual-platform-smoke.md- A comprehensive smoke test runbook for KU-12 quarterly manual platform testing, including:- Step 1: pdftract doctor as the first validation step
- Expected output examples for TTY and JSON formats
- Troubleshooting table with 22+ rows covering all FAIL/WARN scenarios for all 14 doctor checks
- Platform-specific notes for macOS, Windows, and Linux
- Completion criteria (PASS/FAIL conditions)
-
Updated
docs/user-docs/src/installation.md- Added "Environment Health Check" section withpdftract doctorcommand and link to the operations runbook. -
Updated
docs/user-docs/src/quickstart.md- Added "Verify Your Environment" section as the first step in the quickstart, before any extraction examples. -
Created
tests/doctor_runbook_coverage.rs- CI gate test that:- Parses the troubleshooting table from the runbook
- Verifies all 14 doctor checks are present
- Detects orphaned checks (in table but not in registry)
- Fails fast if runbook is out of sync with check registry
Acceptance Criteria Status
| Criterion | Status | Notes |
|---|---|---|
| docs/operations/manual-platform-smoke.md has "Step 1: pdftract doctor" as the first section | ✅ PASS | Created with comprehensive runbook |
| Troubleshooting table has one row per FAIL-capable check | ✅ PASS | All 14 checks covered (22+ rows including FAIL/WARN variants) |
| docs/user-docs/src/install.md mentions pdftract doctor with link | ✅ PASS | Added "Environment Health Check" section |
| docs/user-docs/src/quickstart.md uses pdftract doctor as first command | ✅ PASS | Added "Verify Your Environment" before extraction |
| CI gate parses runbook and asserts all checks are present | ✅ PASS | Created doctor_runbook_coverage.rs test |
| mdBook build succeeds | ✅ PASS | Built successfully with new content |
| No broken internal links | ✅ PASS | mdbook found no broken links |
Commit
- Commit hash:
d9d21df - Commit message:
docs(pdftract-653ah): add runbook integration for pdftract doctor - Files changed:
docs/operations/manual-platform-smoke.md(new)docs/user-docs/src/installation.md(modified)docs/user-docs/src/quickstart.md(modified)tests/doctor_runbook_coverage.rs(new)
Test Results
- CI gate test: ✅ PASS
✓ Runbook troubleshooting table covers all doctor checks ✓ No orphaned checks in table - mdBook build: ✅ PASS
INFO Book building has started INFO Running the html backend INFO HTML book written to `/home/coding/pdftract/docs/user-docs/build/user-docs`
Doctor Checks Covered
The troubleshooting table covers all 14 doctor checks from the registry:
- pdftract binary (FAIL only - corrupted binary)
- tesseract install (FAIL/WARN/OK)
- tesseract languages (FAIL/WARN/OK)
- leptonica install (FAIL/WARN/OK)
- libtiff (FAIL only - missing)
- libopenjp2 (FAIL only - missing)
- pdfium native lib (FAIL/WARN/OK)
- network reachability (FAIL/WARN/OK)
- cache directory (FAIL/WARN/OK)
- profile search path (FAIL/WARN/OK)
- ulimit -n (FAIL/WARN/OK)
- available RAM (FAIL/WARN/OK)
- system locale (FAIL/WARN/OK)
- temp dir writable (FAIL/WARN/OK)
Plan References
- Plan section: Phase 6.10
pdftract doctor(lines 2479–2528 in/docs/plan/plan.md) - Sibling 6.10.1: check registry (implemented in
crates/pdftract-cli/src/doctor/checks/mod.rs) - Sibling 6.10.3: exit code contract (implemented in
crates/pdftract-cli/src/doctor/mod.rslines 190-200)
Bead Status
✅ CLOSED - All acceptance criteria met with no WARN items.