Proposed stays proposed
A candidate record is visible as a candidate. Nothing becomes binding because somebody wrote it down and nobody objected.

The question is not where to write specifications. You have been avoiding that for years and you were mostly right to. The question is how to know, in one look, which of the things already written still hold.
Everything the platform does with a record follows from the state it is in. That is a small idea, and it is the one the rest of the product is built on.
A candidate record is visible as a candidate. Nothing becomes binding because somebody wrote it down and nobody objected.
A record that governs says so, for a named scope and a named period. It is not an inference from where the file happens to sit.
When a decision is replaced, it stops reaching the agent at that moment. It is not deleted — it stays readable as history and stops being an input.
Authority is attached to a subject version, a scope and an effective interval, so what governs can differ between two services and between two dates.
Ask what governed on the day a release shipped and get the answer the system actually used then, not today's answer applied backwards.
A superseded record keeps why it existed and why it stopped. You can see the history without the decision being reopened.
Most teams cannot answer that, and the agent cannot either — which is why it keeps following the ones that are not.