Skip to content

Make the UpgradeRoots pass test root specifiers lazily - #94

Merged
jonyoder merged 3 commits into
mainfrom
lazy-root-scan
Nov 14, 2026
Merged

jonyoder merged 3 commits into
mainfrom
lazy-root-scan

Conversation

@jonyoder

Copy link
Copy Markdown
Collaborator

The UpgradeRoots pass tested every published version of every root against the root's specifiers, in every resolution, even when no root was behind. Now it tests only versions above a root's pin, and scores the first answer only when a re-solve returns. Results are unchanged.


  • Parity: pins identical to the unmodified pass on two real corpora (114 sets, 3420 cells; 111 sets, 3330 cells), 0 differing cells.
  • Time, UpgradeRoots=12, base vs new, interleaved, joint seconds summed (noisy shared machine): main corpus 56.2, 49.5 vs 47.6, 41.7; second corpus 29.0, 30.2 vs 21.1, 27.5. Incremental memory sum drops about 15% (55.5k MB to 46.6k MB on main).
  • Test: TestUpgradeRootsTestsSpecifiersOnlyAbovePins counts specifier tests through a test hook: 0 when no root is behind (60 with an eager pass, which is RED), and at most the versions above the pin when one is.
  • Independent of the depEffects memory fix; touches resolver/upgrade.go only (plus a test hook and CHANGELOG).
  • roborev job 5227: no findings.

🤖 Generated with Claude Code

jonyoder and others added 3 commits November 13, 2026 18:52
The pass tested every published version of every root against the root's
specifiers, even when no root was behind. Test only versions above a pin, and
score the first answer only when a re-solve returns.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…el scoring

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@jonyoder
jonyoder merged commit 6edd82b into main Nov 14, 2026
2 checks passed
@jonyoder
jonyoder deleted the lazy-root-scan branch November 14, 2026 00:30
@jonyoder jonyoder mentioned this pull request Nov 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant