# RESOURCE-WP-0003 generalized control cycle — 2026-08-11 ## Result `RESOURCE-WP-0003-T05` generalized the backup-specific forecast-to-actual method into a provider-neutral portfolio contract. The implementation consists of: - `schemas/resource-control-cycle.schema.json` for immutable forecast and actual records; - `tools/control_cycle.py` for resource-neutral comparison and controlled variance attribution; - six paired examples covering storage, fixed cluster compute, and a hybrid shared PostgreSQL service; - tests for the three resource classes, immutable forecast binding, explicit cost attribution, and fail-closed data-quality handling; - updated operating guidance in `docs/forecast-actual-control.md`. ## Boundary with fin-hub Actual records carry `booked_cost_refs`; resource-control does not reproduce the ledger fact. Fin-hub message `d33f2452-8dc6-4249-a3d2-84fda938103a` confirmed explicit `financial_fact_id -> resource_id` binding, budget and constraint signals, and generalized exchange health. The first operational backup round trip remains correctly gated on `RESOURCE-WP-0002` procurement; that does not invalidate these illustrative contract fixtures. ## Verification - `make test`: 25 tests passed and declarations validated. - All three example pairs completed through `make control-cycle`. - `git diff --check`: clean. The examples are intentionally marked illustrative. Their values must not be reported as actual consumption or booked cost.