0007. A fast unit tier under plain mocha

Status: Accepted (2026-09-30)

Context

Every test runs in the extension host today. The only runner is vscode-test, over 139 mocha files and 1,331 tests, of which 67 files never import vscode. The pure parser, evaluator, and state suites boot Electron with a 20-second timeout to test pure functions. A file that does not import vscode may still reach it through what it imports, and nobody has computed which suites could run without it.

Decision

npm run test:unit runs plain mocha over the suites whose modules never reach vscode, and pretest runs it first. dependency-cruiser decides which modules qualify, from the same rules npm run lint enforces. npm test keeps the suites that need the host.

Consequences

Alternatives considered