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:
parent
e31ba894f8
commit
542b52ede9
4 changed files with 84 additions and 67 deletions
|
|
@ -116,6 +116,7 @@ import { resolveJsHnswConfig, DEFAULT_RECALL } from './utils/recallPreset.js'
|
|||
import * as fs from 'node:fs'
|
||||
import { Db, type DbHost, type HistoricalQueryHandle } from './db/db.js'
|
||||
import { GenerationStore } from './db/generationStore.js'
|
||||
import { isDeterministicEmbedMode } from './embeddings/deterministicEmbedMode.js'
|
||||
import { GenerationConflictError } from './db/errors.js'
|
||||
import { MemoryStorage } from './storage/adapters/memoryStorage.js'
|
||||
import type {
|
||||
|
|
@ -885,9 +886,7 @@ export class Brainy<T = any> implements BrainyInterface<T> {
|
|||
//
|
||||
// `eagerEmbeddings: false` is the explicit override to force lazy init
|
||||
// (first-embed) even when this instance is the active embedder.
|
||||
const isUnitTestMode =
|
||||
process.env.BRAINY_UNIT_TEST === 'true' ||
|
||||
(globalThis as { __BRAINY_UNIT_TEST__?: boolean }).__BRAINY_UNIT_TEST__ === true
|
||||
const isUnitTestMode = isDeterministicEmbedMode()
|
||||
const eager = this.config.eagerEmbeddings ?? true
|
||||
if (
|
||||
eager &&
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue