RPF-WP-0018: mark unevidenced P1 claims; seed RPF-WP-0019 for apps-pg
Placement policy 3.1 records that the P1 levels for vergabe and coulomb_social are provisioning declarations without the SS13 isolation probes - apps-pg has none. 3.2 records that apps-pg cannot produce the noisy-neighbour artifact at all until per-consumer controls exist, per SS13.4: with nothing to bind, a probe could only demonstrate degradation. RPF-WP-0019 seeded for the three live defects the disclosure work found: no backup, no per-consumer controls, no isolation probes. Kept separate from RPF-WP-0018 so declaring is not confused with fixing. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
cc4e659a9e
commit
b15215d191
2 changed files with 174 additions and 9 deletions
|
|
@ -70,15 +70,50 @@ has an answer that is not archaeology. The **placement owner** decides
|
|||
placement changes for that workload and is accountable for watching its
|
||||
triggers. It is not the same role as the operator of the cluster.
|
||||
|
||||
| Workload | Substrate | Provided level | Placement owner | Co-signer |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `audit-core` | `platform-pg` | P1 | `audit-core` | this repo |
|
||||
| `tenant-engine` | `platform-pg` | P1 | `tenant-engine` | this repo |
|
||||
| `user-engine` | `user-engine-pg` | P2 | `net-kingdom` | this repo |
|
||||
| `target-revenue` | `target-revenue-pg` | P2 | `target-revenue` | this repo |
|
||||
| `forgejo` | `forgejo-db` | P2 | this repo | — |
|
||||
| `vergabe` | `apps-pg` | P1 | `vergabe-teilnahme` | this repo |
|
||||
| `coulomb_social` | `apps-pg` | P1 | `coulomb-social` | this repo |
|
||||
| Workload | Substrate | Provided level | Placement owner | Co-signer | §13 evidence |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| `audit-core` | `platform-pg` | P1 | `audit-core` | this repo | probes exist |
|
||||
| `tenant-engine` | `platform-pg` | P1 | `tenant-engine` | this repo | probes exist |
|
||||
| `user-engine` | `user-engine-pg` | P2 | `net-kingdom` | this repo | not assessed here |
|
||||
| `target-revenue` | `target-revenue-pg` | P2 | `target-revenue` | this repo | not assessed here |
|
||||
| `forgejo` | `forgejo-db` | P2 | this repo | — | single consumer |
|
||||
| `vergabe` | `apps-pg` | P1 | `vergabe-teilnahme` | this repo | **absent** |
|
||||
| `coulomb_social` | `apps-pg` | P1 | `coulomb-social` | this repo | **absent** |
|
||||
|
||||
### 3.1 Two of these P1 levels are asserted without evidence
|
||||
|
||||
§13.1 claims a level only with its artifact present. The P1–P4 artifact is
|
||||
*"provisioning declaration plus the platform's isolation probes"*.
|
||||
|
||||
`platform-pg` has them — `rapp-postgres` runs 15 adversarial probes against the
|
||||
consumer boundary. **`apps-pg` has none.** `scripts/capture-apps-pg-evidence.py`
|
||||
captures *capacity* evidence for `resource-control`; it makes no isolation
|
||||
assertion. So the P1 levels recorded above for `vergabe` and `coulomb_social`
|
||||
are, as of 2026-08-17, **provisioning declarations without probes** — stated
|
||||
here rather than quietly carried, because a table of levels that mixes
|
||||
evidenced and unevidenced entries without saying which is which is the failure
|
||||
§13.1 exists to prevent.
|
||||
|
||||
Recorded as owed by this repo. Until the probes exist, those two rows should be
|
||||
read as *intended* placement, not *verified* placement.
|
||||
|
||||
### 3.2 `apps-pg` cannot produce the noisy-neighbour artifact at all
|
||||
|
||||
Worth separating from the gap above, because it is not a matter of writing a
|
||||
missing test. §13's P1–P2 noisy-neighbour artifact requires a per-consumer
|
||||
usage baseline, a saturation run, and **evidence that the governance controls
|
||||
bind — that the greedy consumer is held at its limits.**
|
||||
|
||||
`apps-pg` has no per-consumer governance controls. Its connection pool is not
|
||||
partitioned, there is no per-consumer connection allowance, no statement
|
||||
timeout and no resource limit on the pod. There is nothing that could be shown
|
||||
to bind, so a run against it could only demonstrate that a saturating consumer
|
||||
degrades its co-residents — which §13.4 explicitly rejects as an artifact that
|
||||
"can only fail, or that passes by being run gently enough".
|
||||
|
||||
The honest sequence is therefore: **controls first, artifact second.** Writing
|
||||
the probe before the limits exist would produce an overclaim wearing the
|
||||
costume of evidence. Tracked as `RPF-WP-0019`.
|
||||
|
||||
**The consuming repo is the placement owner; this repo co-signs.** The
|
||||
consumer knows its latency requirement, its erasure horizon and its compliance
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue