Unit and acceptance test layout
Rule
Write Vitest unit tests in tests/unit/, one file per source module, mirroring src/. Never create, edit or delete files in tests/acceptance/; the owner writes those. Never delete a test or reduce the test count. If an acceptance test conflicts with a requirement, stop and raise ESC-ACCEPT.
Do
src/
bm25.ts
tokenize.ts
tests/
unit/
bm25.test.ts
tokenize.test.ts
acceptance/ protected, owner only
bm25.vectors.test.tsDon’t
src/
bm25.ts
__tests__/
bm25.test.ts
tests/
bm25.test.tsRationale
The A7 governance gates scan tests/unit/** for neutralized tests (BP-05) and assertion-free tests (BP-10), and treat tests/acceptance/ as protected. Tests stored elsewhere escape those checks, and an agent that can edit acceptance tests can make any implementation pass.