Hallucination guards
The four automatic checks that run before sign-off to catch AI mistakes a reviewer might miss on a fast scan.
AI prose reads fluently even when it is wrong. Hallucination guards are FRA Flow's defence against the failure mode where a reviewer reads a paragraph, finds it well-written, and signs off without spotting an inaccuracy buried inside.
Four guards run automatically. Two surface inline next to the paragraph; two run before sign-off and itemise their failures in the sign-off panel.
1. Cited-but-not-declared (red flag)
The hardest failure to catch by eye. The AI claims it referenced an observation that the orchestrator never sent. Either the AI invented a reference, or it cited an observation from a different section by accident.
- Where it surfaces. Show source panel, top of the list, in red. The flag count is also visible on the Show source button itself so a reviewer sees the issue without opening the panel.
- Effect on sign-off. Blocked until the reviewer acknowledges. The acknowledgement is recorded in the audit trail.
- Typical triage. Open the panel, find the cited but unresolved observation, decide whether the paragraph still reflects the input set, regenerate or accept.
2. Declared-but-not-cited (yellow flag)
The AI received an observation in the input set but did not include it in its cited list. This is informational, not blocking.
- Where it surfaces. Show source panel, in amber. The paragraph is still allowed.
- Effect on sign-off. None. Sign-off proceeds.
- Typical triage. Confirm the omission is fine (the observation was routine), or regenerate the paragraph if you want it cited.
3. High-risk-in-narrative
For each observation marked high risk, FRA Flow checks that the observation appears in at least one paragraph's cited evidence across the whole report. A high-risk finding that appears nowhere in the narrative is an under-representation, even if the individual paragraphs read fine.
- Where it surfaces. The sign-off panel before the report goes out, with the list of uncovered high-risk observations.
- Effect on sign-off. Blocked. The reviewer either regenerates the paragraph that should cover the observation, or acknowledges with a justification.
- Typical triage. Look at the section the high-risk observation belongs to and regenerate that section's paragraph; the AI almost always cites a high-risk observation when it is in the input set.
4. No fabricated numbers
The AI is told to draw quantified detail (gap measurements, storey counts, distances) from the structured input only. The guard scans every AI paragraph for number-and-unit patterns ("8 mm", "three storeys", "2.5 m") and cross-references each against the captured observation text and the property record.
- Where it surfaces. The sign-off panel, with each unverified number listed alongside an 80-character window of paragraph context so the reviewer can land in the right place.
- Effect on sign-off. Blocked. The reviewer either edits the paragraph to remove the unverified number, regenerates the paragraph, or acknowledges with a justification.
- Typical triage. Most unverified numbers are restatements ("ten storeys" in the paragraph vs "10 storeys" in the property field). The check normalises spacing so "10 mm" matches "10mm" but not "ten millimetres". When a real fabrication is caught, it is usually a measurement the AI rounded ("approximately" numbers). Edit the paragraph or regenerate.
What is NOT a guard
A few things you might expect to be automatic but are not:
- Tone or readability checks. No automatic style enforcement. House style is a prompt input, but the result is judged by the reviewer.
- Fact checks against external data. The guards check the AI against the assessment's own data, not against external registers, building regulations, or product specifications. The reviewer is the expert here.
- Cross-section consistency. No automatic check that two sections are consistent with each other (e.g. the action plan intro counts vs the executive summary counts). The orchestrator feeds the same source data to both, and the prompts are internally consistent, but if the AI drifts in one paragraph it is the reviewer's job to spot it.
Why these four and not more
Adding guards has a cost: every false positive trains reviewers to ignore warnings. The four guards above were chosen because their false-positive rate is low enough that reviewers will actually act on them.
If a fifth guard turns out to be high-value pre-pilot, it lands in a future release. If one of these four turns out to be high- noise, it gets re-tuned or moved to advisory.
Where to go next
- Source linking shows the reviewer-side view of guards 1 and 2.
- Audit trail covers what gets recorded when a guard is overridden.
- How AI drafts work explains the generation pipeline the guards check.