Tracking issue for the audit accept-list installed by PR #124 (.github/workflows/security-gates.yml).
The accept-list contains ~32 pre-existing high+ advisories in transitive deps that were hidden by the previously-broken pnpm audit --ignore flag. Each entry is tech-debt that must be driven to zero.
Approach
- Group by upstream module; resolve via a sequence of focused PRs (one module family per PR).
- Highest-leverage first: drizzle-orm major bump (covers CVE-2026-39356).
- Where direct bump is blocked by API breaks, evaluate
pnpm.overrides for transitives.
Module-level workstreams
- drizzle-orm — major bump (separate PR)
- path-to-regexp — overrides already in main, confirm graph
- esbuild, micromatch, semver, tar, ws, postcss, json5, etc. — bump consumers
- Re-run
pnpm audit --prod --json after each PR and shrink IGNORED_IDS
Done when
- IGNORED_IDS array in
security-gates.yml is empty
pnpm audit --prod --audit-level=high exits 0 with no --ignore shim
Tracking issue for the audit accept-list installed by PR #124 (
.github/workflows/security-gates.yml).The accept-list contains ~32 pre-existing high+ advisories in transitive deps that were hidden by the previously-broken
pnpm audit --ignoreflag. Each entry is tech-debt that must be driven to zero.Approach
pnpm.overridesfor transitives.Module-level workstreams
pnpm audit --prod --jsonafter each PR and shrink IGNORED_IDSDone when
security-gates.ymlis emptypnpm audit --prod --audit-level=highexits 0 with no--ignoreshim