test(8.0): Tier-1 integration via deterministic embedder (suite runnable again)

The integration suite loaded the real WASM model for every test, so a full run
took ~hours and reliably aborted (vitest reporter timeout) — which is why it was
never gated and silently rotted. Brainy already separates the embedder from all
other logic, so running integration with a deterministic embedder keeps every
code path real (HNSW build+search, graph traversal, metadata filtering,
transactions, storage/sharding, VFS, aggregation, import) while making the suite
complete in ~2 min on ANY machine — no GPU, no 16 GB requirement.

- Add isDeterministicEmbedMode() — a single source of truth for the test-embedder
  switch (BRAINY_DETERMINISTIC_EMBEDDINGS, plus the legacy BRAINY_UNIT_TEST alias),
  used by EmbeddingManager (init/embed/embedBatch) and brainy's eager-init guard.
- setup-integration.ts opts into it: Tier 1 = functional end-to-end. Real-model
  semantic quality + the real embedding pipeline move to a Tier-2 suite.

Full integration now runs 482 passing / 583 in ~2 min (was un-completable). The
remaining failures are pre-existing test rot, fixed next. Unit 1414 green.
This commit is contained in:
David Snelling 2026-06-16 12:44:14 -07:00
parent e31ba894f8
commit 542b52ede9
4 changed files with 84 additions and 67 deletions

View file

@ -14,6 +14,7 @@
import { Vector, EmbeddingFunction } from '../coreTypes.js'
import { WASMEmbeddingEngine } from './wasm/index.js'
import { isDeterministicEmbedMode } from './deterministicEmbedMode.js'
declare global {
/**
@ -77,9 +78,7 @@ export class EmbeddingManager {
*/
async init(): Promise<void> {
// In unit test mode, skip real model initialization
const isTestMode =
process.env.BRAINY_UNIT_TEST === 'true' ||
globalThis.__BRAINY_UNIT_TEST__
const isTestMode = isDeterministicEmbedMode()
if (isTestMode) {
// Production safeguard
@ -151,9 +150,7 @@ export class EmbeddingManager {
*/
async embed(text: string | string[] | Record<string, unknown>): Promise<Vector> {
// Check for unit test environment
const isTestMode =
process.env.BRAINY_UNIT_TEST === 'true' ||
globalThis.__BRAINY_UNIT_TEST__
const isTestMode = isDeterministicEmbedMode()
if (isTestMode) {
if (process.env.NODE_ENV === 'production') {
@ -233,9 +230,7 @@ export class EmbeddingManager {
async embedBatch(texts: string[], options?: { signal?: AbortSignal }): Promise<number[][]> {
if (texts.length === 0) return []
const isTestMode =
process.env.BRAINY_UNIT_TEST === 'true' ||
globalThis.__BRAINY_UNIT_TEST__
const isTestMode = isDeterministicEmbedMode()
if (isTestMode) {
if (process.env.NODE_ENV === 'production') {