omnigraph/crates
aaltshuler 15868972ff feat(cluster): verify catalog payload blobs in status and refresh
Closes the Stage 3A product gap where a deleted or corrupted blob under
__cluster/resources/ went unnoticed forever (status reported converged and
apply could not repair it because the digests matched).

verify_catalog_payloads checks every query/policy digest in state against its
content-addressed blob (existence + full sha256 re-hash; graph/schema/unknown
addresses have no payloads and are skipped). status reports findings read-only
(warnings catalog_payload_missing/_mismatch; error catalog_payload_read_error
— an unverifiable catalog must not report healthy). refresh closes the
self-heal loop: missing/mismatched blobs mark the resource drifted and remove
its digest from state so the next plan proposes a create and the next apply
republishes; unreadable blobs keep the digest (no spurious republish), mark
error, and exit non-zero. Verification runs before graph observation so the
recomputed graph composite already excludes removed query digests.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 02:07:08 +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 test(cli): cluster e2e hardening — lost-state recovery, out-of-band drift, root destruction, multi-graph convergence (#166) 2026-06-10 00:59:20 +03:00
omnigraph-cluster feat(cluster): verify catalog payload blobs in status and refresh 2026-06-10 02:07:08 +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