From dada84cf5134f52a9fae95bbf367c267c2eacc2f Mon Sep 17 00:00:00 2001 From: codex Date: Tue, 25 Aug 2026 22:58:36 +0200 Subject: [PATCH] fix(workplans): migrate active workplans off the retired RAILIANCE-WP prefix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- ...1-cnpg-backup-scheduledbackup-coverage.md} | 24 +++++++------- ...ance01-activity-core-backup-automation.md} | 32 +++++++++---------- ...P-0003-policy-nexus-production-binding.md} | 22 ++++++------- 3 files changed, 39 insertions(+), 39 deletions(-) rename workplans/{RAILIANCE-WP-0015-cnpg-backup-scheduledbackup-coverage.md => RAPPS-WP-0001-cnpg-backup-scheduledbackup-coverage.md} (89%) rename workplans/{RAILIANCE-WP-0016-railiance01-activity-core-backup-automation.md => RAPPS-WP-0002-railiance01-activity-core-backup-automation.md} (79%) rename workplans/{RAILIANCE-WP-0018-policy-nexus-production-binding.md => RAPPS-WP-0003-policy-nexus-production-binding.md} (85%) diff --git a/workplans/RAILIANCE-WP-0015-cnpg-backup-scheduledbackup-coverage.md b/workplans/RAPPS-WP-0001-cnpg-backup-scheduledbackup-coverage.md similarity index 89% rename from workplans/RAILIANCE-WP-0015-cnpg-backup-scheduledbackup-coverage.md rename to workplans/RAPPS-WP-0001-cnpg-backup-scheduledbackup-coverage.md index 4b7dc09..7c7f536 100644 --- a/workplans/RAILIANCE-WP-0015-cnpg-backup-scheduledbackup-coverage.md +++ b/workplans/RAPPS-WP-0001-cnpg-backup-scheduledbackup-coverage.md @@ -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 diff --git a/workplans/RAILIANCE-WP-0016-railiance01-activity-core-backup-automation.md b/workplans/RAPPS-WP-0002-railiance01-activity-core-backup-automation.md similarity index 79% rename from workplans/RAILIANCE-WP-0016-railiance01-activity-core-backup-automation.md rename to workplans/RAPPS-WP-0002-railiance01-activity-core-backup-automation.md index a32e798..262e10f 100644 --- a/workplans/RAILIANCE-WP-0016-railiance01-activity-core-backup-automation.md +++ b/workplans/RAPPS-WP-0002-railiance01-activity-core-backup-automation.md @@ -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 diff --git a/workplans/RAILIANCE-WP-0018-policy-nexus-production-binding.md b/workplans/RAPPS-WP-0003-policy-nexus-production-binding.md similarity index 85% rename from workplans/RAILIANCE-WP-0018-policy-nexus-production-binding.md rename to workplans/RAPPS-WP-0003-policy-nexus-production-binding.md index 2fb1e35..db6325f 100644 --- a/workplans/RAILIANCE-WP-0018-policy-nexus-production-binding.md +++ b/workplans/RAPPS-WP-0003-policy-nexus-production-binding.md @@ -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,