Repository navigation
Conversation
commit: |
Contributor
Interactive terminal E2ETerminal Control verified the built CLI at
|
aidenybai
marked this pull request as ready for review
October 17, 2026 23:36
This branch has not been deployed
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.
Async callbacks registered directly with native
setIntervalinside an effect can continue after cleanup and write stale state. This route recognizes a finite owned registration/cleanup shape, then applies the existing post-await cancellation analysis. It requires actual React hook bindings, a readonly native timer handle and a closed source-visible provider boundary.Review corrected two false positives:
React.__defineGetter__andReact.__defineSetter__could replace the selected provider while still passing the module proof. These explicit descriptor mutations now decline the new route. Immutable Program/provider facts and dispatcher-reference eligibility are reused; each current protected-name intersection, declaration owner, callback, registration and cleanup check remains fresh. The shared semantic resolver is unchanged, with no canonical donor dependency.Required strict fuzzing first found two verdict drops under equivalent syntax: an inert literal-void prologue and a block cleanup returning the owned native clear call. The finite proof now supports those forms. Opaque void calls, nonnative cleanup returns, and a shadowed or TDZ
undefinedexpression remain declined. The failed run and its already-passing whole graphs are preserved separately; all required gates were rerun on the repaired final tree.Ordinary React, native timer and module behavior is assumed. Custom timers, escaped handles, unsupported module shapes, mount-only effects and the existing stable-dependency exclusions remain outside this route. Clearing an interval alone does not cancel an already suspended callback. This is a finite extension with no family-wide completeness claim.
Validation on tested tree
4ef82ae8c2e1ba5726b0af2119d2987448e06862:FUZZ_REQUIRE_FIRE=1; the failed first-revision attempt remains recorded. Numeric wrapper counters are unavailable; require-fire proves positive liveness but does not independently establish coverage of the new certificate.customRulesOnly: false.Construction-inclusive 20/100 work probes preserve actual warning and custom-timer controls. Program proof construction falls from 20/100 walks to one. Shared-provider reference visits fall from 420/10,100 to 21/101; distinct providers from 800/20,000 to 40/200. Dispatcher visits become 20/100 in both shapes. These are deterministic work counts, not timing measurements.
The author-reported inherited membership advisory belongs to the unchanged legacy cleanup collector. The new interval route supplies its cleanup explicitly and bypasses that collector; no improvement to the inherited lookup is claimed. Actual staged scan and normal hook results are recorded separately with their repository/framework gating.
Fresh full sandbox/corpus parity is unavailable without credentials. Bounded synthetic comparisons do not establish full-corpus parity. Patch Changesets are included; no merge or release is requested.
The local built staged scanner exited 0 and completed 11 files with 0 diagnostics. Its repository profile reports framework
unknownandreactDetected: false; active React behavior is established separately by the declared profiles. Normal commit hooks retain their actual outcome; scanner details suppressed by the repository hook are preserved in the separate staged JSON.Normal commit hooks exited 0 with
vp check --fixandvp fmt; the committed tree remains identical to the tested tree. Hook scanner details are suppressed by the repository script and separately captured above.