T01 docs/tenancy-posture.md - vector set per service rather than one repo vector, with the provider-versus-consumer finding routed to net-kingdom. T02/T03/T06 docs/placement-policy.md - accepts placement ownership scoped to rule-here/number-there, records a placement owner per workload, reports the latency-critical + batch co-residency on platform-pg, marks the connection-ceiling trigger unmonitored pending railiance-telemetry, and answers the retention floor/ceiling question. T04 s3-consumer-interfaces 1.1.0 - quota disclosure per SS10.2. Surfaces that apps-pg has no backup, no resource limits and no tuned parameters. T05 docs/adr/ created with a mandatory-frontmatter convention and the first three ADRs. This repo previously held none. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2.5 KiB
| 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.