resource-control/docs/evidence/RESOURCE-WP-0003-generalized-control-cycle-2026-08-11.md
tegwick 2c2a6073ff feat(portfolio): complete RESOURCE-WP-0003 T06 optimization cases and T07 reporting
T06: optimization-case schema, fail-closed evaluator, cadence and decision
template. Every option including the baseline must present all ten decision
fields; one unknown blocks the comparison. Validated on the storage case
(Hetzner computes and loses to Scaleway by EUR 29.14/month on operator labour;
Host Europe blocks on four named gaps) and on the non-storage reef-railiance
k3s rightsizing case (low utilization is real, but nothing is costable while
the railiance01 price is unknown).

T07: portfolio report over coverage, lifecycle, utilization, cost, renewals,
risks, open cases, and next actions, derived only from committed evidence.
Portfolio spend is reported null rather than as a partial sum, unattributed
cost is a named list rather than a spread, and unmeasurable resources are
reported rather than dropped.

RESOURCE-WP-0003 is finished; both cases remain blocked_on_evidence against
live delegated records in other repositories. RESOURCE-WP-0002 is untouched.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 09:28:44 +02:00

1.5 KiB

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.