Skip to main content
← Back to list
01Issue
BugShippedSwamp CLIPublic
Assigneesstack72

Relationships

#3601 eval-skill-triggers ignores evals/promptfoo/package-lock.json, so promptfoo's transitive deps are not locked

Opened by skunk-ape · 10/19/2026· Shipped 10/20/2026

scripts/eval_skill_triggers_promptfoo.ts installs promptfoo with npm install --package-lock=false. npm documents package-lock=false as ignoring package-lock.json when installing, so the committed lockfile in evals/promptfoo/ is never used. The lockfile was added in #1115 to pin transitive dependencies after the css-color breakage, and later bumps (#1619, #2064 for the Shai-Hulud supply chain fix) updated it, but none of those pins reach the install.

Measured 2026-10-19 with promptfoo 0.122.0: of 676 installed packages that appear in the lockfile, 211 resolved to a different version than the lockfile records (for example @ai-sdk/gateway 3.0.133 locked vs 3.0.217 installed, @aws-sdk/client-bedrock-runtime 3.1073.0 vs 3.1152.0).

The original comment says npm ci was avoided because the lockfile, generated on macOS, lacked Linux platform-specific optional packages. That was the reason for npm install; --package-lock=false goes further and drops the lock entirely. Affects the scheduled multi-model eval in CI and the local verify-skills workflow. scripts/audit_deps.ts scans the lockfile, so the audit reports on versions that are not what runs.

Found while triaging swamp-club#3516 (omit optional deps from that install); out of scope there.

02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPEDTRIAGE+ 11 MOREREVIEW+ 7 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

10/20/2026, 7:06:57 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack7210/19/2026, 5:30:11 PM

Sign in to post a ripple.