Repository navigation
fix(signals): a mount a probing pass opened is born held whatever its own pass reads ahead (S-58′) - #4723
fix(signals): a mount a probing pass opened is born held whatever its own pass reads ahead (S-58′)#4723ryansolid wants to merge 3 commits into
Conversation
… own pass reads ahead (S-58′) Co-authored-by: tembo[bot] <208362400+tembo-io[bot]@users.noreply.github.com>
🦋 Changeset detectedLatest commit: a8ed5a1 The changes in this PR will be included in the next version bump. This PR includes changesets to release 15 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Size (brotli, eager entry chunk)
|
|
The change checks out against the rules. It closes the gap D-25's status line admitted ("a mount whose own pass reads another node ahead still attaches early"). It also agrees with the #4284 ruling that JSX grouping never changes the result: a grouped leaf now keeps the same seat as Two things before merge:
Generated by Claude Code |
Co-authored-by: Ryan <ryansolid@gmail.com>
Co-authored-by: tembo[bot] <208362400+tembo-io[bot]@users.noreply.github.com>
|
Both done, on top of 1. Rebase. Took #4718's record for the three cap lines and re-measured on top of it. Core floor 7,421 B and the compiled floor 9,973 B are unchanged; isPending/latest is 12,766 B / 35,587 B minified, +18 B brotli over the batch record, recorded 12.77 KB with a ledger line. Every other cap passes as #4718 recorded it. 2. The lane guard. Confirmed by instrumentation, not just by reading: in case ′ with the write inside an action, the arm fired once under the lane, for the zero-hop memo gate whose leaf reads the guess's target plainly ( The row you asked for found something else. Case ′ in an action, through Rows: S-58 case ″ (your row: the mixed leaf in an action, forbidding both the in-lane frame and the landing frame) and case ‴ (the plain-only leaf in an action), each through Gates locally: signals 6,745 pass with the shadow at six; web default and hydrate configs green; the server config's two failures ( |
Merging this PR will degrade performance by 7.8%1 warning
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing Footnotes
|
Coverage Report for CI Build 42473742484Warning No base build found for commit Coverage: 78.945%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsRequires a base build to compare against. How to fix this → Coverage Stats
💛 - Coveralls |
Summary
#4720's "any hop count" held for a plain-only leaf and broke once the leaf's one grouped effect also read ahead. The maintainer's table on plain
next:<Show>m0()only[F][F][F]latest(m2)onlylatest(m2),m0()(e1)[F][F]latest(m0),m0()[F][F]The born-held arm for a stamped mount sat inside
frameRead's!verdictbranch, so a mount whose own pass had opened a window was a verdict reader first and was served the screen: A10's pair rule, which belongs to a mainline leaf, not to a mount.read's pending arm handed such a reader toobserveFlightthe same way. Both now test the stamp first: a mount a probing pass opened observes the flight on its first pass whatever it read ahead, and is born held. The two bottom rows now read[F]in every column; thelatest(m2)-only row still paints everywhere, since it reads nothing of the flight plainly.Pins: S-58 case ′ (the e1 memos, the mixed leaf, three variants:
gate: "memo",gate: "cond",split) andweb/test/display-ahead-gate-leaf-reads.spec.ts, which is the table above as a test. The #3851 and #3540 matrices that guard the limits (a<Loading>inside the branch still shows its fallback ahead; memos and hidden mounts never count) are unchanged.Size
Core floor −2 B brotli (the clause left
frameRead's big condition; −21 B minified). isPending/latest +7 B (+47 B minified), within its cap; the three page scenarios that carry it move +47 B minified past their recorded minified and have their caps raised with ledger lines.How did you test this change?
Full signals suite (6,745 pass, seat shadow at the base's six classes), the web default, hydrate and async-gen configs, the regression gate, the rulings check,
node scripts/size/size.mjs(every scenario within its cap), and the table in real runner output before and after the change.