PROJECT · 2026
From Unstructured Document to Audited Checklist
Python · n8n · Power Platform
The work
A workplace safety audit arrives as a dense PDF, and someone has to turn it into who needs which training, by when. The risk is not the reading — it is the inventing. An automation that hands back a finding the source never contained is worse than no automation at all. So the brief set itself: extract only what the document actually says, prove it, and leave the call to a person.
How it works
- The language model extracts each finding by quoting the source word for word — it does not paraphrase, and it does not invent findings.
- Every quote is then checked back against the document: if the cited sentence isn’t really there, it gets flagged. That check is the anti-hallucination lock — a fabricated finding can’t reach a decision.
- Deterministic rules map each verified finding to the right training and a deadline by severity. Same input, same output, every time.
- For anything the rules don’t cover, a RAG layer — retrieval-augmented generation, semantic search over the course catalogue — proposes the closest match. It never decides on its own: it proposes, and the case goes to human review.
- Whatever stays uncertain lands in a review step, for a person to approve before anything is final.
The principle holds across the whole system: the AI quotes, the rules decide, the person approves.
Built to run anywhere
The same workflow, built three ways:
- n8n + Python — n8n orchestrates the flow; Python carries the control logic and the citation check.
- Native n8n — the whole thing inside n8n, no Python, including the RAG agent that retrieves from the catalogue by semantic search.
- Power Platform — the same result rebuilt on Microsoft’s cloud, on an environment set up from scratch.
Different tools, the same result. The judgment was never in the tool.