T03 done: sent as ac73b172 with the recommendation that master takes the eight ratification and taxonomy items, and including the correction that our earlier ArgoCD report to them was wrong. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
167 lines
7.2 KiB
Markdown
167 lines
7.2 KiB
Markdown
---
|
||
id: RAILIANCE-WP-0016
|
||
type: workplan
|
||
title: "Architecture cleanup backlog, WSJF-prioritized"
|
||
domain: financials
|
||
repo: railiance-platform
|
||
status: active
|
||
owner: codex
|
||
topic_slug: railiance
|
||
created: "2026-08-12"
|
||
updated: "2026-08-12"
|
||
related_repos:
|
||
- railiance-master
|
||
- railiance-infra
|
||
- railiance-cluster
|
||
- railiance-enablement
|
||
- railiance-telemetry
|
||
- railiance-forge
|
||
state_hub_workstream_id: "8611b555-c681-496d-bfba-667198456837"
|
||
---
|
||
|
||
# RAILIANCE-WP-0016 - Architecture cleanup backlog, WSJF-prioritized
|
||
|
||
## Goal
|
||
|
||
Turn the INTENT/SCOPE gap analysis into an ordered backlog, so cleanup happens
|
||
highest-value-least-effort first rather than in the order things were noticed.
|
||
|
||
Source: `history/2026-08-12-intent-scope-gap-analysis.md`.
|
||
|
||
## Boundary — read before working this
|
||
|
||
This workplan **coordinates and orders**; it does not execute. Every item below
|
||
belongs to another repo, and each carries its owning repo in the table. S3 does
|
||
not own fleet architecture cleanup — `railiance-master` does.
|
||
|
||
This backlog lives here because the analysis was done here. **It should be
|
||
adopted by `railiance-master`**, and this workplan closed, once master has a
|
||
place for it. Until then it is better recorded than lost. S3 executes only the
|
||
items marked `railiance-platform`.
|
||
|
||
## Scoring method
|
||
|
||
WSJF = **Cost of Delay ÷ Job Size**, where Cost of Delay = Value + Time
|
||
Criticality + Risk Reduction. Each component 1–10, job size 1–10.
|
||
|
||
Two honesty notes. These are **judgments, not measurements** — their value is
|
||
the relative ordering and the explicit reasoning, not the arithmetic. And job
|
||
sizes for unbuilt things (telemetry, the conformance loop) are the least
|
||
reliable numbers here, because nobody has scoped them yet.
|
||
|
||
## The backlog
|
||
|
||
| # | Item | Owner | V | TC | RR | Size | **WSJF** |
|
||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||
| 1 | Converge the firewall allowlist; prune two stale grants | `railiance-infra` | 6 | 9 | 10 | 1 | **25.0** |
|
||
| 2 | Ratify the five pending decisions | `railiance-master` | 8 | 7 | 5 | 1 | **20.0** |
|
||
| 3 | Move the S1 goal off `railiance-hosts`, then retire it | `railiance-master` | 5 | 5 | 4 | 1 | **14.0** |
|
||
| 4 | Settle ArgoCD: adopt, retire, or relocate | `railiance-master` | 6 | 6 | 6 | 2 | **9.0** |
|
||
| 5 | Audit base role for further declared-vs-live drift | `railiance-infra` | 5 | 6 | 9 | 3 | **6.7** |
|
||
| 6 | `rapp.yaml` schema + family declaration validator | `railiance-master` | 8 | 5 | 7 | 3 | **6.7** |
|
||
| 7 | Reconcile hub capability attribution (C1) | `railiance-master` | 5 | 4 | 6 | 3 | **5.0** |
|
||
| 8 | Deployable coverage check: every deployable → one rapp | `railiance-master` | 7 | 4 | 7 | 4 | **4.5** |
|
||
| 9 | Telemetry MVP: metrics + alerting for one real expectation | `railiance-telemetry` | 9 | 6 | 8 | 5 | **4.6** |
|
||
| 10 | Conformance loop MVP: declared-vs-live firewall check | `railiance-telemetry` / Q7 owner | 8 | 6 | 9 | 5 | **4.6** |
|
||
| 11 | Consolidate the bootstrap path; sort inherited S2 content | `railiance-bootstrap` | 5 | 3 | 4 | 4 | **3.0** |
|
||
| 12 | Forge migration: `rapp-forgejo` + S4 layer transfer | `railiance-forge` / S4 | 6 | 4 | 4 | 5 | **2.8** |
|
||
| 13 | Prove a restore end to end | `railiance-platform` | 9 | 5 | 9 | 8 | **2.9** |
|
||
| 14 | Valkey extraction + legacy postgresql-ha retirement | `railiance-platform` | 5 | 4 | 4 | 5 | **2.6** |
|
||
| 15 | Sweep remaining Gitea prose (~31 files each) | `railiance-forge`, `railiance-apps` | 3 | 2 | 2 | 3 | **2.3** |
|
||
| 16 | Declare the Q6 cost boundary with `resource-control`/`fin-hub` | `railiance-master` | 4 | 3 | 3 | 4 | **2.5** |
|
||
| 17 | Version S3 consumer service interfaces | `railiance-platform` | 6 | 3 | 5 | 6 | **2.3** |
|
||
| 18 | Resolve the C4 ecosystem-modelling overlap | `railiance-master` / `railiance-fabric` | 4 | 3 | 4 | 5 | **2.2** |
|
||
| 19 | S4 build-out: pipeline templates, SDKs, portal | `railiance-enablement` | 7 | 3 | 4 | 9 | **1.6** |
|
||
|
||
## Reading the order
|
||
|
||
**Items 1–3 are nearly free and should happen first.** All three are "decided
|
||
but unmoved" — waiting on ratification or a single command, not on effort.
|
||
Item 1 in particular is a live security exposure: two standing firewall grants
|
||
point at addresses the ISP has since reassigned, and the fix is one convergence
|
||
run.
|
||
|
||
**Item 2 is the highest-leverage thing on the list.** Five pending
|
||
ratifications in `railiance-master` block items 6, 7, 8, 12 and parts of 9 and
|
||
10. It is a day of decisions that unblocks a quarter of the backlog.
|
||
|
||
**Items 9 and 10 are the strategic core** despite mid-table WSJF. They are Q2
|
||
and Q7 — the two halves of the self-evidencing thread that five layers
|
||
independently asked for. Their size scores are guesses. Scoping them into
|
||
smaller slices would likely move both up sharply, and **that rescoping is itself
|
||
worth doing before committing to the order below them.**
|
||
|
||
**Item 13 is blocked, not deprioritized.** Proving a restore needs the object
|
||
storage decision (`9c21c0e0`), which is escalated and awaiting human approval on
|
||
commercial terms. Its WSJF understates it; treat the blocker as the real item.
|
||
|
||
**Item 19 is last and that is deliberate.** S4 build-out is the widest gap in
|
||
the family, but it is large, and item 12 gives S4 a smaller first
|
||
responsibility to prove delivery on. Building the portal before the forge
|
||
transfer would be starting at the hard end.
|
||
|
||
## Tasks
|
||
|
||
```task
|
||
id: RAILIANCE-WP-0016-T01
|
||
status: done
|
||
priority: high
|
||
state_hub_task_id: "9fabf938-0479-4282-b1fe-88af0d2fbd36"
|
||
```
|
||
|
||
Produce the INTENT/SCOPE gap analysis across all `railiance-*` repos, comparing
|
||
declared aspiration against declared state against verified reality.
|
||
|
||
Delivered: `history/2026-08-12-intent-scope-gap-analysis.md`. Named the pattern
|
||
that organizes the backlog — every gap is *declared but unbuilt*, *built but
|
||
undeclared*, or *decided but unmoved*, and the third kind is cheapest to clear
|
||
while blocking the most.
|
||
|
||
```task
|
||
id: RAILIANCE-WP-0016-T02
|
||
status: done
|
||
priority: high
|
||
state_hub_task_id: "5b4d5f69-40fd-4af0-be23-325864cea48b"
|
||
```
|
||
|
||
Score and order the backlog by WSJF, recording owner and reasoning per item so
|
||
the ordering can be argued with rather than merely followed.
|
||
|
||
```task
|
||
id: RAILIANCE-WP-0016-T03
|
||
status: done
|
||
priority: high
|
||
state_hub_task_id: "9ede2fe5-5b6c-4792-b141-9c8f140c1a28"
|
||
```
|
||
|
||
Route the backlog to `railiance-master` for adoption, with the recommendation
|
||
that it takes items 2, 3, 4, 6, 7, 8, 16 and 18 — the ratification and taxonomy
|
||
items — and that this workplan closes once adopted.
|
||
|
||
```task
|
||
id: RAILIANCE-WP-0016-T04
|
||
status: todo
|
||
priority: medium
|
||
state_hub_task_id: "aac02de1-6367-4767-b7ee-c980577e778f"
|
||
```
|
||
|
||
Rescope items 9 and 10 (telemetry MVP, conformance loop MVP) into deliverable
|
||
slices before committing to their position. Their size scores are the least
|
||
reliable on the list, and both are strategically central. A first slice of item
|
||
10 could be as small as a Goss check comparing declared UFW state to live state
|
||
on one host.
|
||
|
||
```task
|
||
id: RAILIANCE-WP-0016-T05
|
||
status: todo
|
||
priority: medium
|
||
state_hub_task_id: "a40faaf1-77db-43f5-a774-6ab3866d8e1d"
|
||
```
|
||
|
||
Execute the S3-owned items in WSJF order — 13 (blocked on `9c21c0e0`), 14, 17 —
|
||
and keep this table current as items complete or their sizes become known.
|
||
|
||
## Outcome
|
||
|
||
Pending. T01-T03 delivered; routed to `railiance-master` for adoption
|
||
(message `ac73b172`). T04 rescoping and T05 S3-owned execution remain.
|