A blank invoice field should stay blank until there's evidence to fill it.
At Procys, I work on document extraction that combines OCR, LLM layout reasoning, deterministic validation and exception review.
A test I'd use is an otherwise readable invoice with its tax amount removed. Does the workflow preserve 'not found' and route it for review, or silently insert 0.00 because the next system expects a number?
I want reviewers to see the source and the uncertainty before that record moves downstream.
What sells it for me is the refusal telling the agent exactly where the token should go. A bare "no hex" error usually just sends it looping. Does guard.mjs run only as an agent hook, or in pre-commit too so it catches humans as well?
Logging every cleaning action is the part I like most: when a number in the report looks strange, you can follow it back to the fix that changed it. With 585 issues, how did you decide which ones the script fixes alone and which ones it only reports?
A free tool for anyone running a business and not sure what to fix first: Jemirae Blueprint.
Describe what is not working, in your own words. Get a clear diagnosis of what is holding you back and what to do first. Come back anytime, it stays free.
So needed. Most owners skip diagnosis and jump to "I need ads."
I audit Illinois restaurants and 80% think they need followers, but the real problem is they are invisible on Google Maps. Wrong diagnosis = wasted money.
Your approach — "describe it in your own words" — is perfect....