This is the best showcase for the project's most distinctive feature, the failed_check flag from a custom cross-field rule (e.g. line items summing to a stated total), and it currently has zero worked example anywhere in the docs.
What's needed
A new docs/cookbook/bank-statement.md (create docs/cookbook/ if it doesn't exist yet) containing:
- A schema for a bank statement with a list of transactions (date, description, amount) plus a stated closing balance or total.
- A custom cross-check rule using
numeric_sum_rule (already exported from fastdocparse, see grounding.py) or a hand-written rule, wired up via DocumentParser's cross-check hook (see docs/output-format.md for how custom rules plug in).
- A real synthetic bank statement (do not use a real person's actual financial document) run through fastdocparse extract, with the cross-check rule enabled.
- The actual output showing a case where the check passes, and ideally a second run showing it catching a real mismatch (e.g. deliberately altering one transaction amount in the source document), flagged
failed_check. Both need to be genuine output from a real run, not fabricated.
This requires an actual LLM call (OpenAI key or local Ollama model), that's why it's a separate task rather than something scripted.
Where it's linked from
Add a link to the new page from the "Full documentation" list in README.md.
This is the best showcase for the project's most distinctive feature, the failed_check flag from a custom cross-field rule (e.g. line items summing to a stated total), and it currently has zero worked example anywhere in the docs.
What's needed
A new
docs/cookbook/bank-statement.md(create docs/cookbook/ if it doesn't exist yet) containing:numeric_sum_rule(already exported from fastdocparse, see grounding.py) or a hand-written rule, wired up via DocumentParser's cross-check hook (see docs/output-format.md for how custom rules plug in).failed_check. Both need to be genuine output from a real run, not fabricated.This requires an actual LLM call (OpenAI key or local Ollama model), that's why it's a separate task rather than something scripted.
Where it's linked from
Add a link to the new page from the "Full documentation" list in README.md.