test(04-01): RED — search workspace scaffold + normalizer vector suite (T1-T9)

- add the search/ npm workspace (root workspaces + search:test/search:typecheck delegates)
- zero-dependency runner/harness copied from the bot/test precedent
- 9 named normalizer laws: rule vectors, symmetry, whole-token-only,
  slash preservation, glued split, vowel-drop, idempotence, folding,
  table-is-data (>= 47 rows, one generic builder)

All 9 cases fail while src/normalize.ts is absent — the RED gate.
This commit is contained in:
araharah-executor
2026-10-24 00:21:59 +08:00
parent c9458add47
commit ebcd542643
7 changed files with 255 additions and 2 deletions
+10
View File
@@ -0,0 +1,10 @@
/*
* harness.mjs — zero-dependency test registry.
* Same hand-rolled shape as bot/test/harness.mjs (the Phase 2 precedent):
* suites import { test } and register async cases; runner.mjs drains the registry.
*/
const tests = [];
export function test(name, fn) {
tests.push({ name, fn });
}
export const registry = tests;