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
This commit is contained in:
tegwick 2026-09-13 22:55:54 +02:00
parent 6bf9d28c57
commit a435cb9b46
3 changed files with 15 additions and 5 deletions

View file

@ -46,7 +46,8 @@ weights belong in the FI object bucket.
| ----- | ----- | | ----- | ----- |
| **Facility** | Scaleway Object Storage, region `nl-ams` | | **Facility** | Scaleway Object Storage, region `nl-ams` |
| **Endpoint** | `https://s3.nl-ams.scw.cloud` | | **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` | | **Attributes** | `reef:storage/substrate/object-stores/fi-open-weight-reserve.yaml` |
| **Credentials** | OpenBao / `railiance-platform` — never git | | **Credentials** | OpenBao / `railiance-platform` — never git |

View file

@ -88,7 +88,7 @@ doing inference. It is no longer the thing INTENT means by “reserve.”
| Public access | disabled | | Public access | disabled |
| Versioning | on | | Versioning | on |
| Object expiry | **none** | | 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 | | Encryption | provider-managed at rest |
| Identity | bucket-scoped key, not the postgres backup key | | Identity | bucket-scoped key, not the postgres backup key |
| Secrets | `railiance-platform` / OpenBao — never this git repo | | Secrets | `railiance-platform` / OpenBao — never this git repo |

View file

@ -188,16 +188,25 @@ script is documented. Bucket create itself is T08 (operator).
```task ```task
id: FI-WP-0004-T08 id: FI-WP-0004-T08
status: todo status: done
priority: high priority: high
state_hub_task_id: "a824a9a1-9cb2-5fbc-9428-708f98392ad6" 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: Operator / railiance-platform:
1. Create private bucket `railiance-fi-open-weight-reserve` in `nl-ams`. 1. Create private bucket `railiance-fi-open-weight-reserve` in `nl-ams`.
2. Versioning on. **No 30-day object expiry.** 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). 4. Scoped IAM key in OpenBao (not the postgres backup key).
5. Flip the reef-storage YAML to `status: active`. 5. Flip the reef-storage YAML to `status: active`.
6. Confirm a 1-byte PUT/GET. 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] Durability verifier exists
- [x] Executor publishes to origin or fails the day - [x] Executor publishes to origin or fails the day
- [x] V4-Flash cataloged at the real size - [x] V4-Flash cataloged at the real size
- [ ] Bucket live (T08, operator) - [x] Bucket live (T08)
- [ ] First S-tier object on Scaleway (T09) - [ ] First S-tier object on Scaleway (T09)
## Out of scope ## Out of scope