@cleocode/core 2026.10.15 → 2026.10.16-rc.ci.685

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 (108) hide show
  1. package/dist/build-provenance.json +2 -2
  2. package/dist/cloud/crypto.d.ts +7 -0
  3. package/dist/cloud/crypto.d.ts.map +1 -1
  4. package/dist/cloud/crypto.js +7 -0
  5. package/dist/cloud/crypto.js.map +1 -1
  6. package/dist/cloud/doc-bytes.d.ts +67 -0
  7. package/dist/cloud/doc-bytes.d.ts.map +1 -0
  8. package/dist/cloud/doc-bytes.js +254 -0
  9. package/dist/cloud/doc-bytes.js.map +1 -0
  10. package/dist/cloud/journal.d.ts +63 -1
  11. package/dist/cloud/journal.d.ts.map +1 -1
  12. package/dist/cloud/journal.js +127 -2
  13. package/dist/cloud/journal.js.map +1 -1
  14. package/dist/cloud/nexus-vault.d.ts.map +1 -1
  15. package/dist/cloud/nexus-vault.js +20 -0
  16. package/dist/cloud/nexus-vault.js.map +1 -1
  17. package/dist/hooks/project-runner.d.ts.map +1 -1
  18. package/dist/hooks/project-runner.js +83 -28
  19. package/dist/hooks/project-runner.js.map +1 -1
  20. package/dist/hooks/project-state.d.ts +16 -1
  21. package/dist/hooks/project-state.d.ts.map +1 -1
  22. package/dist/hooks/project-state.js +51 -8
  23. package/dist/hooks/project-state.js.map +1 -1
  24. package/dist/internal.d.ts +1 -1
  25. package/dist/internal.d.ts.map +1 -1
  26. package/dist/memory/brain-embedding.d.ts +6 -0
  27. package/dist/memory/brain-embedding.d.ts.map +1 -1
  28. package/dist/memory/brain-embedding.js.map +1 -1
  29. package/dist/memory/brain-row-types.d.ts +3 -4
  30. package/dist/memory/brain-row-types.d.ts.map +1 -1
  31. package/dist/memory/brain-similarity.d.ts.map +1 -1
  32. package/dist/memory/brain-similarity.js +7 -6
  33. package/dist/memory/brain-similarity.js.map +1 -1
  34. package/dist/memory/brain-writer-handlers.js +2 -2
  35. package/dist/memory/brain-writer-handlers.js.map +1 -1
  36. package/dist/memory/brain-writer-thread.d.ts +4 -2
  37. package/dist/memory/brain-writer-thread.d.ts.map +1 -1
  38. package/dist/memory/brain-writer-thread.js.map +1 -1
  39. package/dist/memory/decisions.d.ts.map +1 -1
  40. package/dist/memory/decisions.js +4 -0
  41. package/dist/memory/decisions.js.map +1 -1
  42. package/dist/memory/embedding-backfill.d.ts +42 -12
  43. package/dist/memory/embedding-backfill.d.ts.map +1 -1
  44. package/dist/memory/embedding-backfill.js +97 -16
  45. package/dist/memory/embedding-backfill.js.map +1 -1
  46. package/dist/memory/embedding-local.d.ts +10 -0
  47. package/dist/memory/embedding-local.d.ts.map +1 -1
  48. package/dist/memory/embedding-local.js +72 -1
  49. package/dist/memory/embedding-local.js.map +1 -1
  50. package/dist/memory/learnings.d.ts.map +1 -1
  51. package/dist/memory/learnings.js +2 -0
  52. package/dist/memory/learnings.js.map +1 -1
  53. package/dist/memory/patterns.d.ts.map +1 -1
  54. package/dist/memory/patterns.js +5 -0
  55. package/dist/memory/patterns.js.map +1 -1
  56. package/dist/memory/retrieval/observe.d.ts +3 -19
  57. package/dist/memory/retrieval/observe.d.ts.map +1 -1
  58. package/dist/memory/retrieval/observe.js +13 -80
  59. package/dist/memory/retrieval/observe.js.map +1 -1
  60. package/dist/memory/sleep-consolidation.js +6 -3
  61. package/dist/memory/sleep-consolidation.js.map +1 -1
  62. package/dist/memory/surprisal.d.ts.map +1 -1
  63. package/dist/memory/surprisal.js +4 -1
  64. package/dist/memory/surprisal.js.map +1 -1
  65. package/dist/memory/temporal-supersession.d.ts.map +1 -1
  66. package/dist/memory/temporal-supersession.js +6 -4
  67. package/dist/memory/temporal-supersession.js.map +1 -1
  68. package/dist/release/pr-evidence.d.ts +4 -2
  69. package/dist/release/pr-evidence.d.ts.map +1 -1
  70. package/dist/release/pr-evidence.js +45 -3
  71. package/dist/release/pr-evidence.js.map +1 -1
  72. package/dist/store/memory-accessor.d.ts +21 -0
  73. package/dist/store/memory-accessor.d.ts.map +1 -1
  74. package/dist/store/memory-accessor.js +39 -0
  75. package/dist/store/memory-accessor.js.map +1 -1
  76. package/dist/store/memory-sqlite.d.ts +21 -0
  77. package/dist/store/memory-sqlite.d.ts.map +1 -1
  78. package/dist/store/memory-sqlite.js +43 -4
  79. package/dist/store/memory-sqlite.js.map +1 -1
  80. package/dist/store/row-identity-registry.d.ts +4 -3
  81. package/dist/store/row-identity-registry.d.ts.map +1 -1
  82. package/dist/store/row-identity-registry.js +8 -17
  83. package/dist/store/row-identity-registry.js.map +1 -1
  84. package/dist/store/table-classification.d.ts.map +1 -1
  85. package/dist/store/table-classification.js +10 -10
  86. package/dist/store/table-classification.js.map +1 -1
  87. package/dist/system/backup.d.ts +27 -0
  88. package/dist/system/backup.d.ts.map +1 -1
  89. package/dist/system/backup.js +67 -8
  90. package/dist/system/backup.js.map +1 -1
  91. package/dist/tasks/affected-packages.d.ts +19 -0
  92. package/dist/tasks/affected-packages.d.ts.map +1 -1
  93. package/dist/tasks/affected-packages.js +31 -0
  94. package/dist/tasks/affected-packages.js.map +1 -1
  95. package/dist/tasks/affected-scope.d.ts.map +1 -1
  96. package/dist/tasks/affected-scope.js +21 -7
  97. package/dist/tasks/affected-scope.js.map +1 -1
  98. package/dist/tasks/done-plan.d.ts.map +1 -1
  99. package/dist/tasks/done-plan.js +23 -7
  100. package/dist/tasks/done-plan.js.map +1 -1
  101. package/dist/tasks/evidence.d.ts.map +1 -1
  102. package/dist/tasks/evidence.js +34 -3
  103. package/dist/tasks/evidence.js.map +1 -1
  104. package/dist/tasks/qa-run-binding.d.ts +5 -1
  105. package/dist/tasks/qa-run-binding.d.ts.map +1 -1
  106. package/dist/tasks/qa-run-binding.js +11 -3
  107. package/dist/tasks/qa-run-binding.js.map +1 -1
  108. package/package.json +13 -13
@@ -1 +1 @@
1
- {"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../src/memory/decisions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../src/memory/decisions.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
1
  /**
2
- * Bounded background embedding backfill (T13126).
2
+ * Background embedding: the write-time embed of a new memory row (T5387) and
3
+ * the bounded backfill of rows without a current vector (T13126).
3
4
  *
4
- * A one-shot process stores observations unembedded (see `brain-host.ts`).
5
+ * A one-shot process stores memory rows unembedded (see `brain-host.ts`).
5
6
  * This helper embeds a bounded batch of them, loading the model once for the
6
7
  * batch instead of once per observe. It runs from:
7
8
  * - the detached `cleo session end` worker, once per session;
8
9
  * - the sentient tick, in an opted-in long-lived host.
9
10
  *
10
- * It does nothing when no observation is pending: the pending count is a plain
11
+ * It does nothing when no row is pending: the pending count is a plain
11
12
  * SQL read, so the model is never loaded for an empty backlog. It runs under
12
13
  * the governor's `background-autonomous` class, which grants a slot only when
13
14
  * memory pressure is `ok`. A deferral skips the batch, and the next session end
@@ -16,7 +17,7 @@
16
17
  * @module
17
18
  * @task T13126
18
19
  */
19
- /** Observations embedded per bounded batch unless the caller says otherwise. */
20
+ /** Memory rows embedded per bounded batch unless the caller says otherwise. */
20
21
  export declare const DEFAULT_EMBEDDING_BACKFILL_LIMIT = 50;
21
22
  /** Outcome of {@link runBoundedEmbeddingBackfill}. */
22
23
  export interface BoundedEmbeddingBackfillResult {
@@ -24,33 +25,46 @@ export interface BoundedEmbeddingBackfillResult {
24
25
  readonly ran: boolean;
25
26
  /** Why no batch ran, when {@link ran} is `false`. */
26
27
  readonly skipped?: 'none-pending' | 'deferred' | 'unavailable';
27
- /** Unembedded observations found before the batch. */
28
+ /** Memory rows without a current vector found before the batch. */
28
29
  readonly pending: number;
29
- /** Observations embedded by this batch. */
30
+ /** Rows embedded by this batch. */
30
31
  readonly processed: number;
31
- /** Observations that failed to embed in this batch. */
32
+ /** Rows that failed to embed in this batch. */
32
33
  readonly errors: number;
33
34
  }
34
35
  /** Options for {@link runBoundedEmbeddingBackfill}. */
35
36
  export interface BoundedEmbeddingBackfillOptions {
36
37
  /**
37
- * Maximum observations to embed, newest first.
38
+ * Maximum memory rows to embed, newest first.
38
39
  * @defaultValue {@link DEFAULT_EMBEDDING_BACKFILL_LIMIT}
39
40
  */
40
41
  readonly limit?: number;
41
42
  }
42
43
  /**
43
- * Count observations that have a narrative but no embedding yet.
44
+ * SQL selecting every current memory row that needs a vector: observations,
45
+ * decisions, learnings and patterns with no embedding, or one from a model
46
+ * other than the bound `?` (T13740). Columns: `id`, `text`, `created_at`.
44
47
  *
45
- * A plain SQL read: it never loads the embedding model.
48
+ * The texts match what `searchSimilar` shows for each kind, so a hit is
49
+ * judged on the text it was embedded from.
50
+ *
51
+ * @returns The SELECT, with one `?` parameter: the current model tag.
52
+ * @task T13740
53
+ */
54
+ export declare function pendingEmbeddingsSql(): string;
55
+ /**
56
+ * Count current memory rows that have no embedding from the current model.
57
+ *
58
+ * A plain SQL read: registering the provider is free, and the model is never
59
+ * loaded here.
46
60
  *
47
61
  * @param projectRoot - Project root directory.
48
62
  * @returns The pending count, or `0` when the brain store or its vector table
49
63
  * is unavailable.
50
64
  */
51
- export declare function countUnembeddedObservations(projectRoot: string): Promise<number>;
65
+ export declare function countUnembeddedMemories(projectRoot: string): Promise<number>;
52
66
  /**
53
- * Embed a bounded batch of unembedded observations, when any exist and the
67
+ * Embed a bounded batch of memory rows without a current vector, when any exist and the
54
68
  * governor admits background work.
55
69
  *
56
70
  * Never throws: the backfill is best-effort enrichment of rows that are already
@@ -67,4 +81,20 @@ export declare function countUnembeddedObservations(projectRoot: string): Promis
67
81
  * ```
68
82
  */
69
83
  export declare function runBoundedEmbeddingBackfill(projectRoot: string, options?: BoundedEmbeddingBackfillOptions): Promise<BoundedEmbeddingBackfillResult>;
84
+ /**
85
+ * Embed one freshly written memory row in the background — long-lived hosts only.
86
+ *
87
+ * T13126: loading the local embedding model costs ~280 MB, and a one-shot
88
+ * process paid it on every write for a single vector. A one-shot process
89
+ * leaves the row unembedded; `populateEmbeddings` fills it later (an opted-in
90
+ * host's tick, the `cleo session end` background batch, or `cleo backfill`).
91
+ * Until then the row is found by BM25/FTS5 only.
92
+ *
93
+ * @param projectRoot - Project whose brain holds the row.
94
+ * @param id - Row id (`O-…`, `D…`, `L-…`, `P-…`).
95
+ * @param text - Text to embed.
96
+ * @task T5387
97
+ * @task T13740
98
+ */
99
+ export declare function scheduleEmbedding(projectRoot: string, id: string, text: string): void;
70
100
  //# sourceMappingURL=embedding-backfill.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"embedding-backfill.d.ts","sourceRoot":"","sources":["../../src/memory/embedding-backfill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,gFAAgF;AAChF,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAEnD,sDAAsD;AACtD,MAAM,WAAW,8BAA8B;IAC7C,0DAA0D;IAC1D,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,GAAG,aAAa,CAAC;IAC/D,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,2CAA2C;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,uDAAuD;AACvD,MAAM,WAAW,+BAA+B;IAC9C;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6BtF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,8BAA8B,CAAC,CAgCzC"}
1
+ {"version":3,"file":"embedding-backfill.d.ts","sourceRoot":"","sources":["../../src/memory/embedding-backfill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AASH,+EAA+E;AAC/E,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAEnD,sDAAsD;AACtD,MAAM,WAAW,8BAA8B;IAC7C,0DAA0D;IAC1D,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,GAAG,aAAa,CAAC;IAC/D,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,mCAAmC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,uDAAuD;AACvD,MAAM,WAAW,+BAA+B;IAC9C;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAoB7C;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0BlF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,8BAA8B,CAAC,CAgCzC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CA8BrF"}
@@ -1,13 +1,14 @@
1
1
  /**
2
- * Bounded background embedding backfill (T13126).
2
+ * Background embedding: the write-time embed of a new memory row (T5387) and
3
+ * the bounded backfill of rows without a current vector (T13126).
3
4
  *
4
- * A one-shot process stores observations unembedded (see `brain-host.ts`).
5
+ * A one-shot process stores memory rows unembedded (see `brain-host.ts`).
5
6
  * This helper embeds a bounded batch of them, loading the model once for the
6
7
  * batch instead of once per observe. It runs from:
7
8
  * - the detached `cleo session end` worker, once per session;
8
9
  * - the sentient tick, in an opted-in long-lived host.
9
10
  *
10
- * It does nothing when no observation is pending: the pending count is a plain
11
+ * It does nothing when no row is pending: the pending count is a plain
11
12
  * SQL read, so the model is never loaded for an empty backlog. It runs under
12
13
  * the governor's `background-autonomous` class, which grants a slot only when
13
14
  * memory pressure is `ok`. A deferral skips the batch, and the next session end
@@ -17,33 +18,62 @@
17
18
  * @task T13126
18
19
  */
19
20
  import { getLogger } from '../logger.js';
21
+ import { embedText, ensureEmbeddingProvider, getEmbeddingProvider } from './brain-embedding.js';
22
+ import { isBrainWriterIsolate, isLongLivedBrainHost } from './brain-host.js';
20
23
  /** Set after the first pending-count failure is logged at warn. */
21
24
  let countFailureWarned = false;
22
- /** Observations embedded per bounded batch unless the caller says otherwise. */
25
+ /** Memory rows embedded per bounded batch unless the caller says otherwise. */
23
26
  export const DEFAULT_EMBEDDING_BACKFILL_LIMIT = 50;
24
27
  /**
25
- * Count observations that have a narrative but no embedding yet.
28
+ * SQL selecting every current memory row that needs a vector: observations,
29
+ * decisions, learnings and patterns with no embedding, or one from a model
30
+ * other than the bound `?` (T13740). Columns: `id`, `text`, `created_at`.
26
31
  *
27
- * A plain SQL read: it never loads the embedding model.
32
+ * The texts match what `searchSimilar` shows for each kind, so a hit is
33
+ * judged on the text it was embedded from.
34
+ *
35
+ * @returns The SELECT, with one `?` parameter: the current model tag.
36
+ * @task T13740
37
+ */
38
+ export function pendingEmbeddingsSql() {
39
+ const sources = [
40
+ // An observation without a narrative stays FTS-only; an empty one embeds its title.
41
+ [
42
+ 'brain_observations',
43
+ "CASE WHEN t.narrative IS NOT NULL THEN coalesce(nullif(t.narrative, ''), t.title) END",
44
+ 't.created_at',
45
+ ],
46
+ ['brain_decisions', "t.decision || ' — ' || coalesce(t.rationale, '')", 't.created_at'],
47
+ ['brain_learnings', 't.insight', 't.created_at'],
48
+ ['brain_patterns', "t.pattern || ' — ' || coalesce(t.context, '')", 't.extracted_at'],
49
+ ];
50
+ const parts = sources.map(([table, text, createdAt]) => `
51
+ SELECT t.id AS id, ${text} AS text, ${createdAt} AS created_at
52
+ FROM main.${table} t CROSS JOIN m
53
+ LEFT JOIN main.brain_embeddings e ON e.id = t.id
54
+ WHERE t.invalid_at IS NULL AND ${text} IS NOT NULL AND (e.id IS NULL OR e.model IS NOT m.model)`);
55
+ return `WITH m(model) AS (SELECT ?) ${parts.join(' UNION ALL ')}`;
56
+ }
57
+ /**
58
+ * Count current memory rows that have no embedding from the current model.
59
+ *
60
+ * A plain SQL read: registering the provider is free, and the model is never
61
+ * loaded here.
28
62
  *
29
63
  * @param projectRoot - Project root directory.
30
64
  * @returns The pending count, or `0` when the brain store or its vector table
31
65
  * is unavailable.
32
66
  */
33
- export async function countUnembeddedObservations(projectRoot) {
67
+ export async function countUnembeddedMemories(projectRoot) {
34
68
  try {
35
69
  const { getBrainDb, getBrainNativeDb } = await import('../store/memory-sqlite.js');
36
70
  await getBrainDb(projectRoot);
37
71
  const nativeDb = getBrainNativeDb(projectRoot);
38
72
  if (!nativeDb)
39
73
  return 0;
74
+ await ensureEmbeddingProvider(projectRoot);
40
75
  const { typedGet } = await import('../store/typed-query.js');
41
- const row = typedGet(nativeDb.prepare(`
42
- SELECT COUNT(*) AS n
43
- FROM main.brain_observations o
44
- LEFT JOIN main.brain_embeddings e ON o.id = e.id
45
- WHERE e.id IS NULL AND o.narrative IS NOT NULL
46
- `));
76
+ const row = typedGet(nativeDb.prepare(`SELECT COUNT(*) AS n FROM (${pendingEmbeddingsSql()})`), getEmbeddingProvider()?.model ?? '');
47
77
  return row?.n ?? 0;
48
78
  }
49
79
  catch (err) {
@@ -51,7 +81,7 @@ export async function countUnembeddedObservations(projectRoot) {
51
81
  // then stay at debug (the backfill runs every tick and session end).
52
82
  const log = getLogger('embedding-backfill');
53
83
  const record = { err, projectRoot };
54
- const msg = 'Unembedded observation count unavailable; skipping the backfill';
84
+ const msg = 'Unembedded memory count unavailable; skipping the backfill';
55
85
  if (countFailureWarned)
56
86
  log.debug(record, msg);
57
87
  else {
@@ -62,7 +92,7 @@ export async function countUnembeddedObservations(projectRoot) {
62
92
  }
63
93
  }
64
94
  /**
65
- * Embed a bounded batch of unembedded observations, when any exist and the
95
+ * Embed a bounded batch of memory rows without a current vector, when any exist and the
66
96
  * governor admits background work.
67
97
  *
68
98
  * Never throws: the backfill is best-effort enrichment of rows that are already
@@ -80,7 +110,7 @@ export async function countUnembeddedObservations(projectRoot) {
80
110
  */
81
111
  export async function runBoundedEmbeddingBackfill(projectRoot, options = {}) {
82
112
  const log = getLogger('embedding-backfill');
83
- const pending = await countUnembeddedObservations(projectRoot);
113
+ const pending = await countUnembeddedMemories(projectRoot);
84
114
  if (pending === 0)
85
115
  return { ran: false, skipped: 'none-pending', pending, processed: 0, errors: 0 };
86
116
  const { admitFailOpen, governor } = await import('../resources/governor.js');
@@ -107,4 +137,55 @@ export async function runBoundedEmbeddingBackfill(projectRoot, options = {}) {
107
137
  await admission.release();
108
138
  }
109
139
  }
140
+ /**
141
+ * Embed one freshly written memory row in the background — long-lived hosts only.
142
+ *
143
+ * T13126: loading the local embedding model costs ~280 MB, and a one-shot
144
+ * process paid it on every write for a single vector. A one-shot process
145
+ * leaves the row unembedded; `populateEmbeddings` fills it later (an opted-in
146
+ * host's tick, the `cleo session end` background batch, or `cleo backfill`).
147
+ * Until then the row is found by BM25/FTS5 only.
148
+ *
149
+ * @param projectRoot - Project whose brain holds the row.
150
+ * @param id - Row id (`O-…`, `D…`, `L-…`, `P-…`).
151
+ * @param text - Text to embed.
152
+ * @task T5387
153
+ * @task T13740
154
+ */
155
+ export function scheduleEmbedding(projectRoot, id, text) {
156
+ if (!isLongLivedBrainHost())
157
+ return;
158
+ setImmediate(() => {
159
+ void (async () => {
160
+ try {
161
+ // T12314: registration is free; availability is checked by embedText.
162
+ if (!(await ensureEmbeddingProvider(projectRoot)))
163
+ return;
164
+ const model = getEmbeddingProvider()?.model;
165
+ const vector = await embedText(text);
166
+ if (!vector || !model)
167
+ return;
168
+ // T13230: inside the writer isolate the open handle IS the chokepoint's,
169
+ // so write directly (enqueueBrainWrite there would start a nested
170
+ // manager). Anywhere else (a main thread whose host ran the write
171
+ // inline, or any other worker thread, T13246) the op has already
172
+ // released the lease and the mutex, so the write goes back through
173
+ // the chokepoint.
174
+ if (isBrainWriterIsolate()) {
175
+ const { getBrainNativeDb } = await import('../store/memory-sqlite.js');
176
+ const { upsertEmbeddingRowsNative } = await import('../store/memory-accessor.js');
177
+ const nativeDb = getBrainNativeDb(projectRoot);
178
+ if (nativeDb)
179
+ upsertEmbeddingRowsNative(nativeDb, model, [{ id, vector }]);
180
+ return;
181
+ }
182
+ const { enqueueBrainWrite } = await import('./brain-writer-thread.js');
183
+ await enqueueBrainWrite({ kind: 'embed', projectRoot, model, rows: [{ id, vector }] });
184
+ }
185
+ catch {
186
+ // Embedding is enrichment — the row is already persisted.
187
+ }
188
+ })();
189
+ });
190
+ }
110
191
  //# sourceMappingURL=embedding-backfill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"embedding-backfill.js","sourceRoot":"","sources":["../../src/memory/embedding-backfill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embedding-backfill.js","sourceRoot":"","sources":["../../src/memory/embedding-backfill.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,14 @@ export declare function isEmbeddingPipelineLoaded(): boolean;
59
59
  * @task T12129 (gh#1217)
60
60
  */
61
61
  export declare function __resetLocalEmbeddingStateForTests(): void;
62
+ /**
63
+ * Override the weights hash a load must match. Test-only.
64
+ *
65
+ * @param sha256 - Expected hex sha256 of `onnx/model.onnx`.
66
+ * @internal
67
+ * @task T13740
68
+ */
69
+ export declare function __setExpectedModelSha256ForTests(sha256: string): void;
62
70
  /**
63
71
  * Local embedding provider backed by @huggingface/transformers.
64
72
  *
@@ -73,6 +81,8 @@ export declare function __resetLocalEmbeddingStateForTests(): void;
73
81
  export declare class LocalEmbeddingProvider implements EmbeddingProvider {
74
82
  /** Number of dimensions produced — must match brain_embeddings vec0 table. */
75
83
  readonly dimensions = 384;
84
+ /** Model tag stored beside every vector this provider produces (T13740). */
85
+ readonly model: string;
76
86
  /**
77
87
  * Whether this provider CAN produce embeddings — not whether it already has.
78
88
  *
@@ -1 +1 @@
1
- {"version":3,"file":"embedding-local.d.ts","sourceRoot":"","sources":["../../src/memory/embedding-local.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAM9D;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,0FACkD,CAAC;AAE1F;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC;IACvD,YAAY,EAAE,cAAc,2BAA2B,CAAC,CAAC;IACzD,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC,CAMD;AA2DD;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,IAAI,IAAI,CAKzD;AAED;;;;;;;;;;GAUG;AACH,qBAAa,sBAAuB,YAAW,iBAAiB;IAC9D,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,OAAwB;IAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;;OAMG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAShD;;;;;OAKG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAS3D;AAKD;;;;GAIG;AACH,wBAAgB,yBAAyB,IAAI,sBAAsB,CAKlE"}
1
+ {"version":3,"file":"embedding-local.d.ts","sourceRoot":"","sources":["../../src/memory/embedding-local.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AA0B9D;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,0FACkD,CAAC;AAE1F;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC;IACvD,YAAY,EAAE,cAAc,2BAA2B,CAAC,CAAC;IACzD,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC,CAMD;AAmGD;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,IAAI,IAAI,CAMzD;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAErE;AAED;;;;;;;;;;GAUG;AACH,qBAAa,sBAAuB,YAAW,iBAAiB;IAC9D,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,OAAwB;IAE3C,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,SAAgF;IAE9F;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;;OAMG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAShD;;;;;OAKG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAS3D;AAKD;;;;GAIG;AACH,wBAAgB,yBAAyB,IAAI,sBAAsB,CAKlE"}
@@ -16,10 +16,30 @@
16
16
  * v4 (upstream rename, same author) which drops the deprecated
17
17
  * `prebuild-install` transitive via `sharp@0.34+`.
18
18
  */
19
+ import { createHash } from 'node:crypto';
20
+ import { createReadStream } from 'node:fs';
21
+ import { join } from 'node:path';
22
+ import { pipeline as streamPipeline } from 'node:stream/promises';
19
23
  import { getLogger } from '../logger.js';
20
24
  import { EMBEDDING_DIMENSIONS } from './brain-embedding.js';
21
25
  /** Model identifier for all-MiniLM-L6-v2 via Xenova hub. */
22
26
  const MODEL_NAME = 'Xenova/all-MiniLM-L6-v2';
27
+ /**
28
+ * Hub revision loaded. Kept at `main`: transformers.js caches any other
29
+ * revision under `<model>/<revision>/`, so pinning a commit would orphan every
30
+ * existing cached model while downloads are opt-in (T13716). The weights'
31
+ * content hash below is the version instead.
32
+ */
33
+ const MODEL_REVISION = 'main';
34
+ /** Weight dtype loaded (`onnx/model.onnx`); part of the stored model tag (T13740). */
35
+ const MODEL_DTYPE = 'fp32';
36
+ /**
37
+ * sha256 of the `onnx/model.onnx` this build embeds with. Every load verifies
38
+ * it, and its 12-hex prefix is the version in the stored model tag (T13740).
39
+ */
40
+ const MODEL_ONNX_SHA256 = '759c3cd2b7fe7e93933ad23c4c9181b7396442a2ed746ec7c1d46192c469c46e';
41
+ /** The weights a load must hash to; swapped only by tests. */
42
+ let _expectedOnnxSha256 = MODEL_ONNX_SHA256;
23
43
  /**
24
44
  * How a user opts into the one-time model download (T13716).
25
45
  *
@@ -82,9 +102,24 @@ async function loadPipeline() {
82
102
  // Dynamic import — only resolves when embedding is explicitly enabled
83
103
  const gated = await importGatedTransformers();
84
104
  allowDownload = gated.allowDownload;
85
- _pipeline = await gated.transformers.pipeline('feature-extraction', MODEL_NAME, {
105
+ const pipeline = await gated.transformers.pipeline('feature-extraction', MODEL_NAME, {
106
+ revision: MODEL_REVISION,
107
+ dtype: MODEL_DTYPE,
86
108
  local_files_only: !allowDownload,
87
109
  });
110
+ // T13740: vectors are tagged with these exact weights; any other file
111
+ // (an updated hub `main`, a corrupt cache) must not write under that tag.
112
+ const onnxPath = join(gated.transformers.env.cacheDir ?? '', MODEL_NAME, 'onnx', 'model.onnx');
113
+ const actual = await hashModelFile(onnxPath);
114
+ if (actual !== _expectedOnnxSha256) {
115
+ const message = `Embedding model ${onnxPath} has sha256 ${actual.slice(0, 12)}…, but this CLEO ` +
116
+ `build embeds with ${_expectedOnnxSha256.slice(0, 12)}…; embeddings are off ` +
117
+ 'and search uses FTS5 only. Replace the cached file or upgrade CLEO.';
118
+ getLogger('embedding-local').warn({ onnxPath, actual }, message);
119
+ // @sync-invariant none:local-only the local model file is not the expected weights; nothing is written
120
+ throw new Error(message);
121
+ }
122
+ _pipeline = pipeline;
88
123
  _ready = true;
89
124
  }
90
125
  catch (err) {
@@ -97,6 +132,29 @@ async function loadPipeline() {
97
132
  throw err;
98
133
  }
99
134
  }
135
+ /**
136
+ * Stream-hash the cached weights file (T13740).
137
+ *
138
+ * @param onnxPath - Cached `onnx/model.onnx`.
139
+ * @returns Its hex sha256.
140
+ * @throws When the file is not in the transformers cache (for example a model
141
+ * served from `env.localModelPath`): the weights cannot be verified.
142
+ */
143
+ async function hashModelFile(onnxPath) {
144
+ const hash = createHash('sha256');
145
+ try {
146
+ await streamPipeline(createReadStream(onnxPath), hash);
147
+ }
148
+ catch (err) {
149
+ const message = `Embedding model weights are not at ${onnxPath}, so they cannot be verified against ` +
150
+ `this CLEO build (${_expectedOnnxSha256.slice(0, 12)}…); embeddings are off and search ` +
151
+ 'uses FTS5 only. CLEO only loads the model from the transformers cache.';
152
+ getLogger('embedding-local').warn({ onnxPath, err }, message);
153
+ // @sync-invariant none:local-only the local model file is missing; nothing is written
154
+ throw new Error(message);
155
+ }
156
+ return hash.digest('hex');
157
+ }
100
158
  /**
101
159
  * Has the pipeline actually been loaded in this process?
102
160
  *
@@ -122,6 +180,17 @@ export function __resetLocalEmbeddingStateForTests() {
122
180
  _ready = false;
123
181
  _loadFailed = false;
124
182
  _loadError = null;
183
+ _expectedOnnxSha256 = MODEL_ONNX_SHA256;
184
+ }
185
+ /**
186
+ * Override the weights hash a load must match. Test-only.
187
+ *
188
+ * @param sha256 - Expected hex sha256 of `onnx/model.onnx`.
189
+ * @internal
190
+ * @task T13740
191
+ */
192
+ export function __setExpectedModelSha256ForTests(sha256) {
193
+ _expectedOnnxSha256 = sha256;
125
194
  }
126
195
  /**
127
196
  * Local embedding provider backed by @huggingface/transformers.
@@ -137,6 +206,8 @@ export function __resetLocalEmbeddingStateForTests() {
137
206
  export class LocalEmbeddingProvider {
138
207
  /** Number of dimensions produced — must match brain_embeddings vec0 table. */
139
208
  dimensions = EMBEDDING_DIMENSIONS;
209
+ /** Model tag stored beside every vector this provider produces (T13740). */
210
+ model = `${MODEL_NAME}@onnx-sha256:${MODEL_ONNX_SHA256.slice(0, 12)}:${MODEL_DTYPE}`;
140
211
  /**
141
212
  * Whether this provider CAN produce embeddings — not whether it already has.
142
213
  *
@@ -1 +1 @@
1
- {"version":3,"file":"embedding-local.js","sourceRoot":"","sources":["../../src/memory/embedding-local.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embedding-local.js","sourceRoot":"","sources":["../../src/memory/embedding-local.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"learnings.d.ts","sourceRoot":"","sources":["../../src/memory/learnings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,6CAA6C;AAC7C,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AASD;;;GAGG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8LnF;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,oBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiC3F;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM;;;;;;;GA2BtD"}
1
+ {"version":3,"file":"learnings.d.ts","sourceRoot":"","sources":["../../src/memory/learnings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,6CAA6C;AAC7C,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AASD;;;GAGG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+LnF;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,oBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiC3F;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM;;;;;;;GA2BtD"}
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import { createHash, randomBytes } from 'node:crypto';
13
13
  import { getBrainAccessor } from '../store/memory-accessor.js';
14
+ import { scheduleEmbedding } from './embedding-backfill.js';
14
15
  import { upsertGraphNode } from './graph-auto-populate.js';
15
16
  import { computeLearningQuality } from './quality-scoring.js';
16
17
  /**
@@ -170,6 +171,7 @@ export async function storeLearning(projectRoot, params) {
170
171
  contentHash: contentHashValue,
171
172
  };
172
173
  const saved = await accessor.addLearning(entry);
174
+ scheduleEmbedding(projectRoot, saved.id, saved.insight);
173
175
  // Auto-populate graph node for the new learning (best-effort, T537).
174
176
  upsertGraphNode(projectRoot, `learning:${saved.id}`, 'learning', saved.insight.substring(0, 200), qualityScore, saved.insight + (saved.application ?? ''), { source: saved.source, confidence: saved.confidence, actionable: saved.actionable }).catch(() => {
175
177
  /* best-effort */