omnigraph/crates/omnigraph-cli
aaltshuler f4e9105272 feat(cluster): cluster approve — digest-bound approval artifacts
RFC-004 §D4, gate half: graph deletes (and their subtree) now classify
Blocked/approval_required instead of Deferred; the new cluster approve
command (requires the global --as actor) writes
__cluster/approvals/{ulid}.json bound to the desired config digest and the
change's before/after digests, so config or state drift invalidates the
artifact automatically (approval_stale warning, never authorizes). One gate
per subtree: compute_approvals lists only the graph-level delete, and
ApprovalRequirement gains a satisfied flag surfaced by plan. Consumption and
the delete executor land next — until then approved deletes stay blocked so
a gate-only build can never strip state without removing the root.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 14:30:05 +03:00
..
src feat(cluster): cluster approve — digest-bound approval artifacts 2026-06-10 14:30:05 +03:00
tests feat(cluster): cluster approve — digest-bound approval artifacts 2026-06-10 14:30:05 +03:00
Cargo.toml Merge origin/main into cluster-config-docs 2026-06-09 18:11:12 +03:00