Build the Rust organizational graph platform - #2058
Merged
Merged
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Hard boundaries
Read authority
The Rust API resolves a one-hop root, its bounded edges, and the graph revision in one tenant-scoped Neo4j query. The batch route accepts one tenant and at most 100 roots. Missing roots are omitted, ambiguous aliases fail closed, and the Go adapter rejects cross-tenant entities, duplicate agent keys, unrequested roots, and edges outside the returned neighborhood.
The Go compatibility store remains available only for raw Cypher callers. Product neighborhood reads fail closed if the Rust graph is unavailable.
Exact-image Rust proof
The candidate release now runs one disposable end-to-end scenario against the exact signed image digest before stable promotion:
The proof emits
cerebro.rust-organizational-e2e/v1, binds the receipt to the image digest, and attaches it to that digest as a signed attestation. Stable promotion verifies the receipt hash, commit, digest, status, ten passed checks, and attestation before publishing the release.Performance
On the same local five-sample, 300 ms corpus:
The one-hop HTTP path moved from 6.347 ms/request to 1.712 ms/request at concurrency 1. At concurrency 16 it moved from 1,085.7 to 3,939.5 requests/second.
Seven sequential one-hop durable reads took 27.251 ms per set. One seven-root query took 2.588 ms per set.
On an isolated AWS
m7g.xlargewith PostgreSQL 16 and Neo4j 5 on loopback, the median 1,000-record durable commit plus projection moved from 1,137.3 ms to 176.1 ms, a 6.46x throughput increase. Eight concurrent 100-record tenant commits moved from 284.3 ms to 151.5 ms, a 1.88x increase. Each revision ran three times on the same warm stores.Methods and caveats are in
docs/engineering/rust-organizational-platform-benchmarks.md.Validation
cargo clippy --locked --workspace --all-targets -- -D warningscargo test --locked --workspace --all-targetsThis pull request contains the portable runtime, contracts, and release proof. It does not claim a production deployment.