@massa-ai/core 1.57.0 → 1.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/data/symbol/symbol-repo-workspace.d.ts +17 -0
  2. package/dist/data/symbol/symbol-repo-workspace.d.ts.map +1 -1
  3. package/dist/data/symbol/symbol-repo-workspace.js +29 -0
  4. package/dist/data/symbol/symbol-repo-workspace.js.map +1 -1
  5. package/dist/data/vector/postgres-vector-store.d.ts +20 -0
  6. package/dist/data/vector/postgres-vector-store.d.ts.map +1 -1
  7. package/dist/data/vector/postgres-vector-store.js +26 -2
  8. package/dist/data/vector/postgres-vector-store.js.map +1 -1
  9. package/dist/generated/prisma/edge.js +5 -4
  10. package/dist/generated/prisma/index-browser.js +1 -0
  11. package/dist/generated/prisma/index.d.ts +71 -1
  12. package/dist/generated/prisma/index.js +5 -4
  13. package/dist/generated/prisma/package.json +1 -1
  14. package/dist/generated/prisma/schema.prisma +3 -0
  15. package/dist/kernel/inference-probe.d.ts +18 -0
  16. package/dist/kernel/inference-probe.d.ts.map +1 -0
  17. package/dist/kernel/inference-probe.js +34 -0
  18. package/dist/kernel/inference-probe.js.map +1 -0
  19. package/dist/services/embeddings/config.d.ts +11 -0
  20. package/dist/services/embeddings/config.d.ts.map +1 -1
  21. package/dist/services/embeddings/config.js +64 -11
  22. package/dist/services/embeddings/config.js.map +1 -1
  23. package/dist/services/embeddings/index.d.ts +10 -2
  24. package/dist/services/embeddings/index.d.ts.map +1 -1
  25. package/dist/services/embeddings/index.js.map +1 -1
  26. package/dist/services/embeddings/provider.d.ts +15 -0
  27. package/dist/services/embeddings/provider.d.ts.map +1 -1
  28. package/dist/services/embeddings/provider.js +12 -6
  29. package/dist/services/embeddings/provider.js.map +1 -1
  30. package/dist/services/etl/pipeline.d.ts.map +1 -1
  31. package/dist/services/etl/pipeline.js +37 -0
  32. package/dist/services/etl/pipeline.js.map +1 -1
  33. package/dist/services/health/local-health-checker.d.ts +32 -1
  34. package/dist/services/health/local-health-checker.d.ts.map +1 -1
  35. package/dist/services/health/local-health-checker.js +88 -16
  36. package/dist/services/health/local-health-checker.js.map +1 -1
  37. package/dist/services/memory/llm-client.d.ts +61 -0
  38. package/dist/services/memory/llm-client.d.ts.map +1 -1
  39. package/dist/services/memory/llm-client.js +147 -15
  40. package/dist/services/memory/llm-client.js.map +1 -1
  41. package/dist/services/search/embedding-freshness.d.ts +94 -0
  42. package/dist/services/search/embedding-freshness.d.ts.map +1 -0
  43. package/dist/services/search/embedding-freshness.js +114 -0
  44. package/dist/services/search/embedding-freshness.js.map +1 -0
  45. package/dist/services/search/ignore-patterns.d.ts +7 -0
  46. package/dist/services/search/ignore-patterns.d.ts.map +1 -1
  47. package/dist/services/search/ignore-patterns.js +9 -0
  48. package/dist/services/search/ignore-patterns.js.map +1 -1
  49. package/dist/services/search/project-indexer.d.ts +15 -1
  50. package/dist/services/search/project-indexer.d.ts.map +1 -1
  51. package/dist/services/search/project-indexer.js +40 -6
  52. package/dist/services/search/project-indexer.js.map +1 -1
  53. package/dist/services/search/search-controller.d.ts.map +1 -1
  54. package/dist/services/search/search-controller.js +31 -1
  55. package/dist/services/search/search-controller.js.map +1 -1
  56. package/package.json +2 -2
  57. package/prisma/migrations/20260919120000_add_embedding_fingerprint/migration.sql +11 -0
  58. package/prisma/schema.prisma +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"llm-client.js","sourceRoot":"","sources":["../../../src/services/memory/llm-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-client.js","sourceRoot":"","sources":["../../../src/services/memory/llm-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * LIP-15 — the embedding-fingerprint vocabulary, extracted from
3
+ * `project-indexer.ts`.
4
+ *
5
+ * A workspace is indexed under one `${provider}:${model}:${dimensions}`
6
+ * triple. Querying or appending to it under a different one mixes two vector
7
+ * spaces in one table, which degrades silently rather than failing — so both
8
+ * the read gate (`checkSearchAdmission`) and the write gate
9
+ * (`ensureFreshIndex`'s `needsFullReindex`) compare the stored fingerprint
10
+ * against the live one.
11
+ *
12
+ * It lives here rather than in `project-indexer.ts` for two reasons, and the
13
+ * first is the one that forced it: adding this gate took that file from 640 to
14
+ * 761 LOC, past the 700-LOC hub ceiling `scripts/search-hub-metric.ts`
15
+ * enforces (G-HUB) — caught by CI, not locally, because that gate runs only
16
+ * from `ci.yml` and is not wired into `bun run test:scripts`.
17
+ *
18
+ * **`project-indexer.ts` now sits at exactly 700, with zero headroom.** The
19
+ * next line added to it reddens G-HUB. That is the gate working as intended —
20
+ * it wants the hub decomposed further, and the honest reading is that this
21
+ * extraction paid the immediate debt without finishing the job. Take the next
22
+ * cohesive unit out (the result types, or `indexProjectInternal`) rather than
23
+ * shaving comments to buy a line. The second is that both gates were restating the same
24
+ * three-clause predicate independently, which is exactly the drift this
25
+ * module's `embeddingFingerprintMismatch` now makes impossible.
26
+ *
27
+ * `project-indexer.ts` re-exports `EmbeddingIndexStaleError` and
28
+ * `currentEmbeddingFingerprint` so no importer had to change.
29
+ *
30
+ * ## Which gate actually runs in production (post-review, 2026-09-19)
31
+ *
32
+ * `ensureFreshIndex`'s `needsFullReindex` branch — not just its fingerprint
33
+ * arm — has **zero production callers**. Its only caller is
34
+ * `SearchController.handleAutoReindex`, which hardcodes
35
+ * `allowFullReindex: false`, so every `needsFullReindex === true` outcome is
36
+ * deferred and never reaches `deps.indexProject` or the stamp beside it.
37
+ *
38
+ * The reachable production recovery for a stale fingerprint is `index_project`
39
+ * with `forceReindex: true`, which runs `EtlPipeline.run()`
40
+ * (`services/etl/pipeline.ts`) — a separate full-reindex mechanism that never
41
+ * calls `ensureFreshIndex`, and where the fingerprint is actually stamped.
42
+ * Both sites use the same `stampEmbeddingFingerprint` /
43
+ * `currentEmbeddingFingerprint` pair, so they cannot disagree on the *value*,
44
+ * only on whether they currently run.
45
+ *
46
+ * That branch is kept, tested and correct for the day a caller passes
47
+ * `allowFullReindex: true` — deleting documented, correct behaviour to chase
48
+ * "no dead code" would be the wrong trade — but it must not be read as *the*
49
+ * write gate. See `search-controller.ts`'s Tier 1b comment for why the read
50
+ * gate stays unconditional instead of giving this branch a reachable caller.
51
+ */
52
+ /**
53
+ * Raised by the search entry path when the workspace's stored embedding
54
+ * fingerprint (`${provider}:${model}:${dimensions}`, stamped by the last full
55
+ * reindex) disagrees with the currently configured embedding. Search must
56
+ * never fall through to a table holding two mixed embedding spaces — the
57
+ * caller throws this instead of returning rows.
58
+ */
59
+ export declare class EmbeddingIndexStaleError extends Error {
60
+ readonly projectId: string;
61
+ readonly storedFingerprint: string;
62
+ readonly currentFingerprint: string;
63
+ constructor(projectId: string, storedFingerprint: string, currentFingerprint: string);
64
+ }
65
+ /**
66
+ * The live embedding fingerprint (design.md §5): `${provider}:${model}:${dimensions}`
67
+ * for the currently *selected* provider — `getProvidersByPriority()[0]`, the
68
+ * priority-1 entry `services/embeddings/config.ts` resolves synchronously
69
+ * from env + config.json at module load (no network probe, no fallback
70
+ * chain walk — that is `createEmbeddingProvider`'s job, not this gate's).
71
+ * `null` when any component is not resolvable — every caller here treats
72
+ * "unknown" the same as "no mismatch": warn or skip, never block on a value
73
+ * we can't compute.
74
+ */
75
+ export declare function currentEmbeddingFingerprint(): string | null;
76
+ /**
77
+ * The mismatch pair, or `null` when there is nothing to act on.
78
+ *
79
+ * The three clauses are the whole gate, and the two `null` cases are
80
+ * deliberate rather than defensive: a stored `null` is a legacy or
81
+ * never-stamped workspace (the next full reindex stamps it), and a live
82
+ * `null` means the configured embedding is not resolvable. Neither is
83
+ * evidence of a *disagreement*, so neither blocks — only a stored value that
84
+ * actively contradicts a resolvable live one does.
85
+ *
86
+ * Both gates previously spelled this out separately, in the two shapes the
87
+ * call sites happened to want (a boolean, and an object). One predicate, two
88
+ * readings of its result, so they cannot drift into two different rules.
89
+ */
90
+ export declare function embeddingFingerprintMismatch(storedFingerprint: string | null, liveFingerprint?: string | null): {
91
+ stored: string;
92
+ current: string;
93
+ } | null;
94
+ //# sourceMappingURL=embedding-freshness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-freshness.d.ts","sourceRoot":"","sources":["../../../src/services/search/embedding-freshness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAIH;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IAE/C,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM;IAClC,QAAQ,CAAC,kBAAkB,EAAE,MAAM;gBAF1B,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM;CAUtC;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,GAAG,IAAI,CAM3D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC1C,iBAAiB,EAAE,MAAM,GAAG,IAAI,EAChC,eAAe,GAAE,MAAM,GAAG,IAAoC,GAC7D;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAS5C"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * LIP-15 — the embedding-fingerprint vocabulary, extracted from
3
+ * `project-indexer.ts`.
4
+ *
5
+ * A workspace is indexed under one `${provider}:${model}:${dimensions}`
6
+ * triple. Querying or appending to it under a different one mixes two vector
7
+ * spaces in one table, which degrades silently rather than failing — so both
8
+ * the read gate (`checkSearchAdmission`) and the write gate
9
+ * (`ensureFreshIndex`'s `needsFullReindex`) compare the stored fingerprint
10
+ * against the live one.
11
+ *
12
+ * It lives here rather than in `project-indexer.ts` for two reasons, and the
13
+ * first is the one that forced it: adding this gate took that file from 640 to
14
+ * 761 LOC, past the 700-LOC hub ceiling `scripts/search-hub-metric.ts`
15
+ * enforces (G-HUB) — caught by CI, not locally, because that gate runs only
16
+ * from `ci.yml` and is not wired into `bun run test:scripts`.
17
+ *
18
+ * **`project-indexer.ts` now sits at exactly 700, with zero headroom.** The
19
+ * next line added to it reddens G-HUB. That is the gate working as intended —
20
+ * it wants the hub decomposed further, and the honest reading is that this
21
+ * extraction paid the immediate debt without finishing the job. Take the next
22
+ * cohesive unit out (the result types, or `indexProjectInternal`) rather than
23
+ * shaving comments to buy a line. The second is that both gates were restating the same
24
+ * three-clause predicate independently, which is exactly the drift this
25
+ * module's `embeddingFingerprintMismatch` now makes impossible.
26
+ *
27
+ * `project-indexer.ts` re-exports `EmbeddingIndexStaleError` and
28
+ * `currentEmbeddingFingerprint` so no importer had to change.
29
+ *
30
+ * ## Which gate actually runs in production (post-review, 2026-09-19)
31
+ *
32
+ * `ensureFreshIndex`'s `needsFullReindex` branch — not just its fingerprint
33
+ * arm — has **zero production callers**. Its only caller is
34
+ * `SearchController.handleAutoReindex`, which hardcodes
35
+ * `allowFullReindex: false`, so every `needsFullReindex === true` outcome is
36
+ * deferred and never reaches `deps.indexProject` or the stamp beside it.
37
+ *
38
+ * The reachable production recovery for a stale fingerprint is `index_project`
39
+ * with `forceReindex: true`, which runs `EtlPipeline.run()`
40
+ * (`services/etl/pipeline.ts`) — a separate full-reindex mechanism that never
41
+ * calls `ensureFreshIndex`, and where the fingerprint is actually stamped.
42
+ * Both sites use the same `stampEmbeddingFingerprint` /
43
+ * `currentEmbeddingFingerprint` pair, so they cannot disagree on the *value*,
44
+ * only on whether they currently run.
45
+ *
46
+ * That branch is kept, tested and correct for the day a caller passes
47
+ * `allowFullReindex: true` — deleting documented, correct behaviour to chase
48
+ * "no dead code" would be the wrong trade — but it must not be read as *the*
49
+ * write gate. See `search-controller.ts`'s Tier 1b comment for why the read
50
+ * gate stays unconditional instead of giving this branch a reachable caller.
51
+ */
52
+ import { getProvidersByPriority } from "../embeddings/config.js";
53
+ /**
54
+ * Raised by the search entry path when the workspace's stored embedding
55
+ * fingerprint (`${provider}:${model}:${dimensions}`, stamped by the last full
56
+ * reindex) disagrees with the currently configured embedding. Search must
57
+ * never fall through to a table holding two mixed embedding spaces — the
58
+ * caller throws this instead of returning rows.
59
+ */
60
+ export class EmbeddingIndexStaleError extends Error {
61
+ projectId;
62
+ storedFingerprint;
63
+ currentFingerprint;
64
+ constructor(projectId, storedFingerprint, currentFingerprint) {
65
+ super(`Project '${projectId}' was indexed with embedding fingerprint ` +
66
+ `'${storedFingerprint}', but the configured embedding is now ` +
67
+ `'${currentFingerprint}'. Run index_project with forceReindex: true ` +
68
+ `to rebuild the index for the new embedding.`);
69
+ this.projectId = projectId;
70
+ this.storedFingerprint = storedFingerprint;
71
+ this.currentFingerprint = currentFingerprint;
72
+ this.name = "EmbeddingIndexStaleError";
73
+ }
74
+ }
75
+ /**
76
+ * The live embedding fingerprint (design.md §5): `${provider}:${model}:${dimensions}`
77
+ * for the currently *selected* provider — `getProvidersByPriority()[0]`, the
78
+ * priority-1 entry `services/embeddings/config.ts` resolves synchronously
79
+ * from env + config.json at module load (no network probe, no fallback
80
+ * chain walk — that is `createEmbeddingProvider`'s job, not this gate's).
81
+ * `null` when any component is not resolvable — every caller here treats
82
+ * "unknown" the same as "no mismatch": warn or skip, never block on a value
83
+ * we can't compute.
84
+ */
85
+ export function currentEmbeddingFingerprint() {
86
+ const [, active] = getProvidersByPriority()[0] ?? [];
87
+ if (!active?.provider || !active?.model || active.dimensions === undefined) {
88
+ return null;
89
+ }
90
+ return `${active.provider}:${active.model}:${active.dimensions}`;
91
+ }
92
+ /**
93
+ * The mismatch pair, or `null` when there is nothing to act on.
94
+ *
95
+ * The three clauses are the whole gate, and the two `null` cases are
96
+ * deliberate rather than defensive: a stored `null` is a legacy or
97
+ * never-stamped workspace (the next full reindex stamps it), and a live
98
+ * `null` means the configured embedding is not resolvable. Neither is
99
+ * evidence of a *disagreement*, so neither blocks — only a stored value that
100
+ * actively contradicts a resolvable live one does.
101
+ *
102
+ * Both gates previously spelled this out separately, in the two shapes the
103
+ * call sites happened to want (a boolean, and an object). One predicate, two
104
+ * readings of its result, so they cannot drift into two different rules.
105
+ */
106
+ export function embeddingFingerprintMismatch(storedFingerprint, liveFingerprint = currentEmbeddingFingerprint()) {
107
+ if (storedFingerprint === null ||
108
+ liveFingerprint === null ||
109
+ storedFingerprint === liveFingerprint) {
110
+ return null;
111
+ }
112
+ return { stored: storedFingerprint, current: liveFingerprint };
113
+ }
114
+ //# sourceMappingURL=embedding-freshness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-freshness.js","sourceRoot":"","sources":["../../../src/services/search/embedding-freshness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE;;;;;;GAMG;AACH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAEtC;IACA;IACA;IAHX,YACW,SAAiB,EACjB,iBAAyB,EACzB,kBAA0B;QAEnC,KAAK,CACH,YAAY,SAAS,2CAA2C;YAC9D,IAAI,iBAAiB,yCAAyC;YAC9D,IAAI,kBAAkB,+CAA+C;YACrE,6CAA6C,CAChD,CAAC;QATO,cAAS,GAAT,SAAS,CAAQ;QACjB,sBAAiB,GAAjB,iBAAiB,CAAQ;QACzB,uBAAkB,GAAlB,kBAAkB,CAAQ;QAQnC,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,2BAA2B;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,sBAAsB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;AACnE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,4BAA4B,CAC1C,iBAAgC,EAChC,kBAAiC,2BAA2B,EAAE;IAE9D,IACE,iBAAiB,KAAK,IAAI;QAC1B,eAAe,KAAK,IAAI;QACxB,iBAAiB,KAAK,eAAe,EACrC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;AACjE,CAAC"}
@@ -65,4 +65,11 @@ export declare function getActiveCapturePolicy(): Policy;
65
65
  * compose: a path is indexed iff `!ig.ignores(path) && applyCapturePolicy(path) !== 'Drop'`.
66
66
  */
67
67
  export declare function loadProjectIgnore(projectPath: string): Promise<Ignore>;
68
+ /**
69
+ * Historical alias for {@link loadProjectIgnore}, kept because
70
+ * `contextual-search-rlm.ts` and two test suites reach for this name. It lived
71
+ * in `project-indexer.ts` purely as a re-export; gitignore loading is this
72
+ * module's concern, not the indexer's.
73
+ */
74
+ export declare function loadGitignore(projectPath: string): Promise<Ignore>;
68
75
  //# sourceMappingURL=ignore-patterns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ignore-patterns.d.ts","sourceRoot":"","sources":["../../../src/services/search/ignore-patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAqB,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAI1E,eAAO,MAAM,kBAAkB,UAAgE,CAAC;AAEhG;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAE1E;AAED,eAAO,MAAM,eAAe,UAmC3B,CAAC;AAyBF,oEAAoE;AACpE,wBAAgB,kCAAkC,IAAI,IAAI,CAEzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAEhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAwB5E"}
1
+ {"version":3,"file":"ignore-patterns.d.ts","sourceRoot":"","sources":["../../../src/services/search/ignore-patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAqB,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAI1E,eAAO,MAAM,kBAAkB,UAAgE,CAAC;AAEhG;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAE1E;AAED,eAAO,MAAM,eAAe,UAmC3B,CAAC;AAyBF,oEAAoE;AACpE,wBAAgB,kCAAkC,IAAI,IAAI,CAEzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAEhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAwB5E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,mBAEhD"}
@@ -155,4 +155,13 @@ export async function loadProjectIgnore(projectPath) {
155
155
  }
156
156
  return ig;
157
157
  }
158
+ /**
159
+ * Historical alias for {@link loadProjectIgnore}, kept because
160
+ * `contextual-search-rlm.ts` and two test suites reach for this name. It lived
161
+ * in `project-indexer.ts` purely as a re-export; gitignore loading is this
162
+ * module's concern, not the indexer's.
163
+ */
164
+ export function loadGitignore(projectPath) {
165
+ return loadProjectIgnore(projectPath);
166
+ }
158
167
  //# sourceMappingURL=ignore-patterns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ignore-patterns.js","sourceRoot":"","sources":["../../../src/services/search/ignore-patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ignore-patterns.js","sourceRoot":"","sources":["../../../src/services/search/ignore-patterns.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,10 @@
27
27
  * Behavior is byte-preserved from rlm-indexing.ts: the bodies moved verbatim
28
28
  * with `rlm.` → `deps.` and the hoisted init statement removed.
29
29
  */
30
+ import { loadGitignore } from "./ignore-patterns.js";
31
+ export { loadGitignore };
32
+ import { EmbeddingIndexStaleError, currentEmbeddingFingerprint } from "./embedding-freshness.js";
33
+ export { EmbeddingIndexStaleError, currentEmbeddingFingerprint };
30
34
  import type { IndexManager } from "./index-manager.js";
31
35
  import type { getKeywordSearch } from "../../data/keyword/keyword-search-factory.js";
32
36
  import type { getVectorStore } from "../vector/vector-store-factory.js";
@@ -60,6 +64,17 @@ export type SearchAdmissionResult = {
60
64
  newFiles?: number;
61
65
  deletedFiles?: number;
62
66
  };
67
+ /**
68
+ * LIP-15 read gate — set on a fingerprint disagreement (the rule itself is
69
+ * in `embedding-freshness.ts`). The caller MUST throw
70
+ * {@link EmbeddingIndexStaleError} rather than reach `search()`; this
71
+ * module never throws it, so degraded-search tests reading only
72
+ * `admitted`/`stale` keep passing unmodified.
73
+ */
74
+ embeddingMismatch?: {
75
+ stored: string;
76
+ current: string;
77
+ };
63
78
  };
64
79
  /**
65
80
  * The narrow dependency record for this module (design.md §4.4) — exactly the
@@ -155,5 +170,4 @@ export declare function checkSearchAdmission(deps: IndexerDeps, projectId: strin
155
170
  export declare function indexFile(deps: IndexerDeps, filePath: string, projectId: string, projectRoot: string, centralityMap?: Map<string, number>): Promise<{
156
171
  chunks: number;
157
172
  }>;
158
- export declare function loadGitignore(projectPath: string): Promise<import("ignore").Ignore>;
159
173
  //# sourceMappingURL=project-indexer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-indexer.d.ts","sourceRoot":"","sources":["../../../src/services/search/project-indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-indexer.d.ts","sourceRoot":"","sources":["../../../src/services/search/project-indexer.ts"],"names":[],"mappings":"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"}
@@ -33,9 +33,15 @@ import path from "path";
33
33
  import { glob } from "glob";
34
34
  import { randomUUID } from "node:crypto";
35
35
  import { smartChunk } from "./smart-chunker.js";
36
- import { buildExtensionGlob, loadProjectIgnore } from "./ignore-patterns.js";
36
+ import { buildExtensionGlob, loadGitignore } from "./ignore-patterns.js";
37
+ export { loadGitignore };
37
38
  import { getProjectIdentityAliasResolver } from "../../kernel/alias-resolver.js";
38
39
  import { ManagedRunRepositoryPg } from "../../data/managed-runs/managed-run-repository-pg.js";
40
+ import { getEmbeddingFingerprint, stampEmbeddingFingerprint, } from "../../data/symbol/symbol-repo-workspace.js";
41
+ import { EmbeddingIndexStaleError, currentEmbeddingFingerprint, embeddingFingerprintMismatch, } from "./embedding-freshness.js";
42
+ // Re-exported so every existing importer of this module keeps working; the
43
+ // declarations moved out to stay under the G-HUB 700-LOC ceiling.
44
+ export { EmbeddingIndexStaleError, currentEmbeddingFingerprint };
39
45
  const globAsync = glob;
40
46
  // ── Mutex ────────────────────────────────────────────────────────────────────
41
47
  /**
@@ -212,10 +218,22 @@ export async function ensureFreshIndex(deps, projectId, projectPath, options = {
212
218
  reason: "no_files_to_reindex",
213
219
  };
214
220
  }
221
+ // LIP-15 write gate: a fingerprint mismatch forces the full-reindex branch
222
+ // below, so a stale project can never take the incremental branch and mix
223
+ // two embedding spaces in one table. `liveFingerprint` is reused after a
224
+ // successful full reindex to stamp the workspace row (the "clearing branch"
225
+ // — design.md §5).
226
+ //
227
+ // This branch has zero production callers today and is kept deliberately;
228
+ // the reachable recovery is `index_project --forceReindex` via
229
+ // `EtlPipeline.run()`. Full reasoning in `embedding-freshness.ts`.
230
+ const liveFingerprint = currentEmbeddingFingerprint();
231
+ const fingerprintMismatch = embeddingFingerprintMismatch(await getEmbeddingFingerprint(projectId), liveFingerprint) !== null;
215
232
  // For full reindex or many changes, clear and reindex
216
233
  const needsFullReindex = staleCheck.reason === "no_index" ||
217
234
  staleCheck.reason === "path_mismatch" ||
218
- filesToReindex.length > maxSyncFiles;
235
+ filesToReindex.length > maxSyncFiles ||
236
+ fingerprintMismatch;
219
237
  if (needsFullReindex && !allowFullReindex) {
220
238
  logger.warn("Deferring full reindex in latency-sensitive path", {
221
239
  projectId,
@@ -260,6 +278,12 @@ export async function ensureFreshIndex(deps, projectId, projectPath, options = {
260
278
  let lease = beginOutcome.lease;
261
279
  try {
262
280
  await deps.indexProject(projectPath, projectId);
281
+ // LIP-15 write gate: stamp only from this clearing branch, only after
282
+ // every row was just rewritten under `liveFingerprint`. Never stamped
283
+ // from the incremental branch below.
284
+ if (liveFingerprint !== null) {
285
+ await stampEmbeddingFingerprint(projectId, liveFingerprint);
286
+ }
263
287
  // Invalidate cache after reindex
264
288
  await deps.searchCache.invalidateProject(projectId);
265
289
  return {
@@ -339,6 +363,20 @@ export async function checkSearchAdmission(deps, projectId, projectPath) {
339
363
  error: `Project '${projectId}' is not indexed. Run index_project first, then retry.`,
340
364
  };
341
365
  }
366
+ // LIP-15 read gate. NULL/no row = legacy or never-stamped: warn once, never
367
+ // block — the next full reindex stamps it. A live fingerprint we can't
368
+ // resolve is treated the same way (see currentEmbeddingFingerprint). Only a
369
+ // stored value that actively disagrees with a resolvable live one blocks.
370
+ const storedFingerprint = await getEmbeddingFingerprint(projectId);
371
+ if (storedFingerprint === null) {
372
+ logger.warn("Workspace has no embedding fingerprint (legacy or never-stamped); skipping the embedding staleness check", { projectId });
373
+ }
374
+ else {
375
+ const embeddingMismatch = embeddingFingerprintMismatch(storedFingerprint);
376
+ if (embeddingMismatch) {
377
+ return { admitted: false, embeddingMismatch };
378
+ }
379
+ }
342
380
  if (projectPath) {
343
381
  const staleCheck = await deps.indexManager.isIndexStale(projectId, projectPath);
344
382
  if (staleCheck.isStale) {
@@ -403,8 +441,4 @@ export async function indexFile(deps, filePath, projectId, projectRoot, centrali
403
441
  ]);
404
442
  return { chunks: chunks.length };
405
443
  }
406
- // ── loadGitignore ────────────────────────────────────────────────────────────
407
- export function loadGitignore(projectPath) {
408
- return loadProjectIgnore(projectPath);
409
- }
410
444
  //# sourceMappingURL=project-indexer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-indexer.js","sourceRoot":"","sources":["../../../src/services/search/project-indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-indexer.js","sourceRoot":"","sources":["../../../src/services/search/project-indexer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-controller.d.ts","sourceRoot":"","sources":["../../../src/services/search/search-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-controller.d.ts","sourceRoot":"","sources":["../../../src/services/search/search-controller.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAK5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,GAAG,CAAC;IACjB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B;;;;;;;;OAQG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,gFAAgF;IAChF,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;CACvC;AAED,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAID,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiC;IACxD,OAAO,CAAC,gBAAgB,CAAsB;IAE9C,OAAO;IAIP,MAAM,CAAC,WAAW,IAAI,gBAAgB;IAOtC,+EAA+E;IAC/E,eAAe,IAAI,mBAAmB;IAMhC,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;YAyQ9D,iBAAiB;IA2B/B,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAgCrD,gBAAgB,CACd,OAAO,EAAE,GAAG,EAAE,EACd,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,GAAG,EAAE;IAsBR;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE;CAcxD"}
@@ -10,6 +10,7 @@ import { ContextualSearchRLM } from "./contextual-search-rlm.js";
10
10
  import { eventBus } from "../events/event-bus.js";
11
11
  import { LLMJudgeReranker } from "./reranker.js";
12
12
  import { projectNotIndexed } from "../../kernel/search-diagnostics.js";
13
+ import { EmbeddingIndexStaleError } from "./project-indexer.js";
13
14
  import { minimatch } from "minimatch";
14
15
  import { validateFilters } from "./filter-validation.js";
15
16
  // ── Controller ───────────────────────────────────────────────
@@ -45,7 +46,36 @@ export class SearchController {
45
46
  // success:false. Replaces the prior silent `results:[]` path.
46
47
  // Tier 2 — WARN: indexed but stale (needs projectPath) → search proceeds,
47
48
  // `staleWarning` attached to the returned result.
48
- const admission = await this.contextualSearch.checkSearchAdmission(projectId, projectPath);
49
+ // The type here is narrower than SearchAdmissionResult — declared on
50
+ // ContextualSearchRLM.checkSearchAdmission ahead of this feature and out
51
+ // of this task's write set — but it always returns the wider shape at
52
+ // runtime, since it delegates straight through. See project-indexer.ts.
53
+ const admission = (await this.contextualSearch.checkSearchAdmission(projectId, projectPath));
54
+ // Tier 1b — LIP-15 HARD-FAIL: a stale embedding fingerprint. Checked
55
+ // before the generic admitted check so this never gets mislabeled as
56
+ // "not indexed" — never returns rows either way.
57
+ //
58
+ // DELIBERATELY before `handleAutoReindex` (`:193` below), even when the
59
+ // caller passed `autoReindex: true` — recovery from a fingerprint
60
+ // mismatch is exclusively via `index_project` with `forceReindex: true`,
61
+ // never a silent self-heal mid-search. Two independent reasons, either
62
+ // one sufficient on its own:
63
+ // 1. `handleAutoReindex` always calls `ensureFreshIndex` with
64
+ // `allowFullReindex: false` (`:388` below) — moving this check
65
+ // after it would not let it self-heal anyway; a fingerprint-forced
66
+ // `needsFullReindex` would just be deferred (see
67
+ // project-indexer.ts's `ensureFreshIndex` CORRECTION note).
68
+ // 2. Design intent (spec.md LIP-15): "must make search fail loudly
69
+ // with a reindex instruction" — an explicit, deliberate recovery a
70
+ // human triggers, not an opportunistic full rebuild racing a search
71
+ // request (a provider/model switch is an operator action, not file
72
+ // drift — the thing `autoReindex` exists to paper over).
73
+ // If a future change makes `handleAutoReindex` allow full reindexes,
74
+ // revisit this ordering deliberately rather than leaving both
75
+ // half-wired.
76
+ if (admission.embeddingMismatch) {
77
+ throw new EmbeddingIndexStaleError(projectId, admission.embeddingMismatch.stored, admission.embeddingMismatch.current);
78
+ }
49
79
  if (!admission.admitted) {
50
80
  throw projectNotIndexed(projectId, admission.error ?? `Project '${projectId}' is not indexed`);
51
81
  }