omnigraph/crates/omnigraph/tests
aaltshuler f48e69b999 feat(storage): versioned CAS, conditional replace, and prefix delete on StorageAdapter
Three primitives the cluster's object-storage port (RFC-006) needs, on the
engine's existing adapter rather than a parallel store:

- read_text_versioned: content + an opaque backend version token (S3: the
  ETag from GET; local: content sha256 — ETags don't exist on a filesystem).
- write_text_if_match: replace only when the token still matches. S3 maps to
  a conditional put (PutMode::Update / If-Match) — verified against RustFS
  beta.8 through the real object_store 0.12.5 path, no extra builder config
  needed; local compares content then swaps via temp+rename, the same
  single-machine semantics callers had before this trait (safe under their
  own lock protocol, not a cross-process barrier by itself). CAS-lost is
  Ok(None), never silent.
- delete_prefix: recursive + idempotent (local remove_dir_all; S3 list +
  delete, with the non-atomicity documented for crash-retry callers).

Gated S3 coverage: s3_adapter_conditional_writes_contract pins the
conditional-write behavior the cluster ledger will depend on (red if a
backend bump regresses it), and s3_schema_apply_migrates_live_graph closes
the previously-untested schema-apply-on-S3 path before the cluster's schema
executor leans on it. Engine gains the sha2 workspace dep.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 05:09:45 +03:00
..
fixtures feat(engine): indexed graph traversal (#149) 2026-06-09 18:09:13 +02:00
helpers (feat) convert engine call sites to &dyn TableStorage; demote legacy TableStore methods to pub(crate) (#86) 2026-06-09 23:03:08 +02:00
aggregation.rs Implement aggregate execution with wide-batch model 2026-04-12 20:59:13 +00:00
branching.rs fix(loader): enforce composite @unique(a, b) as a true composite key (#133) 2026-06-09 17:17:31 +03:00
changes.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
composite_flow.rs fix: optimize publishes compaction; recovery roll-back converges manifest (#141) 2026-06-08 02:50:12 +03:00
consistency.rs (feat) convert engine call sites to &dyn TableStorage; demote legacy TableStore methods to pub(crate) (#86) 2026-06-09 23:03:08 +02:00
end_to_end.rs fix: optimize publishes compaction; recovery roll-back converges manifest (#141) 2026-06-08 02:50:12 +03:00
export.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
failpoints.rs (feat) convert engine call sites to &dyn TableStorage; demote legacy TableStore methods to pub(crate) (#86) 2026-06-09 23:03:08 +02:00
forbidden_apis.rs (feat) convert engine call sites to &dyn TableStorage; demote legacy TableStore methods to pub(crate) (#86) 2026-06-09 23:03:08 +02:00
lance_surface_guards.rs feat(engine): indexed graph traversal (#149) 2026-06-09 18:09:13 +02:00
lance_version_columns.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
lifecycle.rs (feat): multi-graph server mode (#119) 2026-05-28 16:19:31 +02:00
literal_filters.rs feat(engine): indexed graph traversal (#149) 2026-06-09 18:09:13 +02:00
maintenance.rs fix(maintenance): route uncovered drift through repair (#156) 2026-06-09 14:42:54 +02:00
merge_truth_table.rs feat(engine): indexed graph traversal (#149) 2026-06-09 18:09:13 +02:00
ordering.rs feat(engine): indexed graph traversal (#149) 2026-06-09 18:09:13 +02:00
point_in_time.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
policy_engine_chassis.rs feat(engine): unify load/ingest — load_as gains an optional fork base 2026-06-11 03:53:22 +03:00
proptest_equivalence.rs feat(engine): indexed graph traversal (#149) 2026-06-09 18:09:13 +02:00
recovery.rs (feat) convert engine call sites to &dyn TableStorage; demote legacy TableStore methods to pub(crate) (#86) 2026-06-09 23:03:08 +02:00
s3_storage.rs feat(storage): versioned CAS, conditional replace, and prefix delete on StorageAdapter 2026-06-11 05:09:45 +03:00
schema_apply.rs Rename repo terminology to graph (#118) 2026-05-24 16:46:00 +01:00
search.rs feat(engine): indexed graph traversal (#149) 2026-06-09 18:09:13 +02:00
staged_writes.rs (feat) convert engine call sites to &dyn TableStorage; demote legacy TableStore methods to pub(crate) (#86) 2026-06-09 23:03:08 +02:00
traversal.rs feat(engine): indexed graph traversal (#149) 2026-06-09 18:09:13 +02:00
traversal_indexed.rs feat(engine): indexed graph traversal (#149) 2026-06-09 18:09:13 +02:00
validators.rs (feat): multi-graph server mode (#119) 2026-05-28 16:19:31 +02:00
writes.rs (feat) convert engine call sites to &dyn TableStorage; demote legacy TableStore methods to pub(crate) (#86) 2026-06-09 23:03:08 +02:00