GateTrue

What each generator documents about marking its output

Stable identifier: the handle a correction does not move

A stable identifier is the name a row keeps when its value is corrected. Without one, a vendor rewriting a statement looks like a new row appearing and an old row vanishing for no reason. As of 2026-09-22.

What happens to a row when a vendor rewrites a lineWith a stable handle, the row survives the change and its history is traceable: the same identifier now carries a different value and a new date. Without one, a correction looks like one row disappearing and an unrelated row appearing in its place.A row existsOne statement,one handle, onedate.The vendorrewrites thelineThe valuechangesThe handlestays; thevalue and bothdates move.A revision isfiledThe historyholdsA reader canask what thisrow used tosay.Links still workThe anchorA deep linkkeeps pointingat the samestatement.
Fig. 1 Identifiers are never recycled, because a link somewhere else may still point at a retired one.
How this register uses the term, and what it excludes. Written 2026-09-22.
The termStable identifier
What it namesA handle a row keeps across corrections to its value
What it is notA description of the value, or a position in a table
Where the register uses itEvery published row, and every deep link to one

Inclusion rule. Words this site uses in a narrow sense, where the ordinary sense would lead a reader to misread a cell. No vendor statement appears on this page. Order. Fixed order: what the word names, what it excludes, then where it is used here.

1Why identity has to be separate from content

If a row were identified by its value, every correction would destroy the row and create another. There would be no way to ask what this statement used to say, which is the question anybody tracking a vendor's behaviour over time actually has.

Keeping the handle fixed means a change is a change to a thing rather than a replacement of it. That is what allows a revision to be filed against a row and a deep link to keep pointing at the same statement after it has been updated.

2What it enables in practice

A stable anchor on every value, so a page elsewhere can cite one field rather than a table. A column in the exported file that a reader can join against their own records. And a revision log that says which row moved, rather than describing a change in prose.

None of that works if identifiers are reused or reassigned. So an identifier is never recycled, even when a row is retired, because a link somewhere else may still be pointing at it.

3Why it is not descriptive

A handle that described its value would have to change when the value did, which defeats the purpose. Handles here name the vendor and the field rather than the content, so they stay meaningful after the statement they point at has been rewritten.

That makes them slightly opaque to read, which is the intended trade. An identifier is for machines, links and joins; the human-readable description of what a row holds is the value itself and the column it sits in.

Nothing on this page is a vendor statement; the values it helps read are on the support table, with the page and the date each one was read from. See also the protocol page, what earns a row. Nearby terms: not documented, stated position, applies-to note.