Skip to content

chore(deps): clear high/critical audit findings and fix slow test timeouts - #47

Merged
whitelonng merged 1 commit into
mainfrom
chore/deps-audit
Oct 24, 2026
Merged

whitelonng merged 1 commit into
mainfrom
chore/deps-audit

Conversation

@whitelonng

Copy link
Copy Markdown
Owner

Summary

New advisories against the dev toolchain broke CI's npm audit --audit-level=high step on main. Every PR now fails there before lint and tests run, including #46.

  • npm audit fix updates vite, brace-expansion and source-map-js.
  • Override tinypool to 2.1.2 to fix the critical prototype-pollution RCE in versions below 2.1.2.
  • Vitest stays on 3.2.7. TDD evidence supports only Vitest 3 (src/system/tdd-evidence.ts:52, docs/workflows.md:369). A trial upgrade to Vitest 5 cleared the audit but broke 5 tdd-evidence tests on that version check. Supporting Vitest 5 would change a user-facing contract, so it is left for a separate change.
  • Give two man-delivery tests an explicit 30s timeout. Each spawns about 590 git subprocesses and needs 6–8s, which is over the 5s default, so they timed out locally, especially under coverage.

Remaining: moderate @vitest/mocker and @vitest/coverage-v8 advisories. They need Vitest ≥4.1.11 and are below the audit gate.

Test plan

  • npm run check passes locally: lint, typecheck, build, test:dist, audit, and test:coverage (188 files, 1757 tests).

Not included

A macOS-only bug in src/secrets/run.ts: a second kill can return EPERM and overwrite OUTPUT_LIMIT with EXECUTOR_FAILED. Its test is skipped on CI's ubuntu runners and fails intermittently on macOS. It is unrelated to dependencies and will get its own fix.

…eouts

CI's `npm audit --audit-level=high` started failing on main after new
advisories for the dev toolchain:

- `npm audit fix` updates vite, brace-expansion and source-map-js.
- Override tinypool to 2.1.2 (critical prototype-pollution RCE in <2.1.2).
  Vitest stays on 3.2.7 because TDD evidence explicitly supports Vitest 3
  only (src/system/tdd-evidence.ts, docs/workflows.md); moving to Vitest 5
  would change that contract and is left for a separate change.

Remaining: moderate @vitest/mocker / @vitest/coverage-v8 advisories, which
need Vitest >=4.1.11 and are below the audit gate.

Also give two man-delivery tests an explicit 30s timeout. Each spawns about
590 git subprocesses and needs 6-8s, above the 5s default, so they timed
out locally, especially under coverage.
@whitelonng
whitelonng merged commit 464c51b into main Oct 24, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant