fix(validation): disable implicit pnpm installs#670
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Codex review: needs maintainer review before merge. Reviewed July 18, 2026, 8:29 AM ET / 12:29 UTC. Summary Reproducibility: no. current-main run was performed in this review; the command boundary and the reported separate-store setup make the failure mode source-reproducible, while the PR body reports an OpenClaw-shaped E2E reproduction. Review metrics: 1 noteworthy metric.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Keep dependency installation as the separate reviewed phase and land the non-mutating validation command only after a maintainer confirms the setup-before-validation invariant and required checks for the rebased head. Do we have a high-confidence way to reproduce the issue? No current-main run was performed in this review; the command boundary and the reported separate-store setup make the failure mode source-reproducible, while the PR body reports an OpenClaw-shaped E2E reproduction. Is this the best way to solve the issue? Yes. Keeping dependency setup separate and making validation execute only the requested script is the narrowest maintainable fix for checkout mutation during validation. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 12cfc6670cef. Label changesLabel justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
Review history (1 earlier review cycle)
|
29c8c00 to
bc3496b
Compare
|
@clawsweeper re-review Rebased current head: |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
Summary
verifyDepsBeforeRunbehavior for validation commandsRoot cause
Dependency setup and validation intentionally run with separate disposable homes and pnpm stores. With pnpm 11.2.2,
verifyDepsBeforeRuntreats that profile/store change as a stale install and can run an implicitpnpm installbeforepnpm check:changed.That hidden install rewrites runtime metadata such as
node_modules/.modules.yamland.pnpm-workspace-state-v1.json. ClawSweeper then correctly rejects validation because the checkout identity changed; on a full OpenClaw checkout, pnpm may also purge/reinstall the dependency tree or attempt registry access.Dependency installation is already a separate reviewed phase. Validation should execute only the requested script, so the production command now passes
--config.verify-deps-before-run=falsealongside--config.enable-pre-post-scripts=false.Validation
node --test --test-name-pattern='package validation execution suppresses lifecycle hooks and implicit installs' test/repair/target-validation.test.tspnpm --config.verify-deps-before-run=false run buildpnpm --config.verify-deps-before-run=false run build:repairpnpm --config.verify-deps-before-run=false run lintoxfmt --check