--- id: FIN-WP-0004 type: workplan title: "Establish the resource cost evidence contract" domain: infotech repo: fin-hub status: proposed owner: codex topic_slug: financials created: "2026-08-10" updated: "2026-08-10" related: - FIN-WP-0001 - RESOURCE-WP-0002 - RESOURCE-WP-0003 state_hub_workstream_id: "67b6de6c-4820-4478-9789-f50260204c27" --- # FIN-WP-0004 — resource cost evidence contract ## Goal Establish a versioned, provenance-bearing exchange between `fin-hub` and `resource-control` so booked financial facts can be joined to concrete infrastructure resources, technical utilization, forecasts, allocations, and optimization scenarios without creating competing ledgers. `fin-hub` remains authoritative for booked costs, credits, tax and currency treatment, budgets, financial commitments, burn, runway, and viability signals. `resource-control` remains authoritative for resource identity, lifecycle, demand and capacity forecasts, technical usage, allocation evidence, unit economics, and infrastructure optimization cases. This is a proposed companion to `RESOURCE-WP-0003` and should move to `ready` only after both repository owners review the authority matrix. ## T01 — Review and record the authority boundary ```task id: FIN-WP-0004-T01 status: todo priority: high state_hub_task_id: "6616e6a0-b0f3-4b82-a081-083891e2fb6e" ``` Review existing fin-hub ledger, commitment, provider-import, service-cost, burn, and runway models against the revised `resource-control` intent. Record one authoritative writer for each exchanged concept and identify existing fields or reports that imply duplicate authority. Explicitly distinguish: - provider invoice or booked-cost evidence from analytical cost allocation; - financial commitments from technical commitment candidates; - budgets and viability constraints from demand forecasts; - resource-control actual-cost projections from fin-hub booked facts; and - internal showback evidence from customer billing. Done when the boundary is reviewed jointly with `RESOURCE-WP-0003-T02` and there is no ambiguous ownership of a ledger, forecast, allocation, or resource. ## T02 — Specify fin-hub to resource-control booked-cost evidence ```task id: FIN-WP-0004-T02 status: todo priority: high state_hub_task_id: "0a90dd6f-b0c9-42dc-b625-cfedf0471143" ``` Define a stable export or projection for authoritative booked-cost evidence. It must cover source record identity, provider and account reference, accounting and service periods, currency, net/gross and tax semantics, credits or discounts, correction relationships, provenance, and available attribution keys. Support joins using the agreed subset of `resource_id`, `service_id`, `workload_id`, `tenant_id`, `environment`, and `cost_attribution_key` without requiring fin-hub to own the resource catalog. Unknown and unattributed values must remain explicit. Done when representative Host Europe or other provider rows can be exported idempotently and joined without copying invoice authority into `resource-control`. ## T03 — Specify resource-control to fin-hub planning evidence ```task id: FIN-WP-0004-T03 status: todo priority: high state_hub_task_id: "ad9dccb4-85be-4f19-b36e-2f7165a879f5" ``` Define ingestion for resource references, allocation evidence, low/base/high demand and cost forecasts, internal and external labor assumptions, technical usage, commitment candidates, and optimization scenarios. Preserve forecast version, observation period, uncertainty, assumptions, and source provenance. Planning evidence must not be posted as booked spend. Define how an approved commitment candidate becomes a financial commitment and how superseded forecasts remain queryable for later variance analysis. Done when the PostgreSQL backup forecast can enter fin-hub without being mistaken for an invoice or actual expenditure. ## T04 — Expose budgets, commitments, and viability constraints ```task id: FIN-WP-0004-T04 status: todo priority: medium state_hub_task_id: "3620fc2a-be3d-40aa-b357-d7741078c192" ``` Define the bounded financial signals that resource-control needs when ranking procurement and optimization options: applicable budget ceiling, active commitment state, burn or runway pressure, currency basis, effective period, and signal provenance. Do not export payment credentials, private invoice documents, or unrelated ledger detail. Consumers must be able to distinguish a policy constraint from an informational warning. Done when resource-control can evaluate affordability and commitment pressure without reproducing fin-hub's allocator or runway logic. ## T05 — Implement and reconcile the first round trip ```task id: FIN-WP-0004-T05 status: todo priority: high state_hub_task_id: "9a411734-76f6-4c8d-9a48-b5a08cf8fd1f" ``` Implement the smallest interfaces needed for the `RESOURCE-WP-0002` backup case. Reconcile a forecast, an attributed booked-cost period, and a variance result across both repositories. Test duplicate delivery, corrections, unattributed cost, missing keys, currency semantics, and revised forecasts. Record row counts, totals, provenance, and ownership assertions on both sides. Do not make the integration depend on mutable prose or filename conventions. Done when the same cost is booked exactly once, projected to resource-control, joined to technical evidence, and returned as planning or variance evidence without becoming a second financial fact. ## T06 — Generalize and operate the contract ```task id: FIN-WP-0004-T06 status: todo priority: medium state_hub_task_id: "a1309d51-32c3-4a9d-99f5-4dfb7abf4b3e" ``` Validate the contract with one non-storage resource and one shared service. Define versioning, compatibility, correction, reconciliation, data-quality, and review procedures. Add operator-facing visibility for rejected records, unattributed booked cost, stale forecasts, and reconciliation failures. Done when the contract supports storage, compute or cluster capacity, and a shared-service allocation without changing the authority boundary. ## Acceptance - [ ] One reviewed authority matrix is linked from both repositories. - [ ] Booked financial facts remain authoritative only in fin-hub. - [ ] Resource identity and technical allocation remain authoritative only in resource-control. - [ ] Forecasts cannot be confused with invoices or booked expenditure. - [ ] Exchange records carry stable identifiers, periods, provenance, and correction semantics. - [ ] Backup completes a reconciled round trip with no double counting. - [ ] At least one non-storage and one shared-service case validate the generalized contract.