mirror of
https://github.com/garrytan/gbrain.git
synced 2026-07-27 22:15:33 +00:00
* fix(init): explicit --embedding-model overrides the persisted --no-embedding sentinel (#2301) Pre-fix, once ~/.gbrain/config.json carried embedding_disabled: true (the --no-embedding deferred-setup sentinel), every re-init silently re-deferred embedding: resolveAIOptions honored the sentinel BEFORE the explicit --embedding-model flag and never cleared noEmbedding, and the persistence merge carried the sentinel forward via ...existingFile. Both recovery paths were dead ends — `gbrain config set embedding_model` is hard-refused (schema-sizing field), and re-init hit the sentinel. Fix: - resolveAIOptions: an explicit --embedding-model / --model flag clears the sentinel-derived noEmbedding (explicit --no-embedding on the same invocation still wins — that branch runs after). - initPGLite + initPostgres persistence: a resolved (model, dims) tuple drops the stale embedding_disabled key instead of inheriting it. - assertEmbeddingEnabled message no longer recommends the refused `gbrain config set embedding_model` command; the working re-init recipe leads. Test: test/e2e/init-reinit-after-deferred.test.ts — deferred init then re-init with an explicit model recovers (sentinel gone, model persisted); bare re-init still honors the sentinel. Fixes #2301 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * review: scrub remaining hard-refused `config set embedding_model` advice from init deferred-setup messages The PR fixed the recovery recipe in assertEmbeddingEnabled but the deferred-setup lines in initPGLite/initPostgres and the fail-loud defer hint still pointed users at the Lane C.2 hard-refused command. Point all three at the working re-init recipe instead. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Garry Tan <garrytan@gmail.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>