fix(workplans): migrate active workplans off the retired RAILIANCE-WP prefix
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

RAILIANCE-WP is a family name, not a repository (ADR-007, and the prefix
registry already lists it retired). Three repositories independently used one
number space for unrelated work — RAILIANCE-WP-0012 was openbao extraction here,
a cnpg backup in railiance-apps and a deploy-verify in railiance-cluster. This
repository also carried two files both numbered 0016.

Active workplans move to the successor prefix and are renumbered from 0001 in
historical order. Archived workplans keep their historical identifiers.

Projection UUIDs are re-derived from the new canonical ids. Records already
registered under the old identifiers leave orphaned hub rows behind; that debt
is recorded in CUST-WP-0068 and clears when ADR-012's reset-from-forge lands.

Refs CUST-WP-0068-T03

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
This commit is contained in:
codex 2026-08-25 22:58:36 +02:00
parent b5151225ba
commit dada84cf51
3 changed files with 39 additions and 39 deletions

View file

@ -1,5 +1,5 @@
---
id: RAILIANCE-WP-0015
id: RAPPS-WP-0001
type: workplan
title: "CNPG backup ScheduledBackup coverage — drive cnpg-backup-status to healthy"
domain: financials
@ -9,7 +9,7 @@ owner: codex
topic_slug: railiance
created: "2026-07-14"
updated: "2026-07-22"
state_hub_workstream_id: "1c73af72-fd4b-5ab6-8ff7-a3c302bf55a5"
state_hub_workstream_id: "7d4701c2-4c1c-517e-bf74-7dd34a6ab420"
---
# CNPG backup ScheduledBackup coverage
@ -38,11 +38,11 @@ drill for all four production CNPG clusters — `apps-pg`, `gitea-db`,
## Task: Provision CCR-2026-0004 offsite credentials (operator)
```task
id: RAILIANCE-WP-0015-T01
id: RAPPS-WP-0001-T01
status: done
priority: high
needs_human: false
state_hub_task_id: "37117b07-196d-5095-ba6b-f2123db4bf3b"
state_hub_task_id: "a21d47fe-e2dc-5037-a698-82d59fe2b18a"
```
Operator provisions `NC_WEBDAV_TOKEN`, `NC_WEBDAV_URL`, `AGE_PRIVATE_KEY` per
@ -56,10 +56,10 @@ data-path `read` capability + field presence verified without printing values.
## Task: Create offsite backup Secret in databases namespace
```task
id: RAILIANCE-WP-0015-T02
id: RAPPS-WP-0001-T02
status: done
priority: high
state_hub_task_id: "a71c1bdd-4bc7-5547-bc00-0cdc7d459a4b"
state_hub_task_id: "498309e0-c29d-56e3-a4af-ab9723e057c6"
```
Once T01 resolves, materialize the `databases` namespace Secret from the lane
@ -74,10 +74,10 @@ workstation runner using the same OpenBao lane.
## Task: Wire scheduled backup for all four CNPG clusters
```task
id: RAILIANCE-WP-0015-T03
id: RAPPS-WP-0001-T03
status: done
priority: high
state_hub_task_id: "b5cc6fe2-a9c2-5f27-bcb7-a2e22e96b04b"
state_hub_task_id: "dfccabf9-93ab-5893-b647-68dacc50c129"
```
Implement the decided Option A lane as an unattended schedule for `apps-pg`,
@ -95,10 +95,10 @@ uploaded encrypted dumps for all consumer databases and wrote
## Task: Reconcile cnpg-backup-status health definition with Option A
```task
id: RAILIANCE-WP-0015-T04
id: RAPPS-WP-0001-T04
status: done
priority: medium
state_hub_task_id: "3bfe6fba-6e7a-52f1-8b7f-906ba1e065cd"
state_hub_task_id: "28496364-2784-5d94-bb3b-bb5f9cf6d747"
```
`cnpg-backup-status.sh` currently reports `degraded` whenever a CNPG-native
@ -115,10 +115,10 @@ clusters.
## Task: Restore drill + RPO/RTO evidence, mark healthy
```task
id: RAILIANCE-WP-0015-T05
id: RAPPS-WP-0001-T05
status: done
priority: high
state_hub_task_id: "d4223b6e-4e46-5c4c-9d1d-94812b2e8bf6"
state_hub_task_id: "11a05a83-e7ba-5d9e-a463-0f34a8f48017"
```
Run an isolated-namespace restore drill from a scheduled artifact for at least

View file

@ -1,5 +1,5 @@
---
id: RAILIANCE-WP-0016
id: RAPPS-WP-0002
type: workplan
title: "railiance01 + activity-core unattended CNPG/Forgejo backup automation"
domain: financials
@ -9,7 +9,7 @@ owner: codex
topic_slug: railiance
created: "2026-07-22"
updated: "2026-07-22"
state_hub_workstream_id: "857ca302-bb94-5d41-a649-1aa966368df4"
state_hub_workstream_id: "4bc748b8-7d4c-5d3f-8602-4d2280f4b60f"
---
# railiance01 + activity-core unattended backup automation
@ -30,10 +30,10 @@ Evidence: `docs/evidence/cnpg-option-a-unattended-20260722.json`
## Task: Inventory production-of-record DB topology
```task
id: RAILIANCE-WP-0016-T01
id: RAPPS-WP-0002-T01
status: done
priority: high
state_hub_task_id: "475b8930-1e75-580b-a5e4-ce14b038c0ce"
state_hub_task_id: "f10d7bc0-44c0-51b6-b749-18cc6fb28956"
```
`docs/cnpg-backup-topology-inventory.md`
@ -41,10 +41,10 @@ state_hub_task_id: "475b8930-1e75-580b-a5e4-ce14b038c0ce"
## Task: Package offline-capable backup runner for railiance01
```task
id: RAILIANCE-WP-0016-T02
id: RAPPS-WP-0002-T02
status: done
priority: high
state_hub_task_id: "a2ca2b69-f089-5ae4-8c97-bc031503f304"
state_hub_task_id: "bb6ba8b9-a4dd-5825-bde0-21927b7d88b2"
```
Platform CLI + vendor age; image `cnpg-option-a-backup:v1` for Core; python
@ -53,11 +53,11 @@ upload fallback when curl missing in worker.
## Task: Non-interactive offsite credentials for activity-core worker
```task
id: RAILIANCE-WP-0016-T03
id: RAPPS-WP-0002-T03
status: done
priority: high
needs_human: false
state_hub_task_id: "159eefae-d81c-57db-969f-0f9fcecdbc18"
state_hub_task_id: "daa173a1-daae-5907-bb8b-9a0fca201498"
```
ESO `actcore-backup-offsite` **SecretSynced**; worker has `NC_WEBDAV_*`.
@ -65,10 +65,10 @@ ESO `actcore-backup-offsite` **SecretSynced**; worker has `NC_WEBDAV_*`.
## Task: CoulombCore API reachability from railiance01 worker
```task
id: RAILIANCE-WP-0016-T04
id: RAPPS-WP-0002-T04
status: done
priority: high
state_hub_task_id: "cf63809e-f73e-5306-abba-daf8a41ab72d"
state_hub_task_id: "190edc0a-8097-5e53-aaaf-445ac124579a"
```
**Decision recorded:** Core API not reachable from R01; Core backups run
@ -78,10 +78,10 @@ host kubeconfig for local clusters only.
## Task: activity-core ActivityDefinition + shell resolver
```task
id: RAILIANCE-WP-0016-T05
id: RAPPS-WP-0002-T05
status: done
priority: high
state_hub_task_id: "44c19ca1-a627-561e-88ba-4cf642bd5594"
state_hub_task_id: "544df9d5-6f67-5709-a6f4-3dac371ae2b1"
```
`daily-cnpg-option-a-backup` enabled; Temporal schedule upserted; resolver smoke
@ -90,10 +90,10 @@ overall=ok; CLI smoke 4 dumps/uploads on R01.
## Task: Cut over health definition and retire workstation dependency
```task
id: RAILIANCE-WP-0016-T06
id: RAPPS-WP-0002-T06
status: done
priority: medium
state_hub_task_id: "5b230dae-8916-5efa-a395-fd472e025920"
state_hub_task_id: "0f34a452-d5e6-5315-baea-7457298d59c0"
```
`make cnpg-backup-status`**ok** with in-cluster CronJobs + last-success.
@ -102,10 +102,10 @@ Schedule mode `in-cluster-cron`.
## Task: Soak, restore drill from automated artifact, finish
```task
id: RAILIANCE-WP-0016-T07
id: RAPPS-WP-0002-T07
status: done
priority: high
state_hub_task_id: "cb64ec26-4e02-54cf-807b-1d3ddbcba21c"
state_hub_task_id: "593fa1ba-a1da-5b76-9e12-596f0ce92c44"
```
Automated CronJob/activity-core artifacts produced; prior restore drill pattern

View file

@ -1,5 +1,5 @@
---
id: RAILIANCE-WP-0018
id: RAPPS-WP-0003
type: workplan
title: "Bind and deploy the permanent policy surface"
domain: financials
@ -13,10 +13,10 @@ related:
- POLICY-NEXUS-WP-0001
- RAPP-POLICY-NEXUS-WP-0001
- REEF-RAILIANCE-WP-0004
state_hub_workstream_id: "1b9af4e8-7579-5141-837b-c736b85204a0"
state_hub_workstream_id: "668fbb2e-1060-57dd-b499-ff2e1a265a23"
---
# RAILIANCE-WP-0018 — policy-nexus production binding
# RAPPS-WP-0003 — policy-nexus production binding
## Goal
@ -27,10 +27,10 @@ chart in the S5 repository.
## Establish the S5 release boundary
```task
id: RAILIANCE-WP-0018-T01
id: RAPPS-WP-0003-T01
status: done
priority: high
state_hub_task_id: "21426991-71be-5bc4-a4d7-89c81c2e299a"
state_hub_task_id: "11e4292b-6c30-58bf-9478-2097063cbb57"
```
The production binding, guarded delegating Make targets, and runbook are
@ -41,10 +41,10 @@ selection and production approval.
## Record the first immutable release
```task
id: RAILIANCE-WP-0018-T02
id: RAPPS-WP-0003-T02
status: done
priority: high
state_hub_task_id: "2ee8f8b2-9672-5ab1-8f4a-2aacc7f1e905"
state_hub_task_id: "54b23078-231a-5f99-8736-fe57b7f3c0cb"
```
Publish a clean-source image, resolve its registry OCI digest, record it and the
@ -64,10 +64,10 @@ deterministic source set. The production binding now selects that candidate.
## Server-dry-run and deploy
```task
id: RAILIANCE-WP-0018-T03
id: RAPPS-WP-0003-T03
status: done
priority: high
state_hub_task_id: "bef1c91a-5702-5522-9c23-e57e8c0a2c44"
state_hub_task_id: "6327bc32-15f9-547b-a11c-8bc48eb6410e"
```
From an authorized operator workstation, run package checks and the Kubernetes
@ -84,10 +84,10 @@ serving as deployed revision 4. Deployment and pod are 1/1 Ready in namespace
## Verify the public surface and rollback path
```task
id: RAILIANCE-WP-0018-T04
id: RAPPS-WP-0003-T04
status: done
priority: high
state_hub_task_id: "dc4712b6-a171-54ad-9d78-0ba97cfe9dca"
state_hub_task_id: "97934187-e815-51f6-99cc-6f7240da0819"
```
HTTPS, current and immutable document paths, permanent legacy redirect,