161 lines
6.8 KiB
Markdown
161 lines
6.8 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
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# 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
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
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
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
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: todo
|
|||
|
|
priority: high
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
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
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
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
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
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 and T02 delivered; the backlog is ordered and awaiting adoption.
|