Repository navigation
Enforce the pnpm-only and hoisted-linker rules in CI - #7
Open
XxHugheadxX wants to merge 1 commit into
Open
XxHugheadxX wants to merge 1 commit into
XxHugheadxX wants to merge 1 commit into
Conversation
Both are written down in AGENTS.md and the team plan, and nothing checked either. One has already been broken: a 260KB frontend/package-lock.json reached main, which is the documented cause of "works in dev, missing in the binary" -- pear stage bundles by walking node_modules and depends on the hoisted layout. The linker check reads pnpm-workspace.yaml rather than .npmrc, since pnpm >=10.6 ignores node-linker there and the workspace file is the one that takes effect. Needs no install, so it fails in seconds instead of behind a six-platform matrix. Note this job fails on main today: the phantom lockfile is still there until the F0 branch lands, which is the check doing its job. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V9zUvsS38fU1M1hT9yFK6j
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.
One new CI job. Touches no source, no tests, no dependencies.
Why
Two rules are written down in
AGENTS.mdand the team plan, and nothing checks either one. One has already been broken.A 260 KB
frontend/package-lock.jsonreachedmain. The plan warned about exactly this in §2.5 —pear stagebundles by walkingnode_modulesand depends on the hoisted layout, so an npm or yarn install here is the documented cause of "works in dev, missing in the binary". It sat there because the rule lived only in a document.What it checks
git ls-files, sonode_modulesis irrelevant and the check is exact.nodeLinker: hoistedis still set. Readspnpm-workspace.yaml, not.npmrc— pnpm >= 10.6 ignoresnode-linkerin.npmrcentirely, and the workspace file is the one that actually takes effect. The comment in.npmrcsays so itself.Both messages explain the consequence and the fix, not just that something failed.
The job needs no install, so a violation fails in seconds rather than behind the six-platform matrix.
This PR will be red until #5 lands, on purpose
frontend/package-lock.jsonis still onmainright now, so check 1 fails — which is the check finding a real violation that exists today. #5 deletes that file; once it merges, this goes green.I'd rather show the guard catching the thing it was built for than quietly bundle the deletion in here and have you take my word for it.
Not in scope
Cross-platform coverage for the new LAN discovery tests needed nothing: the existing
buildjob already runspnpm teston all six targets, so those tests get Linux, macOS and Windows automatically once F1 lands.🤖 Generated with Claude Code
https://claude.ai/code/session_01V9zUvsS38fU1M1hT9yFK6j