Repository navigation
fix(ui): guard execution-history response ownership - #216
Merged
Nobody-Zhang merged 6 commits intoOct 23, 2026
Merged
Nobody-Zhang merged 6 commits into
Nobody-Zhang merged 6 commits into
Conversation
Track per-frame response ownership and invalidate reads across snapshot, session, and close/reopen boundaries. Keep stale loads from clearing current loading/errors, and preserve independent frame caches and retries. Add deterministic deferred-response regressions and browser smoke coverage; rebuild the frontend distribution and re-audit the unchanged notebook-export evidence claim. AI-assisted implementation and verification, independently reviewed by an AI reviewer. Local browser execution is blocked by sandbox Unix-socket restrictions; browser runtime validation remains for CI. The completed offline suite had 11,303 passes and two crosswalk failures; evidence digest drift was re-audited, while shallow-history ancestry remains a local verification limit.
dvd233
marked this pull request as ready for review
October 18, 2026 14:17
dvd233
requested review from
Nobody-Zhang and
difficulttopickaname
as code owners
October 18, 2026 14:17
15 tasks done
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.
Summary
Prevent older execution-history responses from replacing newer cells. Track response ownership per frame, invalidate reads at snapshot and session/state/close boundaries, and guard error/loading cleanup and follow-on log reads. Independent frames retain valid cache entries, and failed reads remain retryable.
The contribution includes 17 additional execution unit cases and a real-gateway browser regression covering reversed response order, close/reopen, original source preservation and zero replay writes.
Verification
Merge
c9d1ab3236b0bc89fb9b7450f58c2aeafe9c6f99synchronizes the existing branch with upstreame9f1c284ef5d73454b060847c67ec2f49015ac50. All four original source/test/plan blobs are unchanged. Only generated-output conflicts required resolution through the official build; both test inventories preserve the upstream additions.Fresh hosted-Linux validation in cloud run 39629610029:
git diff --check; the result preserves the previous PR head and upstream as its two parents.For exact head
c9d1ab3236b0bc89fb9b7450f58c2aeafe9c6f99, upstream CI and Protocol fuzzing both completed successfully: 27 successful checks and 3 conditionally skipped nightly jobs. This includes all four Python offline suites (3.10/3.12/3.13/3.14), frozen response shapes, pre-commit, Chromium/Firefox/WebKit workbench tests, Team/Stage-0 browser jobs and Linux sandbox checks. Skipped jobs are not claimed as executed.The cloud preparation and upstream Linux checks are separate evidence; the preparation job did not rerun the Python suite or live browser itself.
Reviewer focus and scope
Review
frontend/src/features/execution/exec.tsfor ownership and invalidation, its deferred-response tests, andtests/browser_smoke.mjsfor the persisted-history regression. The existing R7/P1-04 evidence digest and its claim remain unchanged.No backend API, kernel protocol, execution/replay behavior, dependency, permission or security boundary is changed. No tests were removed or weakened; default offline tests require no live model, cluster or credentials.
AI-assisted implementation and follow-up verification (GPT-6). This PR is open and non-Draft, awaiting human code-owner review; it has not been merged.