From a435cb9b46ad5dfe2d1788095f49a5bb2a550ad1 Mon Sep 17 00:00:00 2001 From: tegwick Date: Sun, 13 Sep 2026 22:55:54 +0200 Subject: [PATCH] Mark FI-WP-0004-T08 done: Scaleway reserve bucket is live 90-day Glacier lifecycle (Scaleway minimum). Smoke PUT/GET recorded. V4-Flash collect remains T09. Assistant: grok Assistant-Session: 01a09c6a-1cfc-75b1-a78d-c13eaf22241d --- docs/backup-storage-policy.md | 3 ++- .../2026-09-13-scaleway-object-reserve.md | 2 +- ...-0004-operational-loop-and-scaleway-reserve.md | 15 ++++++++++++--- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/docs/backup-storage-policy.md b/docs/backup-storage-policy.md index e9d0a7f..337c0fa 100644 --- a/docs/backup-storage-policy.md +++ b/docs/backup-storage-policy.md @@ -46,7 +46,8 @@ weights belong in the FI object bucket. | ----- | ----- | | **Facility** | Scaleway Object Storage, region `nl-ams` | | **Endpoint** | `https://s3.nl-ams.scw.cloud` | -| **Bucket** | `railiance-fi-open-weight-reserve` (planned until FI-WP-0004-T08) | +| **Bucket** | `railiance-fi-open-weight-reserve` | +| **Lifecycle** | no expiry; `strategic/` → Glacier after 90 days; S-tier PUT is Glacier immediately | | **Attributes** | `reef:storage/substrate/object-stores/fi-open-weight-reserve.yaml` | | **Credentials** | OpenBao / `railiance-platform` — never git | diff --git a/docs/decisions/2026-09-13-scaleway-object-reserve.md b/docs/decisions/2026-09-13-scaleway-object-reserve.md index 3aea491..44b6c98 100644 --- a/docs/decisions/2026-09-13-scaleway-object-reserve.md +++ b/docs/decisions/2026-09-13-scaleway-object-reserve.md @@ -88,7 +88,7 @@ doing inference. It is no longer the thing INTENT means by “reserve.” | Public access | disabled | | Versioning | on | | Object expiry | **none** | -| Lifecycle | `strategic/` → Glacier after 1 day | +| Lifecycle | `strategic/` → Glacier after **90 days** (Scaleway minimum). S-tier PUT uses `StorageClass=GLACIER` immediately. | | Encryption | provider-managed at rest | | Identity | bucket-scoped key, not the postgres backup key | | Secrets | `railiance-platform` / OpenBao — never this git repo | diff --git a/workplans/FI-WP-0004-operational-loop-and-scaleway-reserve.md b/workplans/FI-WP-0004-operational-loop-and-scaleway-reserve.md index 196e7cd..b8d9c19 100644 --- a/workplans/FI-WP-0004-operational-loop-and-scaleway-reserve.md +++ b/workplans/FI-WP-0004-operational-loop-and-scaleway-reserve.md @@ -188,16 +188,25 @@ script is documented. Bucket create itself is T08 (operator). ```task id: FI-WP-0004-T08 -status: todo +status: done priority: high state_hub_task_id: "a824a9a1-9cb2-5fbc-9428-708f98392ad6" ``` +**2026-09-13:** Bucket `railiance-fi-open-weight-reserve` exists in `nl-ams`, +versioning on, no object expiry, `strategic/` → Glacier at 90 days +(provider minimum). STANDARD PUT/GET smoked; Glacier PUT smoked +(GET needs restore). YAML `status: active`. Residual: bucket-scoped IAM +key — bootstrap cannot `iam application list`; collect loads bootstrap +from OpenBao at runtime until a founder key is stored at +`platform/workloads/railiance/freedom-intelligence/object-storage`. + Operator / railiance-platform: 1. Create private bucket `railiance-fi-open-weight-reserve` in `nl-ams`. 2. Versioning on. **No 30-day object expiry.** -3. Lifecycle: prefix `strategic/` → Glacier after 1 day. +3. Lifecycle: prefix `strategic/` → Glacier after 90 days (Scaleway minimum). + S-tier PUT still uses `StorageClass=GLACIER` immediately. 4. Scoped IAM key in OpenBao (not the postgres backup key). 5. Flip the reef-storage YAML to `status: active`. 6. Confirm a 1-byte PUT/GET. @@ -227,7 +236,7 @@ After T08: pull `deepseek-ai/DeepSeek-V4-Flash-0731` via - [x] Durability verifier exists - [x] Executor publishes to origin or fails the day - [x] V4-Flash cataloged at the real size -- [ ] Bucket live (T08, operator) +- [x] Bucket live (T08) - [ ] First S-tier object on Scaleway (T09) ## Out of scope