BE-848: atlas: visibility resolution and the request scene - #9712
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## bm/be-847-atlas-store-hydration-and-the-generation-runtime #9712 +/- ##
==============================================================================================
+ Coverage 68.99% 69.13% +0.14%
==============================================================================================
Files 1134 1141 +7
Lines 103804 104260 +456
Branches 5127 5147 +20
==============================================================================================
+ Hits 71615 72084 +469
+ Misses 31300 31290 -10
+ Partials 889 886 -3
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
f6fdb99 to
eca839a
Compare
eca839a to
cc55383
Compare
cc55383 to
6230622
Compare
PR SummaryHigh Risk Overview
Also adds Reviewed by Cursor Bugbot for commit 8db3ec5. Bugbot is set up for automated code reviews on this repo. Configure here. |
6230622 to
c2e91fb
Compare
c2e91fb to
8db3ec5
Compare
🌟 What is the purpose of this PR?
Add visibility resolution and the request scene. A resolver turns a request's visibility into a mask once, a cache keeps it under one budget shared across all generations, and a
Scenecaptures it together with the world, the epoch and the delivery schedule. Every document a request produces comes from that one snapshot.The module stays dead code under the
lib.rsattribute until the read API consumes it (BE-815).For review, the properties this stands on:
DeltaId, so a retired generation's misses cannot resolve a fresh scope.Sceneonce and every read goes through it.🔍 What does this change?
serve/visibility/resolver/:ScopeResolverandVisibilityActor, resolving an actor's filter into aVisibilityMask.serve/visibility/cache/:VisibilityCachewithCacheKey,CacheEntry, the pending entry for an in-flight resolution, andFilterDigest.serve/scene.rs:Sceneover a world, an epoch, a mask and a delivery schedule.serve/membership/andserve/neighbourhood/: ontology membership and selection, and theNeighbourhoodProviderbehind edge delivery.❓ How to test this?
cargo nextest run -p hash-graph-atlas --all-features serve::visibility::runs the resolver and cache tests.serve/scene.rs, thenserve/visibility/cache/mod.rs.Pre-Merge Checklist 🚀
🚢 Has this modified a publishable library?
This PR:
📜 Does this require a change to the docs?
The changes in this PR:
🕸️ Does this require a change to the Turbo Graph?
The changes in this PR: