65 lines
2 KiB
Markdown
65 lines
2 KiB
Markdown
|
|
# 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:
|
||
|
|
|
||
|
|
```text
|
||
|
|
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:
|
||
|
|
|
||
|
|
```text
|
||
|
|
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:
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"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.
|