omnigraph/crates
aaltshuler bf8cc7a753 feat(cluster): graph-create recovery sidecars and sweep
RFC-004 §D2/§D3 for the graph_create kind. RecoverySidecar records intent
under __cluster/recoveries/{ulid}.json; the roll-forward-only sweep runs at
the start of apply/refresh/import under the state lock and classifies each
survivor by observation: root absent -> intent removed (row 1); outcome
already recorded -> retired (row 2); create completed but state stale ->
ledger rolled forward with a recovery_records audit entry (row 4); partial
root -> Error/graph_create_incomplete, kept, never auto-deleted (row 5);
unexpected schema -> Drifted/actual_applied_state_pending, kept (row 6).
Sweep mutations ride the command's existing CAS write; completed sidecars
are deleted only after that write lands. Read-only status/plan warn
(cluster_recovery_pending) without acting. The apply payload gate now counts
only payload-phase errors so kept-sidecar diagnostics don't abort the run
before their statuses persist.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 04:50:42 +03:00
..
omnigraph (feat) convert engine call sites to &dyn TableStorage; demote legacy TableStore methods to pub(crate) (#86) 2026-06-09 23:03:08 +02:00
omnigraph-cli refactor(cluster): make apply_config_dir async 2026-06-10 04:43:38 +03:00
omnigraph-cluster feat(cluster): graph-create recovery sidecars and sweep 2026-06-10 04:50:42 +03:00
omnigraph-compiler release: v0.6.2 2026-06-09 15:59:59 +02:00
omnigraph-policy release: v0.6.2 2026-06-09 15:59:59 +02:00
omnigraph-server release: v0.6.2 2026-06-09 15:59:59 +02:00