Uh oh!
There was an error while loading. Please reload this page.
fix(tooling): derive QUICK_REFERENCE's Node/pnpm floor as full version - #6390
Merged
Conversation
objectui#6313: the pin at scripts/__tests__/quick-reference-current-release-4143.test.ts and the sync generator (scripts/sync-quick-reference-release.mjs) derived the Node/pnpm version floors with `match(/(\d+)/)?.[1]`, keeping only the leading integer group. Against root `engines.node: ">=22.11"` (objectui#5306 / PR #6311) that produced a floor of `22`, silently discarding the `.11` — so a row reading exactly `≥ 22` passed a pin whose entire premise is disagreeing with its own cited anchor. Both derivations now strip the comparator and keep the whole version string. `pnpm quick-reference:sync` regenerated the Node.js row to `≥ 22.11`. Added regression coverage pinning that a `≥ 22`-shaped row is now rejected and that a `≥ 220`-shaped row still is (objectui#4913), and corrected the test file's docblock sentence that had gone stale on the same anchor one decimal place up. No published package source changed; changeset declares no release. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012CZgmFFzqA9cX8tBMhvpFe
os-warren
marked this pull request as ready for review
August 25, 2026 19:43
Uh oh!
There was an error while loading. Please reload this page.
This was referenced Aug 25, 2026
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 freeto 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.
Fixes#6313
What
scripts/__tests__/quick-reference-current-release-4143.test.tsand the syncgenerator
scripts/sync-quick-reference-release.mjsboth derived the Node/pnpmversion floors with
match(/(\d+)/)?.[1]— keeping only the leading integergroup. Against root
engines.node: ">=22.11"(objectui#5306 / PR #6311) thatproduced a floor of
22, silently discarding the.11, soQUICK_REFERENCE.md'sNode.js row read exactly
≥ 22and passed a pin whose entire premise isdisagreeing with its own cited anchor.
Per the triage ruling (disposition 1, closed — dispositions 2/3 not re-argued):
scripts/__tests__/quick-reference-current-release-4143.test.ts— added aversionFloor()helper (strip the comparator, keep the rest of the stringwhole) and switched the Node forward assertion, the pnpm forward assertion, and
both
add(...)calls in the reverse "no un-derived literal" sweep to use it.scripts/sync-quick-reference-release.mjs— sameversionFloor()helperand the same switch for
nodeFloor/pnpmFloorinreadAnchors(), so thescript that actually writes the row derives the same value the gate checks.
QUICK_REFERENCE.md— regenerated viapnpm quick-reference:sync(nottyped by hand); the Node.js row now reads
≥ 22.11.engines.node"has been>=22" (false since PR fix(repo): declare the Node/pnpm floors the toolchain actually requires #6311 landed>=22.11today) and added a paragraphrecording the objectui#6313 drift for future readers.
Also added two regression tests, both deriving from the real manifest rather than
a hard-coded literal:
≥ 22-shaped row is now rejected against the derived Node floor (the entirepoint of the card — this passed both the derivation's old AND a naive
reimplementation's output would have to be checked against it, not assumed)
≥ 220-shaped row is rejected too (objectui#4913's coarseness, now checkedagainst the new derivation rather than just the old one)
No published package source changed; the changeset declares no release
(tooling/test/doc only).
Evidence
Before (old derivation, on the real manifest strings):
After (new
versionFloor, same real strings):The card's core property — a
≥ 22row now fails where it used to pass (codefix committed, doc not yet regenerated — the doc still said
≥ 22at this point):Ran
pnpm quick-reference:sync(rewrote the row to≥ 22.11) → re-ran →Test Files 2 passed (2) / Tests 22 passed (22)across both the gate and thegenerator's own test file.
The
≥ 220negative case, against the real committed file (plant → RED →git checkout HEAD -- QUICK_REFERENCE.mdunder atrap … EXIT INT TERM→restore verified by blob hash + empty
git diff HEAD→ GREEN):Checks run locally
pnpm exec vitest run scripts/__tests__/quick-reference-current-release-4143.test.ts scripts/__tests__/sync-quick-reference-release.test.ts→ 2 passed, 22 testspnpm exec vitest run scripts/(fullscripts/suite) → 79 files / 2281 tests passedpnpm quick-reference:check→ in syncnode scripts/check-changeset-presence.mjs→ no source of a released package changed; changeset addednode scripts/check-changeset-no-major.mjs→ cleanpnpm run type-check:scripts(coversscripts/__tests__/*.ts) → cleannode scripts/check-type-check-coverage.mjs→ 45/46 + 41/41, unaffectedpnpm run lint:root(coversscripts/**) → 0 errors, 28 pre-existing warnings elsewhere, none in touched filesnode scripts/check-control-bytes.mjs→ cleanCI (
ci.yml) will run the full suite; leaving this in draft for the PM seat toarm per dispatch order.
Generated by Claude Code