Retires the shared prefix. Live plans move to the new prefix keeping their
running number; finished and archived files keep the old prefix as
historical record, per the ADR-007 option 2 migration ruling.
Hub UUIDs are unchanged, so reconciliation matches on
state_hub_workstream_id rather than filename and will update the slug in
place instead of registering duplicates.
Assigned in RMGR-WP-0004-T09.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Verified against railiance01 on 2026-08-12 once API access was restored.
Corrections: two clusters are managed, not one - railiance01 is the current
primary running the live workloads, CoulombCore is the older frozen cluster.
Traefik is the ingress controller, not nginx. ArgoCD is not on railiance01 at
all; it runs on CoulombCore only, so the previous entry was accurate for that
host but misleading as a general cluster-level claim.
Adds the verified addon and CNPG cluster inventory, notes the absence of any
monitoring stack, and points at RAIL-HO-WP-0009 for the source-restricted k3s
API.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Implements State Hub suggestion 8b3301d6 (STATE-WP-0073) by rebuilding
activity-core:railiance01-prod from f41cf14 so the legacy_meter_weekly_review
resolver passes hours=8 for production 8h capture cadence.
T06 done via accelerated cron test (22:44 CEST); cluster progress f405dc8e
posted without manual trigger. Production schedule restored to Monday 08:30
Europe/Berlin. Workplan status → finished.
Deployed activity-core efa3615 image and runtime bundle on railiance01,
synced weekly-legacy-meter-review definition and Temporal schedule, and
proved legacy_meter_weekly_review progress on cluster State Hub (4231449a).
T06 remains wait for first Monday 08:30 Europe/Berlin scheduled run.
Provider Secret gate cleared; full reconcile passed with fixture smoke
(health=ok, latency 2.084s). Harden the smoke against NetworkPolicy
allowlist propagation by retrying up to 6x with a 5s warm-up inside the
smoke pod — the netpol added 2026-06-19 rejected the pod's immediate
first request before its IP propagated.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Align agent files with on-disk workplan prefixes (infer from workplan ids)
- Set workplan domain to registered domain_slug; add topic_slug where applicable
- Repair frontmatter delimiter formatting; migrate legacy task status literals
- Regenerate AGENTS.md, CLAUDE.md, and .claude/rules from State Hub templates
T02: note to verify etcd is in use before implementing; flags root requirement
T03: add KUBECONFIG to helm commands; note root access approach
T06: document solution to sudo problem — run cron under root's crontab,
not a sudoers whitelist. Add restore drill commands. Fix cron to use
absolute path (~ unreliable in root crontab).
T01: note to remove old railiance-backup script (wrong scope)
Makefile: fix stale backup description, add restore target, fix .PHONY
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
WP-0004 rewritten: scope narrowed to S2-owned assets (etcd snapshots,
Helm values, kubeconfig). No external dependencies. age encryption
reuses SOPS key pair. Output to /opt/backup/railiance/cluster/.
DECISIONS.md D4: integrated backup per capability, not centralized.
EP-RAIL-005 registered in state hub: custodian orchestration deferred
until all layers implement the standard interface.
The old monolithic backup (custodian DB + operator config) was not S2's
concern and has been removed from this workplan scope.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The railiance-backup script targets a developer workstation (custodian DB
in Docker + Claude config). It is not applicable to the server.
Server backup (Gitea repos + Zulip data) belongs in railiance-infra as an
Ansible role. T05 now documents this correctly and blocks wiring up a cron
job until the right script exists.
Also removed the incorrectly installed cron job that called the broken script.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>