Repository navigation
Retain outgoing-edge range dependencies through Tick history - #917
Conversation
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 7 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Brings the branch up to main 4e801ef+ (including #917's outgoing-edge range dependencies) so the design's citations describe this tree. CHANGELOG: main's Unreleased again carried a second Added and Fixed subsection (markdownlint MD024). Their entries are folded into the existing Added and Fixed subsections; sorted content is unchanged apart from the two removed headings and their blank lines. The pre-commit hook also applied prettier to five Markdown files from main that were not formatted.
The Current implementation section, the range-read rationale, and the recovery reconstruction text still said Footprint had no range key. Since #917 it has OutgoingEdgeRange claims (r_read, r_write) in footprint and patch identities, retained through scheduling, provenance, and admission. The text now says so and states what remains: claims are declared rather than witnessed, no accessor or edge writer records them, source presence needs its own node dependency, and witnessed reads, complete effect write claims, exact-parent validation, and fresh-engine recovery are still to be built.
Preserve outgoing-edge range dependencies through scheduling, retained patches, provenance, witness encodings and admission. A declared empty range now conflicts with insertion into that source/type range, and the rejected Action records its exact blocker. Full WARP/source/type keys participate in footprint and patch identities. Existing point-slot bytes and footprints without range claims retain their previous identity streams; old decoders reject the additive range slot tag.
Historical host readings reconstruct aggregate ranges across insertions, relabels, moves and deletions, including empty versus absent source. They clone the initial state and replay the selected prefix. The storage iterator exposes its remaining bucket length without inspecting edges, allowing future bounded readers to precharge the entire bucket.
Validation: 843 default core tests before the additional bucket witness; 18 feature-enabled range tests; 7 public retained-provenance integration tests including receipt-bound commit-v3 and tamper refusal; both graph-store unit tests; workspace all-target compilation; strict all-target Clippy with native_rule_bootstrap,trusted_runtime,host_test,delta_validate,footprint_enforce_release and warnings denied. Tests first exposed missing conflicts, identity claims, aggregate reads, admission projection and Tick blocker reconstruction.
This is a completed infrastructure slice for the authored effect bridge. Claims remain explicit. Existing graph accessors and edge writers are not automatically instrumented, and source presence needs a separate node dependency. No Edict program gains graph mutation authority. Automatic witnessed reads, complete effect write claims, exact-parent effect validation and fresh-engine recovery remain required follow-up work under #889. Its designated writer retains ownership of the provisional design and acceptance language.
Canonical scheduler, tick-patch and generated-rule documents and the changelog describe the behavior and limits. No dependencies or application vocabulary are introduced.