"Once an id has been minted from a rule, that rule can never quietly change its mind. Change the rule, change its name."
A Profile Is a Contract, Not a Setting
A chunking profile defines exactly how a document's text becomes chunks — paragraph boundaries, size limits, overlap, whatever the rules are. Its id (say md-para-v1) is baked into every chunk id it produces. That makes the profile something stronger than a config knob: it's a contract. Every chunk id ever computed is a promise that says "this exact text, sliced these exact ways, under this exact rule set."
Why Mutating a Profile Breaks the Past
Now suppose you decide bigger chunks are better and edit md-para-v1 in place to use them. Every chunk id that profile ever produced still says md-para-v1 — but the rule those ids described no longer exists. Re-index and the same document produces different slices, different offsets, different ids. Every citation minted under the old behavior now points into a void: the id it saved describes a chunk the current md-para-v1 would never create. You didn't improve the profile; you silently invalidated its entire history.
The Rule: New Behavior Gets a New Id
The discipline is simple and absolute: changing chunking behavior means minting a new profile id — md-para-v2 — and never touching md-para-v1. The old profile keeps meaning exactly what it always meant. Documents can be re-chunked under v2 going forward, while every citation anchored to a v1 run stays perfectly resolvable, because v1's behavior is frozen forever. Old and new coexist; nothing from the past is orphaned.
This Pattern Is Everywhere Durable
The same immutability governs the capture converters (change a strip rule, mint a new converter id) and it's the same reason results record which embedding and reranker model produced them. Anytime a system says "this artifact was produced by transform T," T must be frozen at that version forever, or the record stops being reproducible. Immutable, versioned transforms are how you keep a decade of derived artifacts explainable instead of accumulating a pile of outputs nobody can reproduce.