railiance-platform/workplans/RPF-WP-0010-apps-pg-resource-evidence.md
codex e4af2a1d10
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
fix(workplans): migrate active workplans off the retired RAILIANCE-WP prefix
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
2026-08-25 22:58:35 +02:00

89 lines
2.8 KiB
Markdown

---
id: RPF-WP-0010
type: workplan
title: "Publish apps-pg resource and recovery evidence"
domain: financials
repo: railiance-platform
status: finished
owner: codex
topic_slug: railiance
created: "2026-08-11"
updated: "2026-08-14"
state_hub_workstream_id: "ee4a867f-eae2-5e85-b0b1-9802a3f31f10"
related:
- RAILIANCE-WP-0003
- RESOURCE-WP-0003
---
# RPF-WP-0010 — apps-pg resource evidence
## Goal
Provide platform-owned evidence for `resource:railiance:apps-pg`: demand,
utilization, recovery, operations labor, and consumer allocation. Origin:
`RESOURCE-WP-0003-T04` delegated evidence gap.
## T01 — Publish database capacity and utilization
```task
id: RPF-WP-0010-T01
status: done
priority: high
state_hub_task_id: "4cba1304-9a5d-5a26-8706-fe1df7ca5d4e"
```
Record instance count, CPU/memory requests and observed use, provisioned and
used storage, database growth, connections, I/O or other available saturation
proxies, and consumer database attribution with timestamps and provenance.
Done when resource-control can forecast database capacity without reading
application data or credentials.
## T02 — Publish recovery and operational evidence
```task
id: RPF-WP-0010-T02
status: done
priority: high
state_hub_task_id: "382751c3-b05c-51d1-9a9c-d64363978851"
```
Record backup coverage, restore-test results, recovery objectives, upgrade and
maintenance cadence, incidents, and setup/recurring operator labor. Keep
service procedures and execution in railiance-platform.
Done when the portfolio can distinguish verified recovery, unresolved local
storage risk, and platform labor cost.
## T03 — Define shared database allocation drivers
```task
id: RPF-WP-0010-T03
status: done
priority: medium
state_hub_task_id: "01148c0f-9d21-5c64-be99-cb5f42697274"
```
Publish candidate consumer drivers such as database storage GB-month,
connections, transactions, or measured I/O. Include shared overhead,
unattributed residual, method version, and uncertainty.
Done when resource-control can allocate a referenced apps-pg cost without
making railiance-platform a financial ledger.
## Outcome
Published 2026-08-14. Observation
`docs/evidence/RPF-WP-0010-apps-pg-observation.json` and narrative
`docs/evidence/RPF-WP-0010-apps-pg-resource-evidence.md`.
- T01: 1/1 instance, 10Gi local-path, 590 MiB PGDATA, no CPU/memory
requests, two consumer catalogs (~16.6 MiB), `vergabe_db` unused.
- T02: no ScheduledBackup, not an Option A target, RPO unbounded, RTO
undefined — unresolved local-storage risk. Labor: ~6h setup, ~0.5h/month
recurring, high uncertainty, no EUR.
- T03: method `apps-pg-dbbytes-v1`, driver `database_gb`, residual
`platform:apps-pg-overhead` (94.8% of used volume is WAL/catalog).
Refresh: `make apps-pg-evidence`. resource-control can now replace the
illustrative `examples/control-cycle/apps-pg-*.json` fixtures.