The problem
ERP records drift, and a report built on drifted records can read as confident.
Drift is rarely dramatic. A vendor gets entered a second time under a different spelling. A unit of measure is set once during setup and never revisited. A field that was mandatory in the old system becomes optional in the new one, and nobody notices until a quarter of the records are missing it. Each of these is small on its own.
Together they decide whether a spend report, a reorder point or a vendor comparison can be relied on, and the ERP does not announce that the records underneath moved. The report still renders. The total still adds up. What changed is whether the number means what the reader thinks it means.
My role
I specified the checks and the rule that a check declines over a missing source, and I ratified each release; AI agents wrote most of the code under my gates.
What was built
The September source and delivery records describe 35 read-only checks over ERP data and a naming standard with 40 rules. A check that cannot read a required source declines instead of reporting a clean zero.
The checks produce findings. Approval of a naming fix regenerates the proposed change list; it does not apply the change by itself.
How it works
The checks are read-only. They read, they decide, they produce findings, and nothing in the ERP changes because one ran. That is what lets a check run on a schedule without a change-control conversation: nightly, against a frozen copy of the ERP.
The rule that carries the most weight is the refusal. A check that cannot read a required source declines instead of reporting a clean zero. An empty result and a clean result look identical on a page, and only one of them means the data is good. Refusing to collapse that difference is what makes the rest of the output worth reading.
Findings go to a person. An approved naming correction regenerates a proposed change list, and applying that list is a separate, recorded step. The separation is deliberate. A checker that can also quietly fix things becomes a system nobody can audit, and the first serious disagreement about a record turns into an argument about what the tool did last month.
Figures and their status
Figure unavailable.
Evidence
The September release record contains an executed run of 35 hygiene checks with zero execution errors and records the nightly schedule. Zero execution errors does not mean zero findings.
The separately approved remediation workflow records decisions before changes. Its final business-record count remains unresolved and is omitted.
Observed results
No business outcome is published here. Nothing has been measured about what the errors cost, how long corrections took, or which decisions would have gone differently without the findings.
The measures that would settle it are ordinary ones, available to any business running checks like these: how many findings are open at the start and end of a period, how long a finding stays open, and how often the same correction has to be made twice. This entry claims none of them.
What this does not show
The checks are read-only and change nothing by themselves. The remediation was a separate, human-approved sweep.
Read-only is a design choice with a cost attached. The checks tell an operator what is wrong; they do not reduce the work of putting it right. A business with nobody assigned to act on findings will accumulate them, and a growing backlog of unread findings is its own kind of false confidence.
Relevant next action
If records disagree, duplicate or fall out of date, the data assessment and cleanup engagement begins by agreeing which source governs, what an exception costs and who resolves one. The same refusal discipline appears in the price baseline that declines to invent a saving and in reporting that traces a figure back to its records.
Figures and their status
Figure unavailable.