Expose exact write receipts for mutation and load - #479
Conversation
|
Compatibility note: the embedded engine API is source-compatible because existing |
|
Addressed the embedded-ingest parity finding in ec8cc6d: the embedded arm now uses load_file_as_with_receipt and ingest_receipt_output, with a regression assertion that graph_commit_id is present. cargo check --locked -p omnigraph-cli passes. |
b173ba9 to
d1513a7
Compare
d1513a7 to
90ddfb0
Compare
90ddfb0 to
214ec2b
Compare
|
Want your agent to iterate on Greptile's feedback? Start a greploop in Claude Code and it will work through the open comments and keep going until this PR reviews clean. |
What & why
Return the exact
GraphCommitpublished by Mutation and Load through embedded, HTTP, and CLI surfaces. Callers can correlate a durable acknowledgement without rereading a branch head that may already have advanced.Scope
commit: nulland creates no graph commit.commitfields to additive JSON response DTOs and regenerates OpenAPI.This PR deliberately does not expose a public per-commit changes endpoint or ordering ABI. That belongs to RFC-030 C1/C2 with bounded cursors, retention-gap behavior, authorization, and byte/row/commit ceilings. Part of #478; this PR does not close the issue.
Invariants
The receipt comes directly from the same
__manifestCAS that makes the write visible; no branch-head reread reconstructs it. This adds no storage or recovery schema, WAL, event store, alternate publisher, or Blob-specific write path.Verification
cargo fmt --all -- --checkgit diff --checkscripts/check-agents-md.shRUST_MIN_STACK=16777216 cargo test --workspace --locked --features omnigraph-engine/failpoints,omnigraph-cluster/failpointsdata_routes42/42 andstored_queries15/15cli_data77/77,parity_matrix13/13,system_local27 passed / 1 ignoredCompatibility
The wire change is additive and optional: older servers omit
commit; newer clients preservenullfor a no-op. Existing embedded result-only APIs remain available.Greptile Summary
The PR exposes the exact manifest-published commit from mutation and load operations across embedded, HTTP, and CLI surfaces while preserving result-only compatibility methods.
Confidence Score: 5/5
The PR appears safe to merge.
No blocking failure remains; the previous writer-registration issue and embedded-ingest receipt omission are both resolved at current HEAD.
Important Files Changed
Nonefor successful zero-row mutations.GraphCommitconstructed from the successful manifest publication outcome.Sequence Diagram
sequenceDiagram participant Caller participant Surface as Embedded / HTTP / CLI participant Engine as Mutation / Load participant Manifest as __manifest CAS Caller->>Surface: Write request Surface->>Engine: Receipt-bearing method Engine->>Manifest: Publish table pointers and lineage Manifest-->>Engine: Exact GraphCommit Engine-->>Surface: Result + commit receipt Surface-->>Caller: Optional commit in responseReviews (7): Last reviewed commit: "feat(api): expose exact write receipts" | Re-trigger Greptile
Context used (3)