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
{
"schema_version" : "0.2" , "record_scope" : "example" ,
2026-08-14 13:15:02 +02:00
"id" : "resource:example:garage:cluster" ,
"financial_entity_id" : "entity:railiance" ,
"procuring_entity_id" : "entity:railiance" ,
"entity_gap" : null ,
"resource_class" : "self_managed_service" ,
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
"status" : "proposed" , "management_model" : "self_managed" ,
"provider" : { "name" : "Example IaaS provider" , "account_ref" : null , "product_ref" : "three-vm-topology" , "provider_resource_id" : null } ,
"service" : { "name" : "Garage object storage" , "service_id" : "object-storage" , "class" : "S3-compatible replicated service" , "capacity_model" : "fixed" } ,
"location" : { "region" : "example-eu" , "country" : "DE" , "failure_domains" : [ "provider:example" , "region:example-eu" ] , "residency" : "European Union" } ,
"capacity" : [ { "metric" : "usable_storage" , "value" : 320 , "unit" : "GB" , "kind" : "usable" , "observed_at" : null } , { "metric" : "nodes" , "value" : 3 , "unit" : "count" , "kind" : "provisioned" , "observed_at" : null } ] ,
"ownership" : { "owner" : "railiance-platform" , "environment" : "production" , "workload_ids" : [ ] , "tenant_id" : null , "allocation" : { "mode" : "shared" , "cost_attribution_key" : "platform:object-storage" , "driver" : "stored-gb-month" , "method_version" : "storage-share-v1" } } ,
"cost" : { "currency" : "EUR" , "tax_status" : "unknown" , "billing_model" : "fixed VM capacity plus internal operations labor" , "commitment_ref" : null , "price_evidence" : null } ,
"lifecycle" : { "proposed_on" : null , "ordered_on" : null , "commissioned_on" : null , "renews_on" : null , "cancel_by" : null , "retired_on" : null , "exit_path" : "Export objects to a verified S3-compatible target, revoke credentials, and retire nodes after consumers move." } ,
"relationships" : [ { "type" : "hosted_on" , "resource_id" : "resource:example:garage:nodes" } ] ,
"requirements" : [ { "kind" : "recovery" , "ref" : "example:restore-test-required" } ] ,
"evidence" : [ { "kind" : "example" , "ref" : "RESOURCE-WP-0003-T01" , "observed_at" : "2026-08-11" , "authority" : "resource-control" } ]
}