# Core Hub PostgreSQL capacity preflight — 2026-08-20

Workplan: `RPF-WP-0021-T02`

Target: railiance01 `databases/platform-pg`

Mode: live, read-only, non-secret

## Purpose

Record the current `platform-pg` resource posture before reviewing Core Hub as
the fourth declaration on the cell. This is an admission preflight, not the
controlled multi-consumer measurement required by `rapp-postgres` ADR-0004.

## Observed baseline

Collected through `ssh railiance01` using `kubectl top`, pod resource metadata,
and read-only `pg_stat_activity` / database-size queries.

| Signal | Observation |
| --- | --- |
| PostgreSQL pod CPU | 9m |
| PostgreSQL pod memory | 362Mi |
| CPU request / limit | 100m / 1 core |
| Memory request / limit | 256Mi / 1Gi |
| `max_connections` | 100 |
| `shared_buffers` | 128MB |
| `work_mem` | 4MB |
| `maintenance_work_mem` | 64MB |

Connection snapshot:

| Database | Total | Active | Idle |
| --- | ---: | ---: | ---: |
| `audit_core` | 1 | 0 | 1 |
| `postgres` | 2 | 1 | 1 |
| no database | 6 | 0 | 0 |

Database sizes were approximately 8MiB each for `audit_core`,
`isolation_probe`, `platform_meta`, `postgres`, and `template1`.

## Interpretation

- The pod was using about 35% of its 1Gi memory limit during this quiet
  snapshot. That is useful headroom evidence and not a peak or per-backend
  measurement.
- `tenant_engine` was not present in the database list, so this sample does
  not exercise the declared second workload consumer.
- Core Hub would reach the four-declaration ceiling after `audit-core`,
  `tenant-engine`, and the counted isolation probe. It does not exceed the
  ceiling if the stale, untracked Issue Core draft is removed as required by
  `ISSUE-WP-0007`.
- This snapshot does **not** close ADR-0004 section 5. Admission still needs a
  coordinated measurement with the declared consumers active, including
  connection/backend memory under representative load and a recorded peak.

No PostgreSQL credential, query payload, tenant identifier, or secret value
was read or recorded.
