Purlend Data Dictionary

rule proposed

A rename moves the old name into avoid; nothing is deleted

When a term is renamed, the old canonical name moves into the term's names.avoid list — it is never simply removed. Someone searching the old name must still land on the right term, and the old name must be visibly marked do-not-use.

Retired concepts follow the same nothing-deleted guardrail: they flip to status: deprecated and stay in the corpus. The build enforces the integrity half of this rule — an avoid alias may not collide with another term's canonical name.

Evidence

This repo's design spec (docs/2026-07-16-data-dictionary-design.md), baked-in decisions: "avoid lists document what not to say and stay searchable," and "Renames move the old name into avoid. Retired concepts go deprecated, never deleted." scripts/lib/search-index.js indexes every avoid alias so a search for the old name lands on the right term, and scripts/lib/validate.js fails the build if an avoid alias collides with another term's canonical name — the mechanism assumes avoid is where retired names live.