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>
This commit is contained in:
parent
54dd45c926
commit
2c2a6073ff
63 changed files with 4662 additions and 69 deletions
67
data/resources/platform-audit-storage.proposed.json
Normal file
67
data/resources/platform-audit-storage.proposed.json
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"schema_version": "0.2",
|
||||
"record_scope": "inventory",
|
||||
"id": "resource:platform:audit-storage",
|
||||
"resource_class": "storage",
|
||||
"status": "proposed",
|
||||
"management_model": "provider_managed",
|
||||
"provider": {
|
||||
"name": "Scaleway",
|
||||
"account_ref": null,
|
||||
"product_ref": "scaleway-standard-multi-az",
|
||||
"provider_resource_id": null
|
||||
},
|
||||
"service": {
|
||||
"name": "platform audit storage",
|
||||
"service_id": "object-storage",
|
||||
"class": "Standard Multi-AZ object storage",
|
||||
"capacity_model": "elastic"
|
||||
},
|
||||
"location": {
|
||||
"region": "nl-ams",
|
||||
"country": "NL",
|
||||
"failure_domains": ["provider:scaleway", "region:nl-ams"],
|
||||
"residency": "European Union"
|
||||
},
|
||||
"capacity": [
|
||||
{"metric": "stored_data", "value": null, "unit": "GB", "kind": "unknown", "observed_at": null}
|
||||
],
|
||||
"ownership": {
|
||||
"owner": "resource-control",
|
||||
"environment": "production",
|
||||
"workload_ids": ["rapp-postgres/platform-pg"],
|
||||
"tenant_id": null,
|
||||
"allocation": {
|
||||
"mode": "dedicated",
|
||||
"cost_attribution_key": "platform:audit-storage",
|
||||
"driver": "direct-resource",
|
||||
"method_version": "direct-v1"
|
||||
}
|
||||
},
|
||||
"cost": {
|
||||
"currency": "EUR",
|
||||
"tax_status": "excluded",
|
||||
"billing_model": "usage-based storage and egress; no commitment",
|
||||
"commitment_ref": null,
|
||||
"price_evidence": "data/providers/object-storage.json#scaleway-standard-multi-az"
|
||||
},
|
||||
"lifecycle": {
|
||||
"proposed_on": "2026-08-10",
|
||||
"ordered_on": null,
|
||||
"commissioned_on": null,
|
||||
"renews_on": null,
|
||||
"cancel_by": null,
|
||||
"retired_on": null,
|
||||
"exit_path": "Copy and verify all Barman objects in an independent S3-compatible target, run full and PITR restore, revoke the scoped key, then delete source objects and bucket after evidence is durable."
|
||||
},
|
||||
"relationships": [],
|
||||
"requirements": [
|
||||
{"kind": "recovery", "ref": "workplans/RESOURCE-WP-0002-procure-postgres-backup-storage.md#acceptance-requirements"},
|
||||
{"kind": "retention", "ref": "data/demand/platform-audit-storage.json"}
|
||||
],
|
||||
"evidence": [
|
||||
{"kind": "provider", "ref": "https://www.scaleway.com/en/pricing/storage/", "observed_at": "2026-08-10", "authority": "Scaleway"},
|
||||
{"kind": "provider", "ref": "https://www.scaleway.com/en/object-storage/", "observed_at": "2026-08-10", "authority": "Scaleway"},
|
||||
{"kind": "decision", "ref": "docs/evidence/RESOURCE-WP-0002-provider-due-diligence-2026-08-10.md", "observed_at": "2026-08-10", "authority": "resource-control"}
|
||||
]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue