{"record":{"id":"6c1ba5c3fc16e974","repo":"abhigyanpatwari/GitNexus","slug":"embedding-generation-completed-without-persisted-e","errorCode":null,"errorMessage":"Embedding generation completed without persisted embeddings. The index was not registered to avoid silently reporting embeddings: 0. Check the embedding endpoint/model configuration (GITNEXUS_EMBEDDING_URL / GITNEXUS_EMBEDDING_MODEL) and re-run `gitnexus analyze --embeddings`; the graph itself is unaffected, so `--drop-embeddings` indexes without them.","messagePattern":"Embedding generation completed without persisted embeddings\\. The index was not registered to avoid silently reporting embeddings: 0\\. Check the embedding endpoint/model configuration \\(GITNEXUS_EMBEDDING_URL / GITNEXUS_EMBEDDING_MODEL\\) and re-run `gitnexus analyze --embeddings`; the graph itself is unaffected, so `--drop-embeddings` indexes without them\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"gitnexus/src/core/run-analyze.ts","lineNumber":4117,"sourceCode":"    //   1. the pipeline never ran (cap-skipped / not requested) —\n    //      `embeddingSkipped`, still short-circuited;\n    //   2. the pipeline ran but had NOTHING to embed (totalNodes 0 after the\n    //      incremental filter — e.g. a resume whose pending sweep deleted the\n    //      last rows) over a legitimately empty table;\n    //   3. the count query failed or answered non-numerically (above) — a\n    //      diagnostic failure, not an indexing failure;\n    //   4. the pipeline embedded and NOTHING persisted — the real defect.\n    // Only (4) throws. `attemptedEmbedding` is what separates it from (2):\n    // `nodesProcessed` is now the REAL completed-node count and\n    // `failedNodeIds` names the nodes whose rows were dropped, so\n    // \"attempted\" ≡ at least one node was walked to a conclusion.\n    const attemptedEmbedding =\n      !embeddingSkipped &&\n      embeddingResult !== undefined &&\n      (embeddingResult.nodesProcessed > 0 || embeddingResult.failedNodeIds.length > 0);\n\n    if (attemptedEmbedding && stats.nodes > 0 && embeddingCount === 0) {\n      throw new Error(\n        'Embedding generation completed without persisted embeddings. ' +\n          'The index was not registered to avoid silently reporting embeddings: 0. ' +\n          'Check the embedding endpoint/model configuration (GITNEXUS_EMBEDDING_URL / ' +\n          'GITNEXUS_EMBEDDING_MODEL) and re-run `gitnexus analyze --embeddings`; ' +\n          'the graph itself is unaffected, so `--drop-embeddings` indexes without them.',\n      );\n    }\n\n    if (embeddingCount === undefined) {\n      log(\n        'Warning: registering the index without a verified embedding count — the count query ' +\n          'did not answer, so stats.embeddings falls back to the last known value. ' +\n          'Re-run `gitnexus analyze --embeddings` if semantic search comes back empty.',\n      );\n    }\n\n    // ── An unverifiable count must leave a way back (#2790) ───────────────\n    // The carry-forward below is a GUESS, and the guess is load-bearing (see","sourceCodeStart":4099,"sourceCodeEnd":4135,"githubUrl":"https://github.com/abhigyanpatwari/GitNexus/blob/ac9a4e9abd8fd3058c070b72c23402a4f887929a/gitnexus/src/core/run-analyze.ts#L4099-L4135","documentation":"Error \"Embedding generation completed without persisted embeddings. The index was not registered to avoid silently reporting embeddings: 0. Check the embedding endpoint/model configuration (GITNEXUS_EMBEDDING_URL / GITNEXUS_EMBEDDING_MODEL) and re-run `gitnexus analyze --embeddings`; the graph itself is unaffected, so `--drop-embeddings` indexes without them.\" thrown in abhigyanpatwari/GitNexus.","triggerScenarios":"Thrown at gitnexus/src/core/run-analyze.ts:3341 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"ac9a4e9abd8fd3058c070b72c23402a4f887929a","analyzedAt":"2026-08-20T23:29:22.980Z","contentChangedAt":"2026-08-20T23:29:22.980Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}