Repository navigation
Reduce journal edit and sync I/O amplification - #54
Merged
Merged
Conversation
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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
Small Capture/edit/status operations rewrote the entire durable outbox and read unrelated page members for confirmation. Graph and sync notification bursts also replaced in-flight work and reread hidden media roots. This change reduces those writes and queries while retaining durable completion, snapshot consistency, and conservative recovery.
Validation: public production-owner regressions failed before implementation, then passed; final
dune build @all app/native_embed.exe.oanddune runtest --forceboth passed. Focused evidence includes 46 storage cases, 85 graph Runtime cases, 10 actual Worker cases, 86 sync cases, and 24 new media/offline owner cases. SQL audit counts for N=1000 append operations fall from 1,000,000 queue-row changes to 1000; Capture confirmation with 201 children uses five pages despite 1000 unrelated siblings; 64 retained media roots with two active issue two reads, with 32 further notifications adding no in-flight request; opening + Hello + 100 Changed effects fall from 102 pulls to one.These are synthetic logical SQL/request counters, not physical WAL/SSD bytes or device timings. Outbox encoding/map work still traverses N records; children membership digests and legacy caches retain existing CPU costs. Active media roots conservatively refresh because block/structure/known-reference summaries cannot prove complete negative or ancestor dependencies. Offline clean stale failure remains visible with committed demand retained until graph invalidation/configuration replacement. The private Application late-resync binding was reviewed in source and compiled; public Runtime tests do not directly execute that binding.
No protected
spec/*.mlior Dune changes. The four new implemented decision documents validate;spec-dev-tool check --allstill reports missing sections in two unchanged historical decisions. F4/F6/F7, real graph/account/phone/GUI testing, and merge are outside this change.