The web/ package has no packageManager field, and the CI web job pins pnpm only at the major level (pnpm/action-setup@v4 with version: 9). Locally the lockfile was written with pnpm 11.5.1; both emit lockfileVersion: '9.0', so --frozen-lockfile passes today — but the pnpm version is effectively unpinned and can drift between contributors and CI.
What to do
Add a "packageManager": "pnpm@<exact-version>" field to web/package.json (Corepack reads it for a deterministic pnpm).
Make the CI web job's pnpm version consistent with that pin (or rely on Corepack), so local and CI use the same pnpm.
Acceptance
web/package.json declares an exact packageManager pnpm version.
CI uses the same version; pnpm install --frozen-lockfile stays green.
Source: frontend SPA milestone 1 final review — reproducibility nit.
## Context
The `web/` package has no `packageManager` field, and the CI `web` job pins pnpm only at the major level (`pnpm/action-setup@v4` with `version: 9`). Locally the lockfile was written with pnpm 11.5.1; both emit `lockfileVersion: '9.0'`, so `--frozen-lockfile` passes today — but the pnpm version is effectively unpinned and can drift between contributors and CI.
## What to do
- Add a `"packageManager": "pnpm@<exact-version>"` field to `web/package.json` (Corepack reads it for a deterministic pnpm).
- Make the CI `web` job's pnpm version consistent with that pin (or rely on Corepack), so local and CI use the same pnpm.
## Acceptance
- `web/package.json` declares an exact `packageManager` pnpm version.
- CI uses the same version; `pnpm install --frozen-lockfile` stays green.
_Source: frontend SPA milestone 1 final review — reproducibility nit._
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Context
The
web/package has nopackageManagerfield, and the CIwebjob pins pnpm only at the major level (pnpm/action-setup@v4withversion: 9). Locally the lockfile was written with pnpm 11.5.1; both emitlockfileVersion: '9.0', so--frozen-lockfilepasses today — but the pnpm version is effectively unpinned and can drift between contributors and CI.What to do
"packageManager": "pnpm@<exact-version>"field toweb/package.json(Corepack reads it for a deterministic pnpm).webjob's pnpm version consistent with that pin (or rely on Corepack), so local and CI use the same pnpm.Acceptance
web/package.jsondeclares an exactpackageManagerpnpm version.pnpm install --frozen-lockfilestays green.Source: frontend SPA milestone 1 final review — reproducibility nit.