Garry Tan
afceba0cbc
feat(reindex,test): multimodal preflight + E2E suite for fresh PGLite init
...
T11 — reindex-multimodal.ts: hook resolveSchemaMultimodalDim() preflight
BEFORE the reindex sweep. Mirrors the text-side contract from initPGLite —
if the configured multimodal model can't produce a dim matching the schema
column, fail loud here with a \`gbrain config set\` hint rather than
mid-reindex with a vector(N) INSERT error.
T12 — test/e2e/init-fresh-pglite.test.ts (NEW, 14 cases): subprocess-driven
E2E verification of the bug-reporter's repro scenarios:
- Happy path: OPENAI_API_KEY set → auto-pick OpenAI, persists config
- D3 non-TTY fail-loud (with and without env-key typos)
- D6 regression: bug-reporter's three no-op config keys all exit 1 with
Levenshtein suggestions
- D9 deferred-setup mode + gbrain import refusal (and --no-embed bypass)
- D11 preflight refuses BEFORE any disk write
- Explicit --embedding-model wins over env detection
Each test uses its own throw-away GBRAIN_HOME for hermetic runs.
2026-05-21 11:20:37 -07:00
..
2026-04-18 16:57:38 +08:00
2026-04-09 10:17:13 -07:00
2026-05-07 21:52:58 -07:00
2026-05-06 21:14:34 -07:00
2026-05-09 22:58:19 -07:00
2026-05-07 21:52:58 -07:00
2026-05-06 21:14:34 -07:00
2026-05-11 22:54:35 -07:00
2026-04-29 23:46:36 -07:00
2026-05-14 19:50:50 -04:00
2026-04-25 12:25:34 -07:00
2026-05-14 19:50:50 -04:00
2026-05-10 20:06:31 -07:00
2026-05-09 16:57:47 -07:00
2026-05-07 21:52:58 -07:00
2026-05-19 18:12:01 -07:00
2026-05-09 16:57:47 -07:00
2026-04-30 01:23:29 -07:00
2026-05-19 18:12:01 -07:00
2026-05-09 16:57:47 -07:00
2026-05-08 17:07:51 -07:00
2026-05-09 16:57:47 -07:00
2026-05-09 16:57:47 -07:00
2026-05-14 21:22:10 -07:00
2026-05-18 21:26:12 -07:00
2026-05-18 21:26:12 -07:00
2026-05-07 21:52:58 -07:00
2026-05-09 16:57:47 -07:00
2026-05-01 09:02:43 -07:00
2026-05-17 08:32:03 -07:00
2026-05-18 21:26:12 -07:00
2026-05-10 06:34:40 -07:00
2026-05-09 16:57:47 -07:00
2026-05-09 16:57:47 -07:00
2026-05-11 19:25:48 -07:00
2026-05-10 12:49:14 -07:00
2026-05-09 16:57:47 -07:00
2026-05-09 16:57:47 -07:00
2026-04-26 20:45:05 -07:00
2026-05-14 19:13:14 -07:00
2026-05-09 16:57:47 -07:00
2026-05-09 16:57:47 -07:00
2026-05-21 11:20:37 -07:00
2026-05-11 23:02:03 -07:00
2026-05-09 16:57:47 -07:00
2026-05-07 21:52:58 -07:00
2026-04-08 23:26:11 -10:00
2026-05-14 19:13:14 -07:00
2026-05-09 16:57:47 -07:00
2026-05-09 20:46:34 -07:00
2026-05-09 16:57:47 -07:00
2026-05-10 12:49:14 -07:00
2026-05-10 12:49:14 -07:00
2026-05-09 16:57:47 -07:00
2026-05-09 16:57:47 -07:00
2026-05-19 13:12:40 -07:00
2026-05-09 16:57:47 -07:00
2026-05-11 23:02:03 -07:00
2026-05-07 21:52:58 -07:00
2026-05-09 16:57:47 -07:00
2026-05-09 16:57:47 -07:00
2026-05-11 21:49:57 -07:00
2026-05-11 21:49:57 -07:00
2026-04-23 19:34:27 -07:00
2026-05-18 06:22:12 -07:00
2026-05-09 16:57:47 -07:00
2026-05-09 16:57:47 -07:00
2026-05-09 16:57:47 -07:00
2026-05-07 21:52:58 -07:00
2026-05-07 21:52:58 -07:00
2026-05-20 09:19:18 -07:00
2026-04-25 23:35:27 -07:00
2026-04-22 01:34:22 -07:00
2026-04-30 23:17:54 -07:00
2026-05-09 16:57:47 -07:00
2026-05-18 20:55:57 -07:00
2026-05-20 13:55:12 -07:00
2026-05-18 12:53:01 -07:00
2026-05-19 18:12:01 -07:00
2026-05-09 16:57:47 -07:00
2026-05-14 20:15:29 -07:00
2026-05-14 19:50:50 -04:00
2026-05-09 16:57:47 -07:00
2026-04-29 22:21:07 -07:00
2026-05-14 19:50:50 -04:00
2026-05-11 22:54:35 -07:00
2026-05-09 16:57:47 -07:00
2026-05-09 16:57:47 -07:00
2026-05-11 19:25:48 -07:00
2026-05-07 23:07:00 -07:00
2026-05-07 23:07:00 -07:00
2026-05-10 06:34:40 -07:00
2026-05-10 06:34:40 -07:00
2026-04-09 12:25:04 -10:00
2026-05-18 21:11:02 -07:00
2026-05-07 21:52:58 -07:00
2026-05-09 20:46:34 -07:00
2026-05-19 17:14:53 -07:00
2026-05-07 10:03:38 -07:00
2026-05-12 14:33:29 -07:00
2026-04-26 15:49:48 -07:00
2026-05-17 08:00:29 -07:00
2026-05-09 16:57:47 -07:00