Migrate #406 (ci.runner-placement) and #412 (ci.peak-anon-measurement) to the lifecycle schema as exemplars; #390 and #411 confirmed prose-only (no standalone record). Dogfood the append-only->lifecycle supersession: docs.append-only-guard moved to archive/, superseded by new active docs.decision-lifecycle. Stand up docs/decisions/archive/ + migration-map.md. Refs #521 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
23 lines
1.5 KiB
Markdown
23 lines
1.5 KiB
Markdown
# Archive — superseded / retired decision records
|
|
|
|
This directory holds decision records whose `status` is `superseded` or `retired`. They are kept
|
|
verbatim (rationale prose untouched — see `docs/decisions.md` header and `scripts/decisions_lib.py`)
|
|
for history: *why we changed our mind* is the point, never silently rewritten.
|
|
|
|
They are **out of the active startup path**: `scripts/decisions_lib.py active_files()` /
|
|
`all_active_records()` do not glob this directory, `docs/decisions/README.md` (the active catalog)
|
|
never lists a record from here, and an agent doing task-router discovery should not need to read
|
|
this directory to find the *current* rule — follow a record's `superseded-by` key to the active
|
|
successor instead.
|
|
|
|
The lifecycle validator (`scripts/decisions_validate.py`) still enforces invariants here:
|
|
- a `superseded`/`retired` record MUST live under this directory, never in an active file;
|
|
- an `active` record MUST NOT live under this directory;
|
|
- `supersedes`/`superseded-by` keys must resolve reciprocally to a record in the active set OR here;
|
|
- a record moved here must not have its rationale prose changed in the same commit (unless the
|
|
commit message carries the `[decisions-edit]` token, reserved for genuine rationale edits).
|
|
|
|
One file per topic cluster (e.g. `ci.md`, `release-ci-governance.md`), mirroring the active
|
|
`docs/decisions/*.md` topic-file split. See `docs/decisions/migration-map.md` for the legacy
|
|
heading → key → status → location mapping produced during the #521 lifecycle migration.
|