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