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,