docs(rfc): RFC-006 — object-storage-native omnigraph

The migration design making object storage THE deployment model: a sealed
ClusterStore interface (object_store-backed) replaces every raw-fs call in
the cluster crate; cluster.yaml gains a storage: root (s3://... — state
ledger via conditional-put CAS, cross-machine locking, catalog/sidecars/
approvals as objects, derived graph roots as engine-native S3 URIs); the
server takes --cluster s3://... and cluster deployments become stateless
(bucket, no volume). Config files stay in the working tree — Terraform's
config-local/state-remote split. Local FS is demoted, not deleted: one
interface, file:// as an explicit dev/test backend, S3-first everywhere in
docs, storage: required at the v0.9 boundary.

Grounded: conditional writes (If-None-Match and If-Match) verified live
against RustFS 1.0.0-beta.8 — both probes pass; Lance 6 already commits via
S3 conditional writes; Omnigraph::init/open accept S3 URIs today. Staged
A-D with sizes and the migrate-storage cutover tool.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
aaltshuler 2026-06-11 04:48:06 +03:00
parent 328bfef6fb
commit a3a8b33b09
2 changed files with 194 additions and 0 deletions

View file

@ -76,6 +76,7 @@ Working documents for in-flight feature work. Removed when the work lands.
| Future cluster control plane — declarative as-code config, JSON state ledger, reconciler | [cluster-config-specs.md](cluster-config-specs.md), [cluster-axioms.md](cluster-axioms.md), [cluster-config-implementation-spec.md](cluster-config-implementation-spec.md) |
| Cluster graph & schema apply — Phase 4 sidecars, roll-forward recovery, approval artifacts | [rfc-004-cluster-graph-schema-apply.md](rfc-004-cluster-graph-schema-apply.md) |
| Server boots from cluster state — Phase 5 mode switch, applied-revision serving | [rfc-005-server-cluster-boot.md](rfc-005-server-cluster-boot.md) |
| Object-storage-native migration — S3-first cluster, local-FS deprecation | [rfc-006-object-storage-native.md](rfc-006-object-storage-native.md) |
## Boundary