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
{
2026-08-15 02:47:31 +02:00
"schema_version" : "0.3" , "record_scope" : "inventory" ,
2026-08-14 13:15:02 +02:00
"id" : "resource:tenant:coulomb:coulomb-social" ,
"financial_entity_id" : "entity:coulomb" ,
"procuring_entity_id" : "entity:railiance" ,
"entity_gap" : null ,
2026-08-15 02:47:31 +02:00
"description" : "Coulomb Social production deployment on reef-railiance. Railiance procures the runtime; Coulomb is the financial consumer." ,
"decision" : {
"status" : "gap" ,
"chosen" : "Live discovered tenant workload; no formal procurement decision in this repo" ,
"rejected" : [ ] ,
"approved_by" : null ,
"approved_on" : null ,
"ref" : "/home/worsch/coulomb-social/INTENT.md"
} ,
"operational_refs" : [
"reef:railiance/declarations/reef.yaml"
] ,
"credential_handles" : [ ] ,
"consumers" : {
"potential" : [ "coulomb-social" ] ,
"actual" : [ "coulomb-social" ]
} ,
2026-08-14 13:15:02 +02:00
"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" : "active" , "management_model" : "shared_capacity" ,
"provider" : { "name" : "Railiance" , "account_ref" : null , "product_ref" : "coulomb-social" , "provider_resource_id" : "kubernetes:coulomb-social/deployment/coulomb-social" } ,
"service" : { "name" : "Coulomb Social production" , "service_id" : "coulomb-social" , "class" : "tenant application" , "capacity_model" : "shared" } ,
"location" : { "region" : null , "country" : null , "failure_domains" : [ "cluster:reef-railiance" , "host:railiance01" ] , "residency" : null } ,
"capacity" : [ { "metric" : "replicas" , "value" : 1 , "unit" : "count" , "kind" : "observed" , "observed_at" : "2026-08-11" } ] ,
"ownership" : { "owner" : "coulomb-social" , "environment" : "production" , "workload_ids" : [ "coulomb-social" ] , "tenant_id" : "tenant:coulomb" , "allocation" : { "mode" : "dedicated" , "cost_attribution_key" : "resource:tenant:coulomb:coulomb-social" , "driver" : "direct-workload" , "method_version" : "direct-v1" } } ,
"cost" : { "currency" : "EUR" , "tax_status" : "not_applicable" , "billing_model" : "allocated share of cluster, database, ingress, identity dependencies, and operations labor; values unknown" , "commitment_ref" : null , "price_evidence" : null } ,
"lifecycle" : { "proposed_on" : null , "ordered_on" : null , "commissioned_on" : "2026-08-09" , "renews_on" : null , "cancel_by" : null , "retired_on" : null , "exit_path" : "Deploy the application and restore tenant data on replacement capacity, verify identity and health paths, switch app.coulomb.social, then retire the old release." } ,
"relationships" : [ { "type" : "hosted_on" , "resource_id" : "resource:railiance:reef-railiance:k3s" } , { "type" : "depends_on" , "resource_id" : "resource:railiance:apps-pg" } ] ,
"requirements" : [ { "kind" : "security" , "ref" : "/home/worsch/coulomb-social/INTENT.md" } ] ,
"evidence" : [
{ "kind" : "telemetry" , "ref" : "kubernetes:reef-railiance/coulomb-social/deployment/coulomb-social@2026-08-11" , "observed_at" : "2026-08-11" , "authority" : "reef-railiance Kubernetes API" } ,
{ "kind" : "workload" , "ref" : "/home/worsch/railiance-apps/helm/coulomb-social-values.yaml" , "observed_at" : "2026-08-11" , "authority" : "railiance-apps" } ,
{ "kind" : "workload" , "ref" : "/home/worsch/coulomb-social/INTENT.md" , "observed_at" : "2026-08-11" , "authority" : "coulomb-social" }
]
}