resource-control/docs/evidence/RESOURCE-WP-0003-fin-hub-contract-preflight-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

2 KiB

RESOURCE-WP-0003 fin-hub contract preflight

Date: 2026-08-11 Resource-control task: RESOURCE-WP-0003-T02 Fin-hub tasks: FIN-WP-0004-T01, T02, T03, T07, T08, T09 Fin-hub commit: 0034330

Result

Resource-control accepts the authority and schema boundary in the joint v0.1 contract. Fin-hub's remediation was reviewed against the timestamped assessment and its full suite passed:

46 passed, 1 third-party deprecation warning

Resource-control's suite passed after adding its producer-owned schema, forecast exporter, booked-cost consumer validation, and reconciliation seam:

13 passed
resource-control declarations: valid

Cross-repository check

The live immutable backup forecast data/forecasts/platform-audit-storage-scaleway-base-2026-08.json was processed through both implementations using:

  • resource-control tools/financial_exchange.py::forecast_records; and
  • fin-hub fin_hub.services.exchange::ingest_resource_forecast.

Observed result:

{
  "producer_consumer_records": 12,
  "idempotent_store_rows": 12,
  "payloads_equal": true,
  "booked_cost_gate": "awaits attributable provider fact"
}

Replaying the same forecast did not add rows. All canonical record payloads matched, including IDs, periods, cost breakdown, attribution, assumptions, and provenance reference.

Residual acceptance gate

This preflight proves the planning direction; it is not evidence of purchased storage or actual spend. FIN-WP-0004-T05 remains waiting until RESOURCE-WP-0002 produces a real provider financial fact attributable to platform:audit-storage. That round trip must then demonstrate:

  1. exactly one authoritative booked fact in fin-hub;
  2. a non-ledger projection consumed by resource-control;
  3. a join to the immutable forecast and technical observation;
  4. infrastructure-cost variance with the financial fact ID preserved; and
  5. duplicate delivery and any correction leaving effective totals correct.

Synthetic records remain suitable for automated contract tests but cannot satisfy this operational gate.