Every Number Cited or Flagged: Building AI Workflows an Engineer Can Audit

I keep meeting engineers who have an AI license they barely use. Not because the tool is bad. Because the output has no receipts, and nobody signs their name to a receipt-free number.

Ask a chatbot for a design-storm recurrence interval, a curve number, a detention volume, and it hands you a confident answer with nothing behind it. No page reference, no source dataset, no flag telling you which parts it made up versus which parts it looked up. Paste that into a stormwater report and you’re praying, not designing. Most engineers I talk to know this, which is why the AI subscription sits mostly idle while the actual design work still happens in Civil 3D and a stack of PDFs.

This is the problem I think about more than any other in this practice: AI output stalls at interesting and never reaches shippable, and the reason is almost always provenance, not capability. The model can compute the number. It cannot tell you where the number came from, and that’s the part your PE stamp, your regulatory filing, or your board deck actually requires.

Cited or absent, not cited or guessed

The fix isn’t “make the AI more accurate.” Accuracy is a different axis from traceability, and conflating them is how teams end up trusting a model that happens to be right for the wrong reasons. The fix is a rule that constrains the workflow, not the model: every relied-upon value is either cited to its source, marked absent, or flagged for human review. No fourth option. If the tool can’t trace a number, it doesn’t report it.

I built this rule into a prototype designed for stormwater engineers, aimed at the manual data assembly that eats hours before any real engineering judgment happens. One piece is an ordinance criteria extractor: feed it a stormwater ordinance PDF, get back a structured table of design-storm intervals, water-quality volume formulas, and detention rules, with a page citation on every value. A criterion that can’t be traced to a page gets refused, not guessed. Cited or absent.

The comparison logic in a second tool, one that checks a Civil 3D pipe network against a SewerGEMS model, is rule-based and deterministic. Same inputs, same output, every time. No language model anywhere near the invert elevations. A third tool drafts curve number and time-of-concentration inputs from NRCS soils data, land cover data, and elevation data, and every one of those drafted values is explicitly flagged as a draft for engineer review, not a finished number.

None of this is exotic engineering. It’s discipline about what gets to originate a number that ends up in a stamped document, and what doesn’t.

Why the flag matters more than the citation

The citation is the easy half. The harder, more useful half is the flag, because the flag is what changes how the reviewer spends their time.

Without flags, an engineer reviewing AI-assisted output has to re-derive every value from scratch just to know which ones to trust. That’s slower than doing the work by hand, since now you’re doing the original work plus auditing a claim about having done it.

With flags, the review collapses to the exceptions. In the ordinance extractor, most rows carry a clean page citation and the engineer skims past them. One row gets flagged “not found,” routed for manual lookup, and that’s where the reviewer’s attention goes. The unflagged majority isn’t unchecked, it’s checked by construction: the tool either found the citation or it didn’t report the value. You’re auditing the flags, not everything, because the flags are the only place uncertainty was allowed to exist.

That’s what a provenance-clean workflow is actually worth. Not speed to an answer, but a review that goes exactly where the risk is instead of everywhere at once.

The two boundaries that don’t move

Two rules hold regardless of how capable the underlying model gets, because they aren’t about capability. Nothing an AI-assisted tool produces goes under a professional seal without independent review; the tool assembles and drafts, it never sits in responsible charge, the engineer does. And numeric design criteria carry source citations; anything that can’t be cited is not reported. These aren’t temporary guardrails I plan to relax once the model improves. They’re the difference between a calculator and an autopilot, and a calculator is what earns the seal.

The same two rules generalize past civil engineering. Swap “PE seal” for “regulatory submission” or “board-facing metric,” and the logic holds anywhere professional judgment is supposed to sit between an AI’s output and a decision that costs money or carries liability.

What to ask before you trust a number

If you’re evaluating whether an AI-assisted workflow belongs anywhere near a deliverable with your name on it, ask one question before anything else: for any number this produces, can I click through to where it came from, or does the tool tell me plainly that it couldn’t find one? If the answer is no to both, the tool is a demo, not a deliverable, no matter how good the interface looks.

If you’re staring at a workflow like this in your own practice and want a second pair of eyes on where the untraceable numbers are hiding, I do 30-minute scoping calls for exactly this kind of problem. You can grab time at https://calendly.com/docvphd/30min.