@tenphi/akno-core 0.6.0 → 0.8.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 (114) hide show
  1. package/README.md +4 -1
  2. package/config/default.jsonc +7 -5
  3. package/dist/bench/answer.js +5 -2
  4. package/dist/bench/answer.js.map +1 -1
  5. package/dist/config/schema.d.ts +8 -0
  6. package/dist/config/schema.d.ts.map +1 -1
  7. package/dist/config/schema.js +2 -0
  8. package/dist/config/schema.js.map +1 -1
  9. package/dist/index/chunk.d.ts.map +1 -1
  10. package/dist/index/chunk.js +54 -17
  11. package/dist/index/chunk.js.map +1 -1
  12. package/dist/index/derive.d.ts.map +1 -1
  13. package/dist/index/derive.js +17 -0
  14. package/dist/index/derive.js.map +1 -1
  15. package/dist/index/graph.d.ts +3 -0
  16. package/dist/index/graph.d.ts.map +1 -1
  17. package/dist/index/graph.js +131 -3
  18. package/dist/index/graph.js.map +1 -1
  19. package/dist/index/indexer.d.ts +9 -0
  20. package/dist/index/indexer.d.ts.map +1 -1
  21. package/dist/index/indexer.js +66 -3
  22. package/dist/index/indexer.js.map +1 -1
  23. package/dist/index.d.ts +2 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/kb/managed-lines.d.ts +3 -0
  27. package/dist/kb/managed-lines.d.ts.map +1 -1
  28. package/dist/kb/managed-lines.js +21 -1
  29. package/dist/kb/managed-lines.js.map +1 -1
  30. package/dist/kb/page.d.ts +4 -1
  31. package/dist/kb/page.d.ts.map +1 -1
  32. package/dist/kb/page.js +5 -0
  33. package/dist/kb/page.js.map +1 -1
  34. package/dist/maintenance/dream.d.ts +1 -1
  35. package/dist/maintenance/dream.d.ts.map +1 -1
  36. package/dist/maintenance/dream.js +547 -198
  37. package/dist/maintenance/dream.js.map +1 -1
  38. package/dist/maintenance/observation-migration.d.ts +17 -0
  39. package/dist/maintenance/observation-migration.d.ts.map +1 -0
  40. package/dist/maintenance/observation-migration.js +217 -0
  41. package/dist/maintenance/observation-migration.js.map +1 -0
  42. package/dist/maintenance/observe.d.ts +20 -3
  43. package/dist/maintenance/observe.d.ts.map +1 -1
  44. package/dist/maintenance/observe.js +95 -24
  45. package/dist/maintenance/observe.js.map +1 -1
  46. package/dist/maintenance/path-policy.d.ts.map +1 -1
  47. package/dist/maintenance/path-policy.js +2 -2
  48. package/dist/maintenance/path-policy.js.map +1 -1
  49. package/dist/maintenance/plans.d.ts +28 -1
  50. package/dist/maintenance/plans.d.ts.map +1 -1
  51. package/dist/maintenance/plans.js +360 -17
  52. package/dist/maintenance/plans.js.map +1 -1
  53. package/dist/memory/intent.d.ts +22 -0
  54. package/dist/memory/intent.d.ts.map +1 -0
  55. package/dist/memory/intent.js +59 -0
  56. package/dist/memory/intent.js.map +1 -0
  57. package/dist/memory/projection.d.ts +23 -0
  58. package/dist/memory/projection.d.ts.map +1 -0
  59. package/dist/memory/projection.js +151 -0
  60. package/dist/memory/projection.js.map +1 -0
  61. package/dist/models/client.d.ts.map +1 -1
  62. package/dist/models/client.js +8 -3
  63. package/dist/models/client.js.map +1 -1
  64. package/dist/models/provider-api.d.ts.map +1 -1
  65. package/dist/models/provider-api.js +4 -2
  66. package/dist/models/provider-api.js.map +1 -1
  67. package/dist/models/provider-request.d.ts +22 -0
  68. package/dist/models/provider-request.d.ts.map +1 -0
  69. package/dist/models/provider-request.js +95 -0
  70. package/dist/models/provider-request.js.map +1 -0
  71. package/dist/observations/marker.d.ts +27 -0
  72. package/dist/observations/marker.d.ts.map +1 -0
  73. package/dist/observations/marker.js +238 -0
  74. package/dist/observations/marker.js.map +1 -0
  75. package/dist/observations/projection.d.ts +23 -0
  76. package/dist/observations/projection.d.ts.map +1 -0
  77. package/dist/observations/projection.js +349 -0
  78. package/dist/observations/projection.js.map +1 -0
  79. package/dist/open.d.ts +3 -0
  80. package/dist/open.d.ts.map +1 -1
  81. package/dist/open.js +2 -0
  82. package/dist/open.js.map +1 -1
  83. package/dist/ops/answer.d.ts.map +1 -1
  84. package/dist/ops/answer.js +184 -17
  85. package/dist/ops/answer.js.map +1 -1
  86. package/dist/ops/context.d.ts.map +1 -1
  87. package/dist/ops/context.js +24 -4
  88. package/dist/ops/context.js.map +1 -1
  89. package/dist/ops/graph.d.ts.map +1 -1
  90. package/dist/ops/graph.js +101 -8
  91. package/dist/ops/graph.js.map +1 -1
  92. package/dist/ops/read.d.ts.map +1 -1
  93. package/dist/ops/read.js +9 -3
  94. package/dist/ops/read.js.map +1 -1
  95. package/dist/ops/recall.d.ts.map +1 -1
  96. package/dist/ops/recall.js +120 -69
  97. package/dist/ops/recall.js.map +1 -1
  98. package/dist/recall/assemble.d.ts +4 -1
  99. package/dist/recall/assemble.d.ts.map +1 -1
  100. package/dist/recall/assemble.js +43 -9
  101. package/dist/recall/assemble.js.map +1 -1
  102. package/dist/recall/graph-arm.js +9 -1
  103. package/dist/recall/graph-arm.js.map +1 -1
  104. package/dist/recall/search.d.ts.map +1 -1
  105. package/dist/recall/search.js +2 -1
  106. package/dist/recall/search.js.map +1 -1
  107. package/dist/store/db.d.ts.map +1 -1
  108. package/dist/store/db.js +7 -1
  109. package/dist/store/db.js.map +1 -1
  110. package/dist/store/migrations.d.ts +3 -1
  111. package/dist/store/migrations.d.ts.map +1 -1
  112. package/dist/store/migrations.js +126 -1
  113. package/dist/store/migrations.js.map +1 -1
  114. package/package.json +2 -2
@@ -3,6 +3,8 @@ import { indexDegradation } from "../context.js";
3
3
  import { expandQuery, inferMode, splitMultiPart } from "../recall/expand.js";
4
4
  import { graphRecallCandidates } from "../recall/graph-arm.js";
5
5
  import { fuseHits, hybridSearch, normalizeScores, rerankHits } from "../recall/search.js";
6
+ import { inferMemoryView } from "../memory/intent.js";
7
+ import { managedMemoryProjectionForView } from "../memory/projection.js";
6
8
  /**
7
9
  * The retrieval op. Expand → hybrid search → rerank → assemble → fit a
8
10
  * budget. `mode` selects the expansion strategy and is inferred from the query
@@ -15,6 +17,7 @@ import { fuseHits, hybridSearch, normalizeScores, rerankHits } from "../recall/s
15
17
  export async function recall(ctx, rawInput) {
16
18
  const input = RecallInput.parse(rawInput);
17
19
  const mode = input.mode ?? inferMode(input.query);
20
+ const memoryView = input.memory_view ?? inferMemoryView(input.query, mode);
18
21
  const depth = input.depth ?? (mode === 'explore' ? 'summary' : 'lines');
19
22
  const limit = input.limit ?? (mode === 'explore' ? ctx.config.recall.defaultLimit * 2 : ctx.config.recall.defaultLimit);
20
23
  const budget = input.budget ?? ctx.config.recall.defaultBudget;
@@ -30,6 +33,7 @@ export async function recall(ctx, rawInput) {
30
33
  searched: [input.query],
31
34
  budget_used: 0,
32
35
  mode,
36
+ memory_view: memoryView,
33
37
  scores: 'relative',
34
38
  note: 'the index holds no chunks yet — run `akno index`',
35
39
  };
@@ -57,97 +61,122 @@ export async function recall(ctx, rawInput) {
57
61
  searched: dedupe(allQueries),
58
62
  budget_used: 0,
59
63
  mode,
64
+ memory_view: memoryView,
60
65
  scores: 'relative',
61
66
  note: 'the filter matched no indexed evidence',
62
67
  };
63
68
  }
64
- let search;
65
- try {
66
- search = await hybridSearch(ctx.store, ctx.models.embedding, {
69
+ const projection = managedMemoryProjectionForView(ctx.store, memoryView);
70
+ if (projection.degraded)
71
+ degraded.add('partial_memory_index');
72
+ const eligibleChunkIds = intersectChunkIds(chunkIds, projection.eligibleChunkIds);
73
+ const contextualChunkIds = intersectChunkIds(chunkIds, projection.contextualChunkIds);
74
+ const runSearch = async (allowedChunkIds) => {
75
+ if (allowedChunkIds.size === 0)
76
+ return { hits: [], qualification: null, scores: 'relative' };
77
+ const search = await hybridSearch(ctx.store, ctx.models.embedding, {
67
78
  queries: dedupe(allQueries),
68
79
  vectorTexts: dedupe(allVectorTexts),
69
80
  candidatesPerArm: ctx.config.recall.candidatesPerArm,
70
81
  prefilterAbove: ctx.config.index.annThresholdChunks,
71
- ...(chunkIds ? { chunkIds } : {}),
82
+ chunkIds: allowedChunkIds,
72
83
  });
84
+ for (const reason of search.degraded)
85
+ degraded.add(reason);
86
+ notes.push(...search.notes);
87
+ let hits = search.hits;
88
+ if (input.graph ?? ctx.config.recall.graph) {
89
+ try {
90
+ const graphResult = await graphRecallCandidates(ctx, input.query, search.hits, allowedChunkIds);
91
+ for (const reason of graphResult.degraded)
92
+ degraded.add(reason);
93
+ notes.push(...graphResult.notes);
94
+ if (graphResult.hits.length > 0)
95
+ hits = fuseHits([...search.arms, graphResult.hits]);
96
+ }
97
+ catch {
98
+ degraded.add('no_graph_index');
99
+ notes.push('the structural graph candidate arm was unavailable');
100
+ }
101
+ }
102
+ let reranked = false;
103
+ let qualification = null;
104
+ const shouldRerank = input.rerank ?? true;
105
+ if (shouldRerank && hits.length > 0 && ctx.models.reranker.available) {
106
+ const result = await rerankHits(ctx.store, ctx.models.reranker, input.query, hits, ctx.config.models.reranker.topK ?? 40, ctx.config.models.reranker.maxChars ?? 800, ctx.config.models.reranker.scoreOffset ?? 'auto', ctx.config.models.reranker.excludeIrrelevant ?? true);
107
+ hits = result.hits;
108
+ qualification = result.qualification;
109
+ reranked = result.degraded === null;
110
+ if (result.degraded)
111
+ degraded.add(result.degraded);
112
+ if (result.note)
113
+ notes.push(result.note);
114
+ }
115
+ else if (shouldRerank && ctx.models.reranker.requested && !ctx.models.reranker.available) {
116
+ degraded.add(ctx.models.reranker.degradedReason({}));
117
+ if (ctx.models.reranker.unavailableReason)
118
+ notes.push(ctx.models.reranker.unavailableReason);
119
+ }
120
+ if (!reranked)
121
+ hits = normalizeScores(hits);
122
+ return {
123
+ hits,
124
+ qualification,
125
+ scores: hits.some((hit) => hit.relevance !== undefined) ? 'absolute' : 'relative',
126
+ };
127
+ };
128
+ const assemble = (hits, memorySelection) => ctx.assembler.assemble({
129
+ hits,
130
+ mode,
131
+ depth,
132
+ lineWindow: mode === 'question'
133
+ ? Math.max(2, Math.ceil(ctx.config.recall.lineWindow / 2))
134
+ : ctx.config.recall.lineWindow,
135
+ limit,
136
+ budget,
137
+ concepts: dedupe(allConcepts),
138
+ include: input.include ?? null,
139
+ memoryView,
140
+ memorySelection,
141
+ });
142
+ let pipeline;
143
+ try {
144
+ pipeline = await runSearch(eligibleChunkIds);
73
145
  }
74
146
  catch (err) {
75
- // The index could not be read. Say so — an agent can honestly offer to check
76
- // again, which it cannot do if this returns as "nothing recorded".
77
147
  return {
78
148
  status: 'unavailable',
79
149
  results: [],
80
150
  searched: dedupe(allQueries),
81
151
  budget_used: 0,
82
152
  mode,
153
+ memory_view: memoryView,
83
154
  scores: 'relative',
84
155
  note: err instanceof Error ? err.message : String(err),
85
156
  };
86
157
  }
87
- for (const reason of search.degraded)
88
- degraded.add(reason);
89
- notes.push(...search.notes);
90
- let hits = search.hits;
91
- if (input.graph ?? ctx.config.recall.graph) {
158
+ let assembled = assemble(pipeline.hits, 'eligible');
159
+ let contextualFallback = false;
160
+ if (!hasExactEvidence(assembled.results) && depth !== 'summary' && contextualChunkIds.size > 0) {
92
161
  try {
93
- const graphResult = await graphRecallCandidates(ctx, input.query, search.hits, chunkIds ?? undefined);
94
- for (const reason of graphResult.degraded)
95
- degraded.add(reason);
96
- notes.push(...graphResult.notes);
97
- if (graphResult.hits.length > 0)
98
- hits = fuseHits([...search.arms, graphResult.hits]);
162
+ pipeline = await runSearch(contextualChunkIds);
163
+ assembled = assemble(pipeline.hits, 'contextual');
164
+ contextualFallback = assembled.results.length > 0;
99
165
  }
100
- catch {
101
- // Graph retrieval is an optional candidate arm. Its failure weakens recall, but must not erase the
102
- // lexical and vector evidence that is still readable or pretend their result proves absence.
103
- degraded.add('no_graph_index');
104
- notes.push('the structural graph candidate arm was unavailable');
166
+ catch (err) {
167
+ return {
168
+ status: 'unavailable',
169
+ results: [],
170
+ searched: dedupe(allQueries),
171
+ budget_used: 0,
172
+ mode,
173
+ memory_view: memoryView,
174
+ scores: 'relative',
175
+ note: err instanceof Error ? err.message : String(err),
176
+ };
105
177
  }
106
178
  }
107
- let reranked = false;
108
- let qualification = null;
109
- const shouldRerank = input.rerank ?? true;
110
- if (shouldRerank && hits.length > 0 && ctx.models.reranker.available) {
111
- const result = await rerankHits(ctx.store, ctx.models.reranker, input.query, hits, ctx.config.models.reranker.topK ?? 40, ctx.config.models.reranker.maxChars ?? 800, ctx.config.models.reranker.scoreOffset ?? 'auto', ctx.config.models.reranker.excludeIrrelevant ?? true);
112
- hits = result.hits;
113
- qualification = result.qualification;
114
- reranked = result.degraded === null;
115
- if (result.degraded)
116
- degraded.add(result.degraded);
117
- if (result.note)
118
- notes.push(result.note);
119
- }
120
- else if (shouldRerank && ctx.models.reranker.requested && !ctx.models.reranker.available) {
121
- // `requested` rather than `enabled`: the resolved `enabled` is already false
122
- // whenever the role is unusable, so testing it here could never fire and a
123
- // user who asked for a reranker would never be told they are not getting one.
124
- degraded.add(ctx.models.reranker.degradedReason({}));
125
- if (ctx.models.reranker.unavailableReason)
126
- notes.push(ctx.models.reranker.unavailableReason);
127
- }
128
- // Fused ranks only mean something relative to each other, so put them on a
129
- // readable scale when a cross-encoder did not supply an absolute one. `relevance`
130
- // survives this untouched — it is the field a caller may threshold.
131
- if (!reranked)
132
- hits = normalizeScores(hits);
133
- const scores = hits.some((hit) => hit.relevance !== undefined)
134
- ? 'absolute'
135
- : 'relative';
136
- const assembled = ctx.assembler.assemble({
137
- hits,
138
- mode,
139
- depth,
140
- // A lookup wants deep line windows around what matched; a question wants
141
- // tight ones across more cards, because the answer is usually one line and
142
- // the surrounding paragraph is budget spent on nothing.
143
- lineWindow: mode === 'question'
144
- ? Math.max(2, Math.ceil(ctx.config.recall.lineWindow / 2))
145
- : ctx.config.recall.lineWindow,
146
- limit,
147
- budget,
148
- concepts: dedupe(allConcepts),
149
- include: input.include ?? null,
150
- });
179
+ const { qualification, scores } = pipeline;
151
180
  const documentStates = assembled.results.flatMap((result) => result.type === 'document'
152
181
  ? result.availability
153
182
  ? [result.availability]
@@ -171,6 +200,7 @@ export async function recall(ctx, rawInput) {
171
200
  searched,
172
201
  budget_used: 0,
173
202
  mode,
203
+ memory_view: memoryView,
174
204
  scores,
175
205
  ...(assembled.coverage ? { coverage: assembled.coverage } : {}),
176
206
  ...(qualification ? { qualification } : {}),
@@ -189,6 +219,7 @@ export async function recall(ctx, rawInput) {
189
219
  searched,
190
220
  budget_used: assembled.budgetUsed,
191
221
  mode,
222
+ memory_view: memoryView,
192
223
  scores,
193
224
  ...(assembled.coverage ? { coverage: assembled.coverage } : {}),
194
225
  ...(qualification ? { qualification } : {}),
@@ -202,16 +233,36 @@ export async function recall(ctx, rawInput) {
202
233
  searched,
203
234
  budget_used: assembled.budgetUsed,
204
235
  mode,
236
+ memory_view: memoryView,
205
237
  scores,
206
238
  ...(assembled.coverage ? { coverage: assembled.coverage } : {}),
207
239
  ...(qualification ? { qualification } : {}),
208
- ...(hasMissingDocumentEvidence
240
+ ...(contextualFallback
209
241
  ? {
210
- note: 'some document evidence is retained from an indexed copy or rendition because its original is missing',
242
+ note: `related retained memory exists, but it is not eligible for the ${memoryView} view`,
211
243
  }
212
- : {}),
244
+ : hasMissingDocumentEvidence
245
+ ? {
246
+ note: 'some document evidence is retained from an indexed copy or rendition because its original is missing',
247
+ }
248
+ : {}),
213
249
  };
214
250
  }
251
+ function hasExactEvidence(results) {
252
+ return results.some((result) => result.type === 'document'
253
+ ? Boolean(result.quote?.trim())
254
+ : result.lines.length > 0 ||
255
+ result.documents?.some((document) => Boolean(document.quote?.trim())) === true);
256
+ }
257
+ function intersectChunkIds(left, right) {
258
+ if (!left)
259
+ return new Set(right);
260
+ const out = new Set();
261
+ for (const value of left)
262
+ if (right.has(value))
263
+ out.add(value);
264
+ return out;
265
+ }
215
266
  /** Filters resolve to native chunk identities so both page and document evidence can participate. */
216
267
  function resolveFilter(ctx, input) {
217
268
  const filter = input.filter;
@@ -1 +1 @@
1
- {"version":3,"file":"recall.js","sourceRoot":"","sources":["../../src/ops/recall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recall.js","sourceRoot":"","sources":["../../src/ops/recall.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Card, Depth, PageRole, RecallMode, RecallResult } from '@tenphi/akno-protocol';
1
+ import type { Card, Depth, MemoryView, PageRole, RecallMode, RecallResult } from '@tenphi/akno-protocol';
2
2
  import type { AknoConfig } from '../config/schema.ts';
3
3
  import type { Store } from '../store/db.ts';
4
4
  import type { ChunkHit } from './search.ts';
@@ -14,6 +14,8 @@ export interface AssembleOptions {
14
14
  concepts: string[];
15
15
  /** `include: ['source'], depth: 'full'` lifts the source quote cap. */
16
16
  include: PageRole[] | null;
17
+ memoryView: MemoryView;
18
+ memorySelection: 'eligible' | 'contextual';
17
19
  }
18
20
  export interface Assembled {
19
21
  results: RecallResult[];
@@ -48,6 +50,7 @@ export declare class Assembler {
48
50
  * at the wrong line is worse than no citation: cite or stay quiet.
49
51
  */
50
52
  private readLines;
53
+ private qualifyObservationLines;
51
54
  private factsFor;
52
55
  private linksFor;
53
56
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"assemble.d.ts","sourceRoot":"","sources":["../../src/recall/assemble.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,IAAI,EACJ,KAAK,EAGL,QAAQ,EACR,UAAU,EAGV,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAK5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,UAAU,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,uEAAuE;IACvE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC;CACtB;AAkBD;;;GAGG;AACH,qBAAa,SAAS;;gBAIR,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK;IAK5C,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS;IA4G7C,OAAO,CAAC,UAAU;IAYlB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,iBAAiB;IAmEzB,OAAO,CAAC,SAAS;IAwDjB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IA8CjB,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,QAAQ;IAShB;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;IAuFpB,0FAA0F;IAC1F,OAAO,CAAC,SAAS;CAUlB;AAcD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,EAAE,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6BzB;AAoBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,GAAG,MAAM,CAwBhE"}
1
+ {"version":3,"file":"assemble.d.ts","sourceRoot":"","sources":["../../src/recall/assemble.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,IAAI,EACJ,KAAK,EAGL,UAAU,EACV,QAAQ,EACR,UAAU,EAGV,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAK5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,UAAU,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,uEAAuE;IACvE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,UAAU,GAAG,YAAY,CAAC;CAC5C;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC;CACtB;AAkBD;;;GAGG;AACH,qBAAa,SAAS;;gBAIR,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK;IAK5C,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS;IAiH7C,OAAO,CAAC,UAAU;IAsBlB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,iBAAiB;IAmEzB,OAAO,CAAC,SAAS;IAyDjB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAsDjB,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,QAAQ;IAShB;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;IAuFpB,0FAA0F;IAC1F,OAAO,CAAC,SAAS;CAUlB;AAsBD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,EAAE,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6BzB;AAoBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,GAAG,MAAM,CAwBhE"}
@@ -2,10 +2,12 @@ import fs from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { annotateLines, LINE_FACT_COLUMNS } from "../kb/line-facts.js";
4
4
  import { qualifyManagedMemoryLines } from "../kb/managed-lines.js";
5
+ import { qualifyObservationLines } from "../observations/projection.js";
5
6
  import { isObservation } from "../kb/page.js";
6
7
  import { effectiveRule } from "../rules/compile.js";
7
8
  import { documentAvailability } from "../ingest/availability.js";
8
9
  import { canSuggestDocumentAdoption } from "../ingest/adoption-eligibility.js";
10
+ import { qualificationEligibleForView } from "../memory/intent.js";
9
11
  /**
10
12
  * Recall returns page or document cards — never chunks. A chunk boundary is an
11
13
  * indexing artifact and means nothing to a reader.
@@ -46,14 +48,16 @@ export class Assembler {
46
48
  .map((entry) => {
47
49
  const page = this.pageRow(entry.pageId);
48
50
  return page
49
- ? {
50
- kind: 'page',
51
- ranked: entry.score * this.rankFactor(page),
52
- result: this.pageResult(page, entry.hits, entry.score * this.rankFactor(page), entry.relevance, options),
53
- }
51
+ ? (() => {
52
+ const result = this.pageResult(page, entry.hits, entry.score * this.rankFactor(page), entry.relevance, options);
53
+ return { kind: 'page', ranked: result.score, result };
54
+ })()
54
55
  : null;
55
56
  })
56
57
  .filter((entry) => entry !== null)
58
+ .filter((entry) => options.memorySelection !== 'contextual' ||
59
+ entry.result.lines.length > 0 ||
60
+ entry.result.documents?.some((document) => Boolean(document.quote?.trim())) === true)
57
61
  .filter((entry) => !options.include || options.include.includes(entry.result.role));
58
62
  // Orphan parts are grouped again by their durable group key. The search identity remains
59
63
  // the matching document id; assembly is where scanner-split files become one reader object.
@@ -115,6 +119,14 @@ export class Assembler {
115
119
  }
116
120
  pageResult(page, hits, score, relevance, options) {
117
121
  const card = this.buildCard(page, hits, score, options);
122
+ // A co-located page can return authored context beside the matched owned block. Treat the
123
+ // card as observation-backed whenever that block is in the evidence window; requiring every
124
+ // adjacent line to be derived would accidentally give the L2 claim authored-fact rank.
125
+ const observationBacked = card.lines.some((line) => line.observation?.status === 'eligible');
126
+ if (observationBacked) {
127
+ const patternIntent = options.concepts.some((concept) => /\b(pattern|tendenc|habit|usually|often|recurr|consistent)\w*\b/i.test(concept));
128
+ card.score = round(card.score * (patternIntent ? 1.15 : 0.65));
129
+ }
118
130
  if (relevance !== undefined)
119
131
  card.relevance = round(relevance);
120
132
  return { type: 'page', ...card };
@@ -224,7 +236,8 @@ export class Assembler {
224
236
  : options.depth === 'full'
225
237
  ? Number.POSITIVE_INFINITY
226
238
  : options.lineWindow;
227
- const lines = maxLines === 0 || bodyHits.length === 0 ? [] : this.readLines(page, bodyHits, maxLines, options.depth);
239
+ const rawLines = maxLines === 0 || bodyHits.length === 0 ? [] : this.readLines(page, bodyHits, maxLines, options.depth);
240
+ const lines = rawLines.filter((line) => memoryLineMatches(line, options));
228
241
  const facts = this.factsFor(page.id);
229
242
  const card = {
230
243
  slug: page.slug,
@@ -271,7 +284,7 @@ export class Assembler {
271
284
  const lines = allLines
272
285
  .map((text, index) => ({ n: index + 1, text }))
273
286
  .filter((line) => line.text.trim().length > 0);
274
- return qualifyManagedMemoryLines(lines, allLines);
287
+ return this.qualifyObservationLines(page.id, qualifyManagedMemoryLines(lines, allLines, { store: this.#store, pageId: page.id }), allLines);
275
288
  }
276
289
  // Collect the line ranges of the matching chunks, best first.
277
290
  const ranges = [];
@@ -306,7 +319,10 @@ export class Assembler {
306
319
  if (out.length >= maxLines)
307
320
  break;
308
321
  }
309
- return qualifyManagedMemoryLines(out, allLines);
322
+ return this.qualifyObservationLines(page.id, qualifyManagedMemoryLines(out, allLines, { store: this.#store, pageId: page.id }), allLines);
323
+ }
324
+ qualifyObservationLines(pageId, lines, allLines) {
325
+ return qualifyObservationLines(this.#store, pageId, lines, allLines).filter((line) => !line.observation || line.observation.status === 'eligible');
310
326
  }
311
327
  factsFor(pageId) {
312
328
  return this.#store.db
@@ -420,6 +436,15 @@ export class Assembler {
420
436
  return new Map(rows.map((row) => [row.id, row]));
421
437
  }
422
438
  }
439
+ function memoryLineMatches(line, options) {
440
+ const memory = line.memory;
441
+ if (!memory)
442
+ return options.memorySelection === 'eligible';
443
+ if (memory.status !== 'qualified')
444
+ return options.memorySelection === 'contextual';
445
+ const eligible = qualificationEligibleForView(memory, options.memoryView);
446
+ return options.memorySelection === 'eligible' ? eligible : !eligible;
447
+ }
423
448
  /**
424
449
  * Facts are never returned to the agent on their own. They arrive attached to
425
450
  * the page card they belong to, so a claim is always seen in its context — here,
@@ -524,7 +549,15 @@ function graphPathTokens(paths) {
524
549
  return (paths ?? []).flatMap((graphPath) => [
525
550
  ...graphPath.nodes.map((node) => node.slug ?? node.label ?? node.document ?? node.id),
526
551
  graphPath.relations.join(' '),
527
- ...graphPath.evidence.map((locator) => [locator.slug, locator.document, locator.event, locator.fact, locator.line_start, locator.field]
552
+ ...graphPath.evidence.map((locator) => [
553
+ locator.slug,
554
+ locator.document,
555
+ locator.event,
556
+ locator.fact,
557
+ locator.memory,
558
+ locator.line_start,
559
+ locator.field,
560
+ ]
528
561
  .filter((value) => value !== undefined)
529
562
  .join(' ')),
530
563
  ]);
@@ -547,6 +580,7 @@ function graphPathFields(hits) {
547
580
  locator.document,
548
581
  locator.event,
549
582
  locator.fact,
583
+ locator.memory,
550
584
  locator.line_start,
551
585
  locator.field,
552
586
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"assemble.js","sourceRoot":"","sources":["../../src/recall/assemble.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assemble.js","sourceRoot":"","sources":["../../src/recall/assemble.ts"],"names":[],"mappings":"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"}
@@ -221,7 +221,15 @@ function mergePaths(paths, addition) {
221
221
  }
222
222
  function graphPathKey(path) {
223
223
  return `${path.seed.id}\0${path.target.id}\0${path.relations.join('\0')}\0${path.evidence
224
- .map((locator) => [locator.kind, locator.slug, locator.document, locator.event, locator.fact, locator.line_start].join('\0'))
224
+ .map((locator) => [
225
+ locator.kind,
226
+ locator.slug,
227
+ locator.document,
228
+ locator.event,
229
+ locator.fact,
230
+ locator.memory,
231
+ locator.line_start,
232
+ ].join('\0'))
225
233
  .join('\0')}`;
226
234
  }
227
235
  //# sourceMappingURL=graph-arm.js.map