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>
24 lines
3 KiB
JSON
24 lines
3 KiB
JSON
{
|
|
"schema_version": "0.1",
|
|
"record_type": "forecast",
|
|
"workload": "platform-pg",
|
|
"cost_attribution_key": "platform:audit-storage",
|
|
"provider_id": "scaleway-standard-multi-az",
|
|
"created_at": "2026-08-10T17:10:00Z",
|
|
"scenario": "base",
|
|
"forecast_ref": null,
|
|
"rows": [
|
|
{"period":"2026-09","database_gb":5,"stored_gb":180,"wal_gb":30,"restore_egress_gb":5,"write_requests":2500,"read_requests":1000,"infrastructure_eur":2.89,"internal_labor_hours":1,"internal_labor_eur":60,"total_eur":62.89},
|
|
{"period":"2026-10","database_gb":5.5,"stored_gb":195,"wal_gb":30,"restore_egress_gb":5,"write_requests":2500,"read_requests":1000,"infrastructure_eur":3.13,"internal_labor_hours":1,"internal_labor_eur":60,"total_eur":63.13},
|
|
{"period":"2026-11","database_gb":6.05,"stored_gb":211.5,"wal_gb":30,"restore_egress_gb":5,"write_requests":2500,"read_requests":1000,"infrastructure_eur":3.4,"internal_labor_hours":1,"internal_labor_eur":60,"total_eur":63.4},
|
|
{"period":"2026-12","database_gb":6.655,"stored_gb":229.65,"wal_gb":30,"restore_egress_gb":5,"write_requests":2500,"read_requests":1000,"infrastructure_eur":3.69,"internal_labor_hours":1,"internal_labor_eur":60,"total_eur":63.69},
|
|
{"period":"2027-01","database_gb":7.321,"stored_gb":249.615,"wal_gb":30,"restore_egress_gb":5,"write_requests":2500,"read_requests":1000,"infrastructure_eur":4.01,"internal_labor_hours":1,"internal_labor_eur":60,"total_eur":64.01},
|
|
{"period":"2027-02","database_gb":8.053,"stored_gb":271.577,"wal_gb":30,"restore_egress_gb":5,"write_requests":2500,"read_requests":1000,"infrastructure_eur":4.36,"internal_labor_hours":1,"internal_labor_eur":60,"total_eur":64.36},
|
|
{"period":"2027-03","database_gb":8.858,"stored_gb":295.734,"wal_gb":30,"restore_egress_gb":5,"write_requests":2500,"read_requests":1000,"infrastructure_eur":4.75,"internal_labor_hours":1,"internal_labor_eur":60,"total_eur":64.75},
|
|
{"period":"2027-04","database_gb":9.744,"stored_gb":322.308,"wal_gb":30,"restore_egress_gb":5,"write_requests":2500,"read_requests":1000,"infrastructure_eur":5.18,"internal_labor_hours":1,"internal_labor_eur":60,"total_eur":65.18},
|
|
{"period":"2027-05","database_gb":10.718,"stored_gb":351.538,"wal_gb":30,"restore_egress_gb":5,"write_requests":2500,"read_requests":1000,"infrastructure_eur":5.65,"internal_labor_hours":1,"internal_labor_eur":60,"total_eur":65.65},
|
|
{"period":"2027-06","database_gb":11.79,"stored_gb":383.692,"wal_gb":30,"restore_egress_gb":5,"write_requests":2500,"read_requests":1000,"infrastructure_eur":6.16,"internal_labor_hours":1,"internal_labor_eur":60,"total_eur":66.16},
|
|
{"period":"2027-07","database_gb":12.969,"stored_gb":419.061,"wal_gb":30,"restore_egress_gb":5,"write_requests":2500,"read_requests":1000,"infrastructure_eur":6.73,"internal_labor_hours":1,"internal_labor_eur":60,"total_eur":66.73},
|
|
{"period":"2027-08","database_gb":14.266,"stored_gb":457.968,"wal_gb":30,"restore_egress_gb":5,"write_requests":2500,"read_requests":1000,"infrastructure_eur":7.35,"internal_labor_hours":1,"internal_labor_eur":60,"total_eur":67.35}
|
|
]
|
|
}
|