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
|
|
|
# fin-hub ↔ resource-control contract v0.1 — resource-control ratification
|
|
|
|
|
|
|
|
|
|
Status: authority and schema boundary accepted on 2026-08-11
|
|
|
|
|
Fin-hub implementation reviewed: commit `0034330`
|
|
|
|
|
Workplans: `RESOURCE-WP-0003-T02`, `FIN-WP-0004`
|
|
|
|
|
|
|
|
|
|
The jointly reviewed contract is maintained in fin-hub at
|
|
|
|
|
`docs/fin-resource-authority-contract-v0.1.md`. This record is the
|
|
|
|
|
resource-control-side ratification and identifies the artifacts for which this
|
|
|
|
|
repository is authoritative.
|
|
|
|
|
|
|
|
|
|
## Authority
|
|
|
|
|
|
|
|
|
|
- fin-hub owns booked financial facts and corrections, tax and currency
|
|
|
|
|
treatment, budgets, commitments, burn, runway, and viability signals.
|
|
|
|
|
- resource-control owns resource identity and lifecycle, technical usage,
|
|
|
|
|
allocation evidence, demand and cost forecasts, and optimization evidence.
|
|
|
|
|
- workload and platform repositories remain authoritative for native workload
|
|
|
|
|
identity, service requirements, provisioning, operation, and source
|
|
|
|
|
telemetry.
|
|
|
|
|
- neither repository approves contracts, executes payment, or turns planning
|
|
|
|
|
evidence into booked spend.
|
|
|
|
|
|
|
|
|
|
## Artifacts
|
|
|
|
|
|
|
|
|
|
- `schemas/planning-evidence.schema.json` is the authoritative
|
|
|
|
|
resource-control outbound schema.
|
|
|
|
|
- `tools/financial_exchange.py forecast` converts the existing immutable
|
|
|
|
|
monthly backup forecast into canonical `ForecastEvidence` records.
|
|
|
|
|
- `tools/financial_exchange.py reconcile` validates fin-hub booked-cost
|
|
|
|
|
projections and compares attributable infrastructure cost by accounting
|
|
|
|
|
period. Booked facts are referenced projections here, never a second ledger.
|
|
|
|
|
- `schemas/monthly-resource-observation.schema.json` uses
|
|
|
|
|
`usage_observation` for technical observations. “Booked actual” is reserved
|
|
|
|
|
for fin-hub facts.
|
|
|
|
|
|
|
|
|
|
Fin-hub owns its outbound `BookedCostEvidence` executable schema. This
|
|
|
|
|
repository validates the contract fields and arithmetic it consumes, but does
|
|
|
|
|
not redefine financial authority.
|
|
|
|
|
|
2026-08-14 13:15:02 +02:00
|
|
|
## Internal settlement (RESOURCE-WP-0005)
|
|
|
|
|
|
|
|
|
|
`schemas/settlement-statement.schema.json` is the outbound shape for proposed
|
|
|
|
|
internal transfer charges. It is planning/settlement evidence, not a booked
|
|
|
|
|
fact. Join keys added by the facility:
|
|
|
|
|
|
|
|
|
|
- `financial_entity_id` (`entity:…`)
|
|
|
|
|
- `procuring_entity_id` (V0.1: `entity:railiance`)
|
|
|
|
|
- `period`, `terms_version`
|
|
|
|
|
|
|
|
|
|
A recognized internal payment, when it exists, is a fin-hub booked fact
|
|
|
|
|
joined by `financial_fact_id` + entity + period. resource-control never
|
|
|
|
|
clears outstanding from its own statement.
|
|
|
|
|
|
|
|
|
|
The consumption-mode signal (`open` | `restricted`, remaining transfer-price
|
|
|
|
|
allowance) is published for Railiance operations. It is not a fin-hub
|
|
|
|
|
budget. Handoff workplans: `FIN-WP-0006`, `RAILIANCE-WP-0017`.
|
|
|
|
|
|
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
|
|
|
## Acceptance boundary
|
|
|
|
|
|
|
|
|
|
The 12-row `platform:audit-storage` forecast can complete an idempotent
|
|
|
|
|
planning-evidence preflight before procurement. `FIN-WP-0004-T05` and the
|
|
|
|
|
operational round trip remain open until an attributable provider charge or
|
|
|
|
|
credit exists. Fixture or synthetic money may test the seam but cannot satisfy
|
|
|
|
|
that evidence gate.
|