First delegated evidence from RESOURCE-WP-0003-T04 to land. railiance-platform delivered apps-pg capacity, utilization, consumers, and the apps-pg-dbbytes-v1 allocation driver, and correctly delivered no EUR. - data/resources/apps-pg.json: real capacity; allocation unattributed -> shared under apps-pg-dbbytes-v1; second consumer vergabe-teilnahme registered - data/control-cycle/apps-pg-2026-09-base.json: first operational control-cycle record in the repository - examples/control-cycle/apps-pg-*.json retired; the invented fixture collided with the real record's identifier - data/portfolio-coverage-2026-08-14.json: gap marked delivered with three residual unknowns still open The real evidence exposed a design gap in the T05 schema: v0.1 required a number for every cost field, so recording genuine usage without a booked cost meant inventing one. Schema 0.2 permits null costs, null unattributed_eur, a technical unattributed_share, and null measurements. Null is unknown, never zero; an unknown component makes the total null rather than the sum of the known parts; and the comparator classifies unknown amounts as data_quality instead of computing a variance. Existing 0.1 records are not rewritten. apps-pg is now measured (idle at 5.8% of volume) and attributed, and remains unpriced: delivered technical evidence does not create a booked cost. 86 tests pass. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
69 lines
2.8 KiB
JSON
69 lines
2.8 KiB
JSON
{
|
|
"schema_version": "0.2",
|
|
"record_id": "forecast:apps-pg:2026-09:base:v1",
|
|
"record_type": "forecast",
|
|
"resource_id": "resource:railiance:apps-pg",
|
|
"resource_class": "shared_platform_service",
|
|
"period": "2026-09",
|
|
"created_at": "2026-08-14T00:00:00Z",
|
|
"scenario": "base",
|
|
"forecast_ref": null,
|
|
"revision_of": null,
|
|
"usage_proxies": {
|
|
"consumer_database_gb": { "value": 0.0155, "unit": "GiB" },
|
|
"pgdata_gb": { "value": 0.5766, "unit": "GiB" },
|
|
"wal_gb": { "value": 0.5469, "unit": "GiB" },
|
|
"sessions": { "value": 7, "unit": "count" }
|
|
},
|
|
"capacity": {
|
|
"model": "hybrid",
|
|
"provisioned": {
|
|
"storage": { "value": 10, "unit": "GiB" },
|
|
"instances": { "value": 1, "unit": "count" },
|
|
"max_connections": { "value": 100, "unit": "count" }
|
|
},
|
|
"used": {
|
|
"storage": { "value": 0.5766, "unit": "GiB" },
|
|
"instances": { "value": 1, "unit": "count" },
|
|
"sessions": { "value": 7, "unit": "count" }
|
|
}
|
|
},
|
|
"costs": {
|
|
"currency": "EUR",
|
|
"infrastructure": null,
|
|
"internal_labor": 30.0,
|
|
"external_labor": 0,
|
|
"total": null,
|
|
"booked_cost_refs": []
|
|
},
|
|
"allocation": {
|
|
"method": "proportional",
|
|
"driver": "database_gb",
|
|
"method_version": "apps-pg-dbbytes-v1",
|
|
"unattributed_eur": null,
|
|
"unattributed_share": 0.948
|
|
},
|
|
"service_constraints": {
|
|
"rpo_minutes": { "value": null, "unit": "minutes" },
|
|
"rto_minutes": { "value": null, "unit": "minutes" }
|
|
},
|
|
"uncertainty": {
|
|
"level": "high",
|
|
"notes": [
|
|
"First operational control-cycle record for this resource, from railiance-platform RAILIANCE-WP-0016 captured 2026-08-14T00:04:19Z",
|
|
"Infrastructure cost is null: apps-pg is a share of resource:hosteurope:railiance01, whose booked price is unknown (RAIL-HO-WP-0008)",
|
|
"Internal labour is 0.5 declared operator-hours per month converted at the EUR 60 per hour rate used in data/demand/platform-audit-storage.json; the hours are an estimate, not a timesheet",
|
|
"Total is null because one component is unknown; it is not the sum of the known parts",
|
|
"94.8 percent of used volume is WAL and engine catalogs attributed to platform:apps-pg-overhead, not to a consumer",
|
|
"vergabe_db has never recorded a transaction, so its 0.4614 byte share reflects a reserved empty database rather than realised demand",
|
|
"Five days of cluster life and no metrics retention: this is a snapshot carried forward, not a trend",
|
|
"RPO is unbounded and RTO undefined — no ScheduledBackup exists and the cluster is not an Option A logical-dump target"
|
|
]
|
|
},
|
|
"evidence": [
|
|
"/home/worsch/railiance-platform/docs/evidence/RAILIANCE-WP-0016-apps-pg-observation.json",
|
|
"/home/worsch/railiance-platform/docs/evidence/RAILIANCE-WP-0016-apps-pg-resource-evidence.md",
|
|
"RAILIANCE-WP-0016",
|
|
"data/resources/apps-pg.json"
|
|
]
|
|
}
|