railiance-platform/workplans/RAILIANCE-WP-0016-architecture-cleanup-backlog.md
codex e61de17b0d
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Gap analysis and WSJF-prioritized cleanup backlog
Compares INTENT (declared aspiration) against SCOPE (declared state) against
verified reality for every railiance-* repo. This was only possible now: a gap
could not be distinguished from a stale document until the architecture was
coherently defined, the SCOPE files described verified rather than assumed
reality, and the INTENT files stated current rather than copied intent.

Names the pattern that organizes the work: every gap is declared-but-unbuilt
(telemetry, S4, conformance loop), built-but-undeclared (the firewall
restriction, Q1 custody, the Plane dimension), or decided-but-unmoved (forge
placement, hosts retirement, rapp schema). The third kind is cheapest to clear
and blocks the most; the second is most dangerous, because it stays invisible
until something breaks - the firewall case was found by accident.

RAILIANCE-WP-0016 orders 19 items by WSJF with owner and reasoning per item.
Top three are nearly free and all decided-but-unmoved. Item 1, converging the
firewall allowlist, is a live exposure: two standing grants point at addresses
the ISP has reassigned. Item 2, five pending ratifications in railiance-master,
blocks a quarter of the backlog for a day of decisions.

Flags honestly that the size scores for telemetry and the conformance loop are
guesses, that item 13 is blocked rather than deprioritized, and that this
backlog belongs to railiance-master rather than S3 - it lives here only because
the analysis was done here.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 01:33:03 +02:00

6.8 KiB
Raw Blame History

id type title domain repo status owner topic_slug created updated related_repos
RAILIANCE-WP-0016 workplan Architecture cleanup backlog, WSJF-prioritized financials railiance-platform active codex railiance 2026-08-12 2026-08-12
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 110, job size 110.

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 13 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

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.

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.

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.

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.

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.