RPLAT-ADR-0001–0003 so policy-nexus can register the S3, placement, and file-backed decision records. |
||
|---|---|---|
| .. | ||
| ADR-0001-s3-platform-service-boundary.md | ||
| ADR-0002-placement-policy-ownership.md | ||
| ADR-0003-decisions-live-in-the-repo.md | ||
| README.md | ||
| title | status | revision | owner | date | last_reviewed | review_interval |
|---|---|---|---|---|---|---|
| ADR convention for railiance-platform | accepted | 1.0 | railiance-platform | 2026-08-17 | 2026-08-17 | 12m |
ADRs in this repo
Work record: RPF-WP-0018 T05.
Until 2026-08-17 this repo held no ADRs. Its decisions lived either as
prose in docs/ without status or ownership, or in the State Hub via
record_decision(). Both are wrong homes, for the same reason: the hub is a
read model and prose is not addressable as a decision. policy-nexus
publishes canon and ADRs only, so a repo with no ADRs publishes nothing —
regardless of how much governing content it holds. See ADR-0003.
What gets an ADR here
A decision gets an ADR when it binds someone other than the person who made it — another repo, a future maintainer, or a consumer of an S3 interface.
| Content | Home | Published |
|---|---|---|
| A decision binding others | docs/adr/ |
yes |
| A procedure someone follows | docs/*.md runbook |
no |
| Live interface values | docs/s3-consumer-interfaces.md |
no |
| Work sequencing | workplans/ |
no |
Runbooks stay prose deliberately. A site that publishes everything publishes
nothing in particular, and POLICY-NEXUS-WP-0001 T03 already draws that line.
Frontmatter is mandatory
Every ADR carries the YAML block below. The fields are not decoration: they
are exactly what POLICY-NEXUS-WP-0001 T02 and T05 consume to render a page
and to mark it stale.
---
title: "ADR-NNNN — short imperative statement of the decision"
status: proposed | accepted | superseded | withdrawn
revision: "1.0"
owner: railiance-platform
date: "YYYY-MM-DD" # when decided
last_reviewed: "YYYY-MM-DD"
review_interval: 6m | 12m # after which the page shows as stale
supersedes: ADR-NNNN # optional
superseded_by: ADR-NNNN # optional
---
last_reviewed and review_interval are the two fields the rest of the estate
mostly lacks — of 69 ADRs across 19 repos on 2026-08-17, 2 carried any notion
of a review date. A publication surface cannot compute staleness without them
and must not invent them, so they are required here.
Numbering is ADR-NNNN, four digits, never reused. A superseded ADR keeps its
number and its file; it gains superseded_by and its status changes. Nothing
is deleted — the published URL must keep resolving.
Sections
Context · Decision · Consequences · Alternatives considered. Keep the decision statement to one paragraph a reader can quote.