railiance-platform/workplans/RPF-WP-0012-consumption-mode-enforcement.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

66 lines
2.1 KiB
Markdown

---
id: RPF-WP-0012
type: workplan
title: "Enforce resource-control consumption mode"
domain: financials
repo: railiance-platform
status: finished
owner: codex
topic_slug: railiance
created: "2026-08-14"
updated: "2026-08-15"
related:
- RESOURCE-WP-0005
origin: residual
origin_ref: RESOURCE-WP-0005
state_hub_workstream_id: "519e512d-bef0-54ca-85f0-6912a5219ed5"
---
# RPF-WP-0012 — enforce consumption mode
## Goal
Consume the `open` / `restricted` signal published by
`resource-control` and enforce it on new orders and elastic usage.
`resource-control` does not throttle the cluster.
Origin: `RESOURCE-WP-0005-T07`. Terms:
`resource-control/docs/TermsOfResourceProcurement.md` § 11.
Runbook: `resource-control/docs/resource-procurement-facility.md`.
## Boundaries
- Restricted monthly new-consumption is €50 transfer price minus that
month's interest. At the default €1 000 overdue balance that is
€45.83 transfer price / €38.19 delivered cost.
- Already-committed provider contracts are flagged to human financial
authority, not cancelled (OQ-2).
- Safety paths (backup, identity, ingress needed to avoid data loss)
may continue; overage is an exception line, not a hidden charge.
## T01 — Subscribe to the consumption-mode signal
```task
id: RPF-WP-0012-T01
status: done
priority: high
state_hub_task_id: "c758776c-bd2a-5d38-a9b7-94db66fc0568"
```
Define how platform procurement and admission read the latest
per-entity consumption mode and remaining transfer-price allowance for
the current period.
Done when a restricted entity cannot place a new order that would
exceed the published allowance, and an `open` entity is unchanged.
Delivered 2026-08-15: `scripts/consumption_mode.py`,
`docs/consumption-mode-enforcement.md`, `make consumption-preflight`.
Restricted + estimate above allowance exits 2. Open and missing-signal
admit. Safety/committed paths admit with an exception line. `apps-pg-deploy`
runs the gate when `CONSUMING_ENTITY` is set.
## Outcome
T01 done. Workplan finished. resource-control still owns the signal;
this repo only enforces it.