Skip to content

[2.0 / next] A memo that probed isPending once lets a later sync write break free of the hold #4699

Closed as not planned

Description

@ryansolid

Ruled-not-built row S-50 from #4695. The ruling is in packages/web/test/async-gen/rulings/S-50.ts. Rule: D-25. Decision 1 in documentation/plans/optimism-seam-spike-brief.md §8 withdraws the paragraph "a verdict posture outlives the pass that asked".

Shape: m = 1 + k + (probe ? isPending(x) : 0) + x. An action holds x = 1 while m probes. Then probe is turned off and a sync write to k re-runs m.

Ruled: the re-run probes nothing, so its read of x is a plain read of the held staging. m is the hold's work, and the tick that wrote k holds with it until the body returns (vm0:3 vs1:1).

Today: the screen publishes vm0:2 vs1:1, twice. The sticky verdict bit from the previous run makes m read x as the screen's value, so k breaks free.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions