90-day Glacier lifecycle (Scaleway minimum). Smoke PUT/GET recorded. V4-Flash collect remains T09. Assistant: grok Assistant-Session: 01a09c6a-1cfc-75b1-a78d-c13eaf22241d
5.1 KiB
Decision: Scaleway object storage as the open-weight reserve
Date: 2026-09-13
Status: accepted
Affects: docs/backup-storage-policy.md, inventory/collection-policy.md,
docs/hardware-envelope.md, scripts/collect_model.py, FI-WP-0004
Supersedes (storage backend only):
docs/decisions/2026-07-24-nas-strategic-reserve.md § storage facility.
The capability-first rule from that decision stands.
Decision
-
Source of truth for weight blobs is a dedicated Scaleway Object Storage bucket in
nl-ams, operated asreef-storage, consumed by this repo. Git still holds catalog metadata only. -
VAULT HD (
D:\vault\coulomb\freedom-intelligence\) is staging and optional local R-spine cache. It is not the strategic envelope. -
Storage class follows tier:
- R (runnable spine): One Zone IA — cheap, GET is immediate.
- S (strategic): Glacier — cheapest just-in-case; restore cost and latency are acceptable.
- W: only with euro-budget headroom; One Zone IA or Glacier by size.
-
Capacity gate is euros/month, not a 850 GiB disk quota. The 850 / 920 GiB numbers were a 1 TB NAS artifact. Usage-based object storage removes that wall. Soft infrastructure budget: €15 / month (ex VAT) for this bucket. Founder Scaleway billing alert remains the hard backstop (
RESOURCE-WP-0002). -
Do not reuse
railiance-platform-pg-backup. That bucket expires objects at 30 days. Model weights must not.
Why Scaleway (economics)
Org already selected Scaleway over Hetzner / Host Europe for S3
(resource-control RESOURCE-WP-0002, 2026-08-14). Same project, same
failure domain independence from Host Europe railiance01.
Prices from Scaleway storage pricing as of 2026-09-13, ex tax:
| Class | € / GB-month | 45 GiB (R spine) | 167 GiB (V4-Flash) | 1454 GiB (Kimi K3) |
|---|---|---|---|---|
| Multi-AZ Standard | ~0.0146 | €0.66 | €2.44 | €21.23 |
| One Zone IA | ~0.012 | €0.54 | €2.00 | €17.45 |
| Glacier | ~0.00254 | €0.11 | €0.42 | €3.69 |
Glacier restore to Standard is €0.009/GB (V4-Flash restore ≈ €1.50; K3 restore ≈ €13). Ingress is included. Egress is 75 GB/month free, then €0.01/GB — relevant when we actually pull a giant to a GPU host, not when we park it.
Portfolio that the 850 GiB NAS could not hold:
| Item | Class | Est. monthly |
|---|---|---|
| R-spine resident (One Zone IA) | R | €0.54 |
| DeepSeek-V4-Flash-0731 (Glacier) | S | €0.42 |
| Kimi K3 official tree (Glacier) | S | €3.69 |
| Total | ~€4.65 |
That is inside the €15 soft budget with room for a second compressed giant or a Qwen3.8-27B R upgrade. Buying another multi-TB disk to fit K3 would spend the same money in a year and stay on the workstation failure domain.
VAULT remains useful: sequential staging for huggingface_hub
downloads, and a local copy of the R-spine if the workstation is
doing inference. It is no longer the thing INTENT means by “reserve.”
Bucket contract
| Field | Value |
|---|---|
| Provider | Scaleway Object Storage |
| Region | nl-ams |
| Endpoint | https://s3.nl-ams.scw.cloud |
| Bucket (planned) | railiance-fi-open-weight-reserve |
| Reef attributes | reef-storage/substrate/object-stores/fi-open-weight-reserve.yaml |
| Public access | disabled |
| Versioning | on |
| Object expiry | none |
| 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 |
Prefix layout
s3://railiance-fi-open-weight-reserve/
├── models/{org}__{name}/{revision}/ # R / W (One Zone IA at PUT)
├── strategic/{org}__{name}/{revision}/ # S (Glacier via lifecycle)
├── companions/
├── staging/ # incomplete uploads; purge after 14d
└── manifests/{org}__{name}/{revision}/MANIFEST.json
Each prefix maps to one catalog YAML. collection.storage_path is the
s3:// URI, not a VAULT path.
What stays from 2026-07-24
- Run envelope ≠ reserve envelope.
- License and integrity first.
- Catalog in git, blobs off git.
- No public mirror, no closed weights.
- R-spine always kept; S is a small number of top open identities.
What changes
| Before | After |
|---|---|
| Facility = workstation VAULT HD | Facility = Scaleway nl-ams |
| Soft quota 850 GiB | Soft budget €15/month |
| K3 deferred on capacity | K3 economically in-scope on Glacier |
| V4-Flash uncollectable-as-12B | V4-Flash (~167 GiB MIT MoE) is the first S pull |
Follow-ups
- FI-WP-0004-T01 this file
- FI-WP-0004-T08 operator creates the bucket
- FI-WP-0004-T09 first collect: DeepSeek-V4-Flash-0731
- resource-control inventory record (optional; FI consumes, resource-control costs)