--- 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.