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:
tegwick 2026-08-14 09:28:44 +02:00
parent 54dd45c926
commit 2c2a6073ff
63 changed files with 4662 additions and 69 deletions

View file

@ -104,7 +104,7 @@ with an explicit correlated-failure decision and an independent second copy.
```task
id: RESOURCE-WP-0002-T01
status: todo
status: progress
priority: high
state_hub_task_id: "f578a9ec-dbdb-4b26-93bc-e53f7bc87ad1"
```
@ -121,11 +121,38 @@ Do not compare only advertised price per GB.
Done when the demand forecast and cost model can calculate effective monthly
cost for A, B, and C under the same scenarios.
Progress 2026-08-10: added a timestamped live database/WAL observation,
low/base/high 12-month inputs, and a tested fail-closed calculator in
`data/`, `tools/cost_model.py`, and
`docs/evidence/RESOURCE-WP-0002-demand-and-cost-model-2026-08-10.md`.
Scaleway and in-quota Hetzner costs calculate. Host Europe remains deliberately
`null` until a current account quote exists; Hetzner excess pricing is also
required before its high scenario and full exit can calculate.
Expanded 2026-08-10: added 1/2/3-node self-managed Garage estimates for Host
Europe and Hetzner plus managed AWS S3, Azure Blob, Google Cloud Storage, and
STACKIT Object Storage price points. Fixed-capacity VM options fail closed when
forecast demand exceeds usable replicated capacity. Currency conversion,
request charges, setup labor, recurring operations, and topology limitations
are explicit in
`docs/evidence/RESOURCE-WP-0002-expanded-storage-comparison-2026-08-10.md`.
Refined 2026-08-10: every quote now separates monthly infrastructure from
internal operations labor and internal setup from external services. Added a
normalized 320 GB running-cost view so bundled, fixed-capacity, and elastic
products compare on the same stored volume and request/restore pattern.
Control refinement 2026-08-10: added an immutable 12-month forecast record,
monthly actual-observation schema, and variance calculator covering stored
bytes, database size, WAL, requests, restore egress, invoice cost, and internal
labor. `docs/forecast-actual-control.md` defines error thresholds, evidence,
revision discipline, and the three-month recalibration loop.
## T02 — Complete provider due diligence
```task
id: RESOURCE-WP-0002-T02
status: todo
status: progress
priority: high
state_hub_task_id: "6dedb8db-c08f-4b58-90f2-32b1ea832d98"
```
@ -144,6 +171,14 @@ object-lock behavior, and provider status visibility.
Done when every acceptance requirement has evidence, `unknown`, or a blocking
answer for each provider—no blank cells and no marketing inference.
Progress 2026-08-10: completed the public-primary-source evidence matrix in
`docs/evidence/RESOURCE-WP-0002-provider-due-diligence-2026-08-10.md` and added
a provisional Scaleway inventory record. Host Europe current S3 orderability
and commercial terms require written account-support evidence. Scaleway is the
provisional primary because it documents Multi-AZ service, durability, S3
features, and managed at-rest encryption; selection still requires a live
Barman preflight, contract review, and human approval.
## T03 — Select and procure the primary resource
```task