research-document
ADR 0006 — ID-anchored URLs, path-key fallback, never title-derived
ADR 0006 — ID-anchored URLs, path-key fallback, never title-derived
Status: Accepted
Context
OBSERVED: the current slug is slugify(id ? id-title : title). For 68 of 117
authored documents there is no id, so the URL is a function of the title and
changes whenever the title is edited.
Decision
/a/{id} for the 569 artifacts with a declared id. /s/{path-key} — a hash of
the repository-relative source path — for the rest. Never title-derived.
/collections/{facet}/{value}/ preserved verbatim. All legacy URLs redirected,
enforced by a blocking build gate.
Evidence
OBSERVED: 49 authored + 520 frontier ids, all unique, zero duplicates. OBSERVED: 175 collection pages are the only navigation that currently works.
Alternatives
Invent ids for id-less documents — rejected by §28. Keep title slugs — rejected: demonstrably unstable.
Consequences
Two URL classes to explain. The UI marks path-key artifacts as lacking a declared id, which doubles as an authoring nudge.
Reversibility
Low — redirects absorb future changes.