The gate the lifecycle passes through
Controls bind to the same model, at the moment the meaning is decided rather than months later. The verdict issues the release token, and what it leaves behind is reproducible eighteen months on.
Data quality as phase four, written months after the meaning was fixed, by someone reconstructing the rules from the code that implements them.
The check is authored where the meaning is authored, because they are the same sentence written once.
“Flag contract accounts with three or more consecutive estimated reads” is a business rule and a control at the same time. Nobody needs to re-derive it in month five; somebody needs to stop throwing it away in month one. Once a requirement is a set of typed claims, the checks are read off the model rather than invented against it.
The catalogue is what stops this becoming a thousand bespoke asserts. A control is a vocabulary item, versioned independently of your code, parameterised to your asset, and vendor-neutral so it survives a platform decision you have not made yet.
And the outcome has to be load-bearing. If a failing check produces a message in a channel, shipping is still a human decision made under delivery pressure on a Thursday evening, and you already know how that decision goes. The verdict issues a release token the orchestrator reads before it publishes. Pass and the token exists; fail and there is nothing to publish with.
A failing control is a closed door
Not a notification, not a dashboard tile. The publish does not happen, not because somebody was disciplined, but because the gate is in the path.
Evidence, not a log line
A test tells you it passed. Evidence tells you what held, under which control version, with which parameters, against which query, and what the observed value was, which is the only version an auditor can re-run.
The same gate stops an agent
When something can refactor forty queries in an afternoon, a human noticing an odd diff stops being a control. A machine-readable gate does not care what generated the change.
This stage, running
One row per model design
| Design | Assets | Bindings | Coverage | Lifecycle | |
|---|---|---|---|---|---|
| Meter-to-cash · gold | 38 | 61 | DEPLOYED | Open → | |
| Unbilled analysis | 12 | 24 | GENERATED | Open → | |
| Customer master | 9 | 0 | NOT_GOVERNED | Govern → | |
| Outage reporting | 17 | 31 | BOUND | Open → |