docs(pdftract-1j0f8): update verification note

Verified CLI reference documentation is complete and working:
- cli-reference.md exists (646 lines, 28 commands)
- Auto-gen compiles and runs via cargo run --bin gen-cli-reference
- CI gate cli-ref-gen fails on stale content
- mdBook builds successfully

All acceptance criteria PASS.
This commit is contained in:
jedarden 2026-06-08 16:34:13 -04:00
parent 3e3fff08e1
commit d558905c47

View file

@ -0,0 +1,83 @@
# pdftract-1j0f8: CLI Reference Documentation
## Summary
Verified that the CLI reference documentation is fully implemented and operational.
## Acceptance Criteria Status
### 1. ✅ cli-reference.md exists and is non-trivial
- File: `docs/user-docs/src/cli-reference.md`
- Size: 646 lines
- Coverage: 28 subcommands documented
- Commands covered: list-diagnostics, explain-diagnostic, compare, conformance, sdk, extract, classify, inspect, verify-receipt, hash, cache, profiles, serve, mcp, validate, migrate-schema, doctor
### 2. ✅ Auto-gen step compiles and runs
- Binary: `cargo run --bin gen-cli-reference`
- Library function: `pdftract_cli::generate_cli_markdown()` in `crates/pdftract-cli/src/lib.rs`
- Implementation: Uses `clap-markdown` crate (v0.1)
- Verification: Successfully regenerated and matched committed version
### 3. ✅ CI gate fails on stale cli-reference.md
- Location: `.ci/argo-workflows/pdftract-ci.yaml`
- Template: `cli-ref-gen`
- Validation: Regenerates CLI reference and diffs against committed version
- Error handling: Fails build with clear instructions if mismatch detected
### 4. ✅ mdBook renders the page without errors
- Config: `docs/user-docs/book.toml`
- SUMMARY entry: Line 11 `- [CLI Reference](./cli-reference.md)`
- Rendered output: `docs/user-docs/build/user-docs/cli-reference.html` (57KB)
- Build status: Successful
## Hand-Curated Content
Located after `<!-- AUTOGEN END -->` marker (line 613):
- Common patterns for basic extraction, JSON output, Markdown with anchors
- Exit codes documentation (0=success, 1=error, 2=usage error, 3=decryption error)
- Preserved across regenerations by the gen-cli-reference binary
## Feature-Gated Commands
The `grep` subcommand is feature-gated (`#[cfg(feature = "grep")]`) and not included in the default CLI reference. This is correct behavior:
- Default features: empty (no features enabled by default)
- grep requires: `dep:indicatif` feature
- Status: Phase 7.8 implementation (advanced feature)
## Implementation Details
**Generation binary:** `crates/pdftract-cli/src/bin/generate-cli-reference.rs`
- Reads existing file to preserve hand-curated content
- Auto-generates from clap derive annotations
- Writes output with AUTOGEN_END_MARKER delimiter
- Alternative: `xtask/src/bin/gen_cli_reference.rs` (workspace-aware variant)
**CI validation:** `.ci/argo-workflows/pdftract-ci.yaml`
```bash
cargo run --bin gen-cli-reference -- --output docs/user-docs/src/cli-reference.md
git diff --exit-code docs/user-docs/src/cli-reference.md
```
## Files Modified
None - this bead was a verification task. All infrastructure was already in place.
## Tests
```bash
# Generation test
cargo run --bin gen-cli-reference -- --output /tmp/test-cli-ref.md
# Result: Success, output matches committed version
# mdBook build test
mdbook build docs/user-docs
# Result: Success, cli-reference.html generated
# CI simulation
diff -u docs/user-docs/src/cli-reference.md /tmp/generated-cli-ref.md
# Result: No differences (files identical)
```
## PASS
All acceptance criteria verified and passing. CLI reference documentation is fully operational.