@devflow-tools/memory-engine 0.17.0 → 0.17.2

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/consolidator.d.ts.map +1 -1
  2. package/dist/consolidator.js +24 -15
  3. package/dist/consolidator.js.map +1 -1
  4. package/dist/durable-memory-text.d.ts +8 -0
  5. package/dist/durable-memory-text.d.ts.map +1 -0
  6. package/dist/durable-memory-text.js +35 -0
  7. package/dist/durable-memory-text.js.map +1 -0
  8. package/dist/event-grouper.d.ts +1 -0
  9. package/dist/event-grouper.d.ts.map +1 -1
  10. package/dist/event-grouper.js +18 -13
  11. package/dist/event-grouper.js.map +1 -1
  12. package/dist/explicit-memory-enricher.d.ts.map +1 -1
  13. package/dist/explicit-memory-enricher.js +2 -1
  14. package/dist/explicit-memory-enricher.js.map +1 -1
  15. package/dist/hybrid-search.d.ts +23 -0
  16. package/dist/hybrid-search.d.ts.map +1 -1
  17. package/dist/hybrid-search.js +171 -17
  18. package/dist/hybrid-search.js.map +1 -1
  19. package/dist/index.d.ts +3 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +2 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/memory-capsule.d.ts +3 -0
  24. package/dist/memory-capsule.d.ts.map +1 -1
  25. package/dist/memory-capsule.js +27 -0
  26. package/dist/memory-capsule.js.map +1 -1
  27. package/dist/memory-engine.d.ts +1 -0
  28. package/dist/memory-engine.d.ts.map +1 -1
  29. package/dist/memory-engine.js +83 -37
  30. package/dist/memory-engine.js.map +1 -1
  31. package/dist/memory-gate.d.ts +6 -0
  32. package/dist/memory-gate.d.ts.map +1 -1
  33. package/dist/memory-gate.js +293 -30
  34. package/dist/memory-gate.js.map +1 -1
  35. package/dist/memory-maintenance.d.ts +3 -1
  36. package/dist/memory-maintenance.d.ts.map +1 -1
  37. package/dist/memory-maintenance.js +46 -1
  38. package/dist/memory-maintenance.js.map +1 -1
  39. package/dist/memory-relevance.d.ts +7 -1
  40. package/dist/memory-relevance.d.ts.map +1 -1
  41. package/dist/memory-relevance.js +54 -2
  42. package/dist/memory-relevance.js.map +1 -1
  43. package/dist/memory-store.d.ts +1 -0
  44. package/dist/memory-store.d.ts.map +1 -1
  45. package/dist/memory-store.js +57 -18
  46. package/dist/memory-store.js.map +1 -1
  47. package/dist/migrations/v11-to-v12.d.ts +15 -1
  48. package/dist/migrations/v11-to-v12.d.ts.map +1 -1
  49. package/dist/migrations/v11-to-v12.js +215 -15
  50. package/dist/migrations/v11-to-v12.js.map +1 -1
  51. package/dist/semantic-memory-compiler.d.ts +29 -0
  52. package/dist/semantic-memory-compiler.d.ts.map +1 -0
  53. package/dist/semantic-memory-compiler.js +149 -0
  54. package/dist/semantic-memory-compiler.js.map +1 -0
  55. package/dist/session-summarizer.d.ts +2 -0
  56. package/dist/session-summarizer.d.ts.map +1 -1
  57. package/dist/session-summarizer.js.map +1 -1
  58. package/package.json +4 -3
@@ -3,6 +3,7 @@ import { retrievePolicyCandidates } from './policy-retriever.js';
3
3
  import { MEMORY_RETRIEVAL_SCORING_PROFILE } from './retrieval-scoring-profile.js';
4
4
  import { classifyFailureCategory, observationClusterKey, } from './observation-quality.js';
5
5
  import { evaluateMemoryRelevance, MEMORY_SELECTION_THRESHOLD, normalizeMemoryEntities, } from './memory-relevance.js';
6
+ import { emitSemanticControlLog } from '@devflow-tools/telemetry';
6
7
  const DEFAULT_WEIGHTS = MEMORY_RETRIEVAL_SCORING_PROFILE.channelWeights;
7
8
  const RRF_K = MEMORY_RETRIEVAL_SCORING_PROFILE.rrfK;
8
9
  const RRF_WEIGHT_SUM = Object.values(DEFAULT_WEIGHTS)
@@ -54,6 +55,7 @@ function rowToEntry(row) {
54
55
  evidenceStatus: row.source === 'manual' ? 'verified' : 'unverified',
55
56
  facet: 'generic',
56
57
  entities: [],
58
+ semanticPolarity: 'neutral',
57
59
  };
58
60
  }
59
61
  function observationToEntry(row) {
@@ -91,6 +93,9 @@ function observationToEntry(row) {
91
93
  evidenceStatus: row.evidence_status,
92
94
  facet: inferObservationFacet(row),
93
95
  entities: parseStringArray(row.entities),
96
+ semanticPolarity: row.semantic_polarity,
97
+ ...(row.semantic_key ? { semanticKey: row.semantic_key } : {}),
98
+ ...(row.facet_key ? { facetKey: row.facet_key } : {}),
94
99
  };
95
100
  }
96
101
  const MIN_EFFECTIVE_CONFIDENCE = 0.3;
@@ -118,6 +123,7 @@ export class HybridSearch {
118
123
  selectedCount: 0,
119
124
  rejectedCount: 0,
120
125
  rejectionCategories: {},
126
+ rerankMode: 'deterministic',
121
127
  },
122
128
  };
123
129
  const exclusionAllowance = options.excludedIds?.size ?? 0;
@@ -132,6 +138,12 @@ export class HybridSearch {
132
138
  observationBm25Results = this.store.searchObservationBM25(query, fetchLimit, options.excludedIds);
133
139
  }
134
140
  catch { /* Observation lexical retrieval is independently non-fatal */ }
141
+ const cjkLexicalResults = searchCjkLexicalCandidates(query, this.store.listObservations({
142
+ project: options.scope ?? this.store.getDefaultProjectRoot(),
143
+ qualityStatus: 'accepted',
144
+ resolutionState: 'current',
145
+ limit: 500,
146
+ }).filter(observation => !options.excludedIds?.has(observation.id)), fetchLimit);
135
147
  let observationEntityResults = [];
136
148
  try {
137
149
  observationEntityResults = this.store.searchDefaultProjectObservationEntities(extractTechnicalEntities(query), fetchLimit);
@@ -193,6 +205,17 @@ export class HybridSearch {
193
205
  }
194
206
  docs.get(id)?.ranks.set('observationBm25', i + 1);
195
207
  }
208
+ for (let i = 0; i < cjkLexicalResults.length; i++) {
209
+ const observation = cjkLexicalResults[i].observation;
210
+ if (!docs.has(observation.id)) {
211
+ docs.set(observation.id, {
212
+ ranks: new Map(),
213
+ entry: observationToEntry(observation),
214
+ });
215
+ }
216
+ const currentRank = docs.get(observation.id)?.ranks.get('observationBm25');
217
+ docs.get(observation.id)?.ranks.set('observationBm25', Math.min(currentRank ?? Number.POSITIVE_INFINITY, i + 1));
218
+ }
196
219
  const exactQueryEntities = extractTechnicalEntities(query);
197
220
  for (let i = 0; i < observationEntityResults.length; i++) {
198
221
  const observation = observationEntityResults[i];
@@ -278,6 +301,11 @@ export class HybridSearch {
278
301
  && newerResolution > entry.createdAt
279
302
  ? entry.failureCategory
280
303
  : entry.failureCategory;
304
+ const channelRanks = Object.fromEntries(docs.get(result.id).ranks);
305
+ const lexicalRank = Math.min(channelRanks.observationBm25 ?? Number.POSITIVE_INFINITY, channelRanks.bm25 ?? Number.POSITIVE_INFINITY);
306
+ const lexicalScore = Number.isFinite(lexicalRank)
307
+ ? lexicalEvidenceScore(query, `${entry.title}\n${entry.content}`, lexicalRank)
308
+ : 0;
281
309
  const evaluation = evaluateMemoryRelevance({
282
310
  query,
283
311
  purpose: options.purpose,
@@ -293,11 +321,15 @@ export class HybridSearch {
293
321
  importance: entry.strength * 10,
294
322
  createdAt: entry.createdAt,
295
323
  semanticScore: semanticScores.get(entry.id) ?? 0,
324
+ lexicalScore,
296
325
  resolutionState: entry.resolutionState,
297
326
  failureCategory,
298
327
  facet: entry.facet === 'generic' ? undefined : entry.facet,
299
328
  action: options.action,
300
329
  requiredPolicyFacets: options.requiredPolicyFacets,
330
+ semanticPolarity: entry.semanticPolarity,
331
+ semanticKey: entry.semanticKey,
332
+ facetKey: entry.facetKey,
301
333
  });
302
334
  if (!evaluation.eligible && evaluation.rejectionReason) {
303
335
  rejected.set(evaluation.rejectionReason, (rejected.get(evaluation.rejectionReason) ?? 0) + 1);
@@ -318,10 +350,8 @@ export class HybridSearch {
318
350
  catch { /* rejection telemetry is non-critical */ }
319
351
  }
320
352
  }
321
- const channelRanks = Object.fromEntries(docs.get(result.id).ranks);
322
353
  const queryEntities = normalizeMemoryEntities(query);
323
354
  const entityEvidence = entry.entities.filter(entity => queryEntities.has(entity.toLocaleLowerCase('en-US')));
324
- const lexicalRank = Math.min(channelRanks.observationBm25 ?? Number.POSITIVE_INFINITY, channelRanks.bm25 ?? Number.POSITIVE_INFINITY);
325
355
  return {
326
356
  ...result,
327
357
  score: evaluation.score,
@@ -329,7 +359,7 @@ export class HybridSearch {
329
359
  scoreDetails: {
330
360
  profileVersion: MEMORY_RETRIEVAL_SCORING_PROFILE.version,
331
361
  channelRanks,
332
- lexicalScore: Number.isFinite(lexicalRank) ? lexicalScoreForRank(lexicalRank, query) : 0,
362
+ lexicalScore,
333
363
  semanticScore: evaluation.signals.semantic,
334
364
  entityEvidence,
335
365
  policyApplicability: evaluation.signals.policyApplicability,
@@ -340,12 +370,25 @@ export class HybridSearch {
340
370
  }).sort((left, right) => right.score - left.score
341
371
  || docs.get(right.id).entry.createdAt - docs.get(left.id).entry.createdAt
342
372
  || left.id.localeCompare(right.id));
373
+ const rerankOutcome = await applyBoundedHostRerank({
374
+ query,
375
+ purpose: options.purpose,
376
+ ranked,
377
+ docs,
378
+ reranker: options.hostReranker,
379
+ });
343
380
  const results = [];
344
381
  const clusterIds = new Set();
345
382
  const sessionCounts = new Map();
346
383
  const failureCategoryCounts = new Map();
347
384
  const maxPerFailureCategory = Math.max(1, options.maxPerFailureCategory ?? 2);
348
- for (const { id, score, evaluation, scoreDetails } of ranked) {
385
+ for (const { id, score: deterministicScore, evaluation, scoreDetails } of ranked) {
386
+ const hostDecision = rerankOutcome.decisions.get(id);
387
+ if (hostDecision?.relevant === false)
388
+ continue;
389
+ const score = hostDecision?.score === undefined
390
+ ? deterministicScore
391
+ : Math.max(MEMORY_SELECTION_THRESHOLD, Math.min(1, hostDecision.score));
349
392
  if (!evaluation.eligible)
350
393
  continue;
351
394
  if (options.excludedIds?.has(id))
@@ -353,7 +396,10 @@ export class HybridSearch {
353
396
  const doc = docs.get(id);
354
397
  if (!doc)
355
398
  continue;
356
- if (clusterIds.has(doc.entry.clusterKey))
399
+ const semanticCluster = doc.entry.semanticKey
400
+ ? `${doc.entry.scope}\0${doc.entry.facetKey ?? doc.entry.facet}\0${doc.entry.semanticKey}`
401
+ : doc.entry.clusterKey;
402
+ if (clusterIds.has(semanticCluster))
357
403
  continue;
358
404
  if (options.categories?.length && !options.categories.includes(doc.entry.type))
359
405
  continue;
@@ -382,7 +428,7 @@ export class HybridSearch {
382
428
  continue;
383
429
  }
384
430
  }
385
- clusterIds.add(doc.entry.clusterKey);
431
+ clusterIds.add(semanticCluster);
386
432
  if (doc.entry.failureCategory) {
387
433
  failureCategoryCounts.set(doc.entry.failureCategory, (failureCategoryCounts.get(doc.entry.failureCategory) ?? 0) + 1);
388
434
  }
@@ -396,6 +442,7 @@ export class HybridSearch {
396
442
  applicability: evaluation.applicability,
397
443
  relevanceSignals: {
398
444
  semantic: evaluation.signals.semantic,
445
+ lexical: evaluation.signals.lexical,
399
446
  entityOverlap: evaluation.signals.entityOverlap,
400
447
  evidenceStrength: evaluation.signals.evidenceStrength,
401
448
  taskApplicability: evaluation.signals.taskApplicability,
@@ -426,24 +473,131 @@ export class HybridSearch {
426
473
  if (results.length >= limit)
427
474
  break;
428
475
  }
476
+ const diagnostics = {
477
+ threshold: MEMORY_SELECTION_THRESHOLD,
478
+ candidateCount: docs.size,
479
+ selectedCount: results.length,
480
+ rejectedCount: Math.max(0, docs.size - results.length),
481
+ rejectionCategories: Object.fromEntries(rejected),
482
+ rerankMode: rerankOutcome.mode,
483
+ };
484
+ try {
485
+ emitSemanticControlLog({
486
+ event: 'memory.candidates.gated',
487
+ identity: {
488
+ projectRoot: options.scope ?? this.store.getDefaultProjectRoot(),
489
+ sessionId: options.sessionId,
490
+ executionId: options.executionId,
491
+ requestId: options.requestId,
492
+ },
493
+ level: diagnostics.rejectedCount > 0 ? 'debug' : 'info',
494
+ timestamp: Date.now(),
495
+ data: {
496
+ purpose: options.purpose,
497
+ action: options.action,
498
+ candidateCount: diagnostics.candidateCount,
499
+ selectedCount: diagnostics.selectedCount,
500
+ rejectionCategories: diagnostics.rejectionCategories,
501
+ embeddingReady: observationResults.length > 0 || vectorResults.length > 0,
502
+ rerankMode: diagnostics.rerankMode,
503
+ rerankedCandidateCount: rerankOutcome.decisions.size,
504
+ },
505
+ });
506
+ }
507
+ catch {
508
+ // Retrieval observability cannot alter memory selection.
509
+ }
510
+ return { results, diagnostics };
511
+ }
512
+ }
513
+ async function applyBoundedHostRerank(input) {
514
+ if (!input.reranker)
515
+ return { mode: 'deterministic', decisions: new Map() };
516
+ const candidates = input.ranked
517
+ .filter(candidate => candidate.evaluation.eligible
518
+ && candidate.score >= MEMORY_SELECTION_THRESHOLD
519
+ && candidate.score <= MEMORY_SELECTION_THRESHOLD + 0.15)
520
+ .slice(0, 5)
521
+ .flatMap(candidate => {
522
+ const entry = input.docs.get(candidate.id)?.entry;
523
+ return entry ? [{
524
+ id: candidate.id,
525
+ title: entry.title,
526
+ content: entry.content.slice(0, 1_500),
527
+ score: candidate.score,
528
+ applicability: candidate.evaluation.applicability,
529
+ }] : [];
530
+ });
531
+ if (candidates.length === 0)
532
+ return { mode: 'deterministic', decisions: new Map() };
533
+ try {
534
+ const decisions = await Promise.race([
535
+ input.reranker({ query: input.query, purpose: input.purpose, candidates }),
536
+ new Promise((_, reject) => setTimeout(() => reject(new Error('host_rerank_timeout')), 250)),
537
+ ]);
538
+ const allowed = new Set(candidates.map(candidate => candidate.id));
429
539
  return {
430
- results,
431
- diagnostics: {
432
- threshold: MEMORY_SELECTION_THRESHOLD,
433
- candidateCount: docs.size,
434
- selectedCount: results.length,
435
- rejectedCount: Math.max(0, docs.size - results.length),
436
- rejectionCategories: Object.fromEntries(rejected),
437
- },
540
+ mode: 'host',
541
+ decisions: new Map(decisions
542
+ .filter(decision => allowed.has(decision.id))
543
+ .map(decision => [decision.id, decision])),
438
544
  };
439
545
  }
546
+ catch {
547
+ return { mode: 'deterministic', decisions: new Map() };
548
+ }
440
549
  }
441
550
  function cosineSimilarityFromDistance(distance) {
442
551
  return Math.max(0, Math.min(1, 1 - distance));
443
552
  }
444
- function lexicalScoreForRank(rank, query) {
445
- const queryTerms = Math.max(1, query.trim().split(/\s+/u).filter(Boolean).length);
446
- return Math.min(1, (1 / Math.max(1, rank)) * Math.min(1, 3 / queryTerms));
553
+ function searchCjkLexicalCandidates(query, observations, limit) {
554
+ const queryBigrams = cjkBigrams(query);
555
+ if (queryBigrams.size < 2)
556
+ return [];
557
+ return observations
558
+ .map(observation => ({
559
+ observation,
560
+ score: overlapCoverage(queryBigrams, cjkBigrams(`${observation.title}\n${observation.narrative}\n${observation.facts}\n${observation.concepts}`)),
561
+ }))
562
+ .filter(candidate => candidate.score >= 0.2)
563
+ .sort((left, right) => right.score - left.score
564
+ || right.observation.updated_at - left.observation.updated_at
565
+ || left.observation.id.localeCompare(right.observation.id))
566
+ .slice(0, limit);
567
+ }
568
+ function lexicalEvidenceScore(query, candidate, rank) {
569
+ const normalizedQuery = query.normalize('NFKC').trim().toLocaleLowerCase('en-US');
570
+ const normalizedCandidate = candidate.normalize('NFKC').trim().toLocaleLowerCase('en-US');
571
+ if (!normalizedQuery || !normalizedCandidate)
572
+ return 0;
573
+ if (normalizedCandidate.includes(normalizedQuery))
574
+ return 1 / Math.sqrt(Math.max(1, rank));
575
+ const cjkCoverage = overlapCoverage(cjkBigrams(normalizedQuery), cjkBigrams(normalizedCandidate));
576
+ const tokenCoverage = overlapCoverage(lexicalTokens(normalizedQuery), lexicalTokens(normalizedCandidate));
577
+ return Math.max(cjkCoverage, tokenCoverage) / Math.sqrt(Math.max(1, rank));
578
+ }
579
+ function cjkBigrams(value) {
580
+ const result = new Set();
581
+ for (const run of value.normalize('NFKC').match(/[\p{Script=Han}]+/gu) ?? []) {
582
+ const characters = [...run];
583
+ for (let index = 0; index + 1 < characters.length; index++) {
584
+ result.add(`${characters[index]}${characters[index + 1]}`);
585
+ }
586
+ }
587
+ return result;
588
+ }
589
+ function lexicalTokens(value) {
590
+ return new Set((value.match(/[a-z][a-z0-9_.-]{2,}|\d+(?:\.\d+)*/giu) ?? [])
591
+ .map(token => token.toLocaleLowerCase('en-US')));
592
+ }
593
+ function overlapCoverage(queryTerms, candidateTerms) {
594
+ if (queryTerms.size === 0 || candidateTerms.size === 0)
595
+ return 0;
596
+ let overlap = 0;
597
+ for (const term of queryTerms)
598
+ if (candidateTerms.has(term))
599
+ overlap += 1;
600
+ return overlap / queryTerms.size;
447
601
  }
448
602
  function parseStringArray(value) {
449
603
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid-search.js","sourceRoot":"","sources":["../src/hybrid-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hybrid-search.js","sourceRoot":"","sources":["../src/hybrid-search.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -21,6 +21,7 @@ export type { MemoryMaintenanceAction, MemoryMaintenanceManifest, MemoryDiagnost
21
21
  export { GraphStore } from "./graph-store.js";
22
22
  export { consolidate } from './consolidator.js';
23
23
  export type { ConsolidatorResult } from './consolidator.js';
24
+ export { isExecutionNarration, sanitizeDurableMemoryNarrative, } from './durable-memory-text.js';
24
25
  export type { SearchResult, SearchResultEntry, SearchOptions } from "./hybrid-search.js";
25
26
  export type { MemoryRow, ObservationRow, EventRow, SessionRow, SignalRow, MemoryTurnWindow, DecidedTurnEventReconciliation, ObservationRelationRow, SemanticObservationAction, SemanticObservationWriteResult, } from "./memory-store.js";
26
27
  export { OBSERVATION_TYPES, OBSERVATION_TYPE_ALIASES, isObservationType, normalizeObservationType, normalizeObservationTitle, observationDedupKey, } from "./observation-types.js";
@@ -40,4 +41,6 @@ export type { PolicyCandidate } from './policy-retriever.js';
40
41
  export { MEMORY_RETRIEVAL_SCORING_PROFILE } from './retrieval-scoring-profile.js';
41
42
  export type { RetrievalScoringProfile } from './retrieval-scoring-profile.js';
42
43
  export type { MemoryRelevanceEvaluation, MemoryRelevanceInput, MemoryRejectionReason, } from './memory-relevance.js';
44
+ export { compileSemanticMemory } from './semantic-memory-compiler.js';
45
+ export type { CompiledMemoryFact, ExistingSemanticMemory, SemanticMemoryCompilation, } from './semantic-memory-compiler.js';
43
46
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -12,6 +12,7 @@ export { MEMORY_MAINTENANCE_ACTIONS, MemoryMaintenance, runMemoryMaintenance, ba
12
12
  export { applyV11ToV12Migration, repairHistoricalMemoryData, } from './migrations/v11-to-v12.js';
13
13
  export { GraphStore } from "./graph-store.js";
14
14
  export { consolidate } from './consolidator.js';
15
+ export { isExecutionNarration, sanitizeDurableMemoryNarrative, } from './durable-memory-text.js';
15
16
  export { OBSERVATION_TYPES, OBSERVATION_TYPE_ALIASES, isObservationType, normalizeObservationType, normalizeObservationTitle, observationDedupKey, } from "./observation-types.js";
16
17
  export { extractTechnicalEntities, mergeSemanticEntities, normalizeEntityKey, normalizeSemanticMemory, } from './semantic-memory.js';
17
18
  export { MEMORY_CAPSULE_VERSION, validateMemoryCapsules, } from './memory-capsule.js';
@@ -21,4 +22,5 @@ export { enrichExplicitMemory } from './explicit-memory-enricher.js';
21
22
  export { evaluateBootstrapMemory, evaluateMemoryRelevance, normalizeMemoryEntities, MEMORY_SELECTION_THRESHOLD, MEMORY_SEMANTIC_ELIGIBILITY_THRESHOLD, } from './memory-relevance.js';
22
23
  export { retrievePolicyCandidates } from './policy-retriever.js';
23
24
  export { MEMORY_RETRIEVAL_SCORING_PROFILE } from './retrieval-scoring-profile.js';
25
+ export { compileSemanticMemory } from './semantic-memory-compiler.js';
24
26
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAE3G,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,8BAA8B,EAC9B,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AAWpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAWpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAehD,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAQpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAMrE,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,qCAAqC,GACtC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAE3G,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,8BAA8B,EAC9B,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AAWpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAWpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,oBAAoB,EACpB,8BAA8B,GAC/B,MAAM,0BAA0B,CAAC;AAclC,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAQpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAMrE,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,qCAAqC,GACtC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAOlF,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -20,5 +20,8 @@ export declare function validateMemoryCapsules(input: {
20
20
  observations: ParsedObservation[];
21
21
  sourceEvents: EventRow[];
22
22
  defaultSourceEventIds: string[];
23
+ evidenceText?: string;
24
+ requireEvidenceSpans?: boolean;
23
25
  }): MemoryCapsuleValidationResult;
26
+ export declare function validateEvidenceSpans(sourceText: string, spans: string[]): string[];
24
27
  //# sourceMappingURL=memory-capsule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-capsule.d.ts","sourceRoot":"","sources":["../src/memory-capsule.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,eAAO,MAAM,sBAAsB,sBAAsB,CAAC;AAE1D,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,iBAAiB,CAAC;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,sBAAsB,EAAE,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACvD;AAID,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,YAAY,EAAE,QAAQ,EAAE,CAAC;IACzB,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC,GAAG,6BAA6B,CAwEhC"}
1
+ {"version":3,"file":"memory-capsule.d.ts","sourceRoot":"","sources":["../src/memory-capsule.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,eAAO,MAAM,sBAAsB,sBAAsB,CAAC;AAE1D,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,iBAAiB,CAAC;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,sBAAsB,EAAE,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACvD;AAID,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,YAAY,EAAE,QAAQ,EAAE,CAAC;IACzB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,GAAG,6BAA6B,CA+EhC;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAQnF"}
@@ -13,6 +13,7 @@ export function validateMemoryCapsules(input) {
13
13
  const sourceEvidenceIds = [...new Set((observation.sourceEventIds?.length ? observation.sourceEventIds : input.defaultSourceEventIds)
14
14
  .map(value => String(value).trim())
15
15
  .filter(Boolean))];
16
+ const evidenceSpans = normalizeEvidenceSpans(observation.evidenceSpans);
16
17
  if (!narrative)
17
18
  reasons.push('empty_narrative');
18
19
  if (ECHO_PATTERN.test(narrative))
@@ -21,6 +22,13 @@ export function validateMemoryCapsules(input) {
21
22
  reasons.push('missing_source_evidence');
22
23
  if (sourceEvidenceIds.some(id => !allowedEvidence.has(id)))
23
24
  reasons.push('unknown_source_evidence');
25
+ if (input.requireEvidenceSpans && evidenceSpans.length === 0)
26
+ reasons.push('missing_evidence_spans');
27
+ if (input.requireEvidenceSpans && !input.evidenceText)
28
+ reasons.push('missing_evidence_text');
29
+ if (input.evidenceText && evidenceSpans.some(span => !containsEvidenceSpan(input.evidenceText, span))) {
30
+ reasons.push('evidence_span_not_grounded');
31
+ }
24
32
  const semantic = normalizeSemanticMemory({
25
33
  project: input.projectRoot,
26
34
  type: observation.type,
@@ -48,6 +56,7 @@ export function validateMemoryCapsules(input) {
48
56
  const capsule = {
49
57
  narrative,
50
58
  sourceEvidenceIds,
59
+ ...(input.evidenceText && evidenceSpans.length > 0 ? { evidenceSpans } : {}),
51
60
  entities,
52
61
  temporalStatus: semantic.temporal?.status ?? 'current',
53
62
  ...(parseTime(semantic.temporal?.validFrom) ? { validFrom: parseTime(semantic.temporal?.validFrom) } : {}),
@@ -75,6 +84,24 @@ export function validateMemoryCapsules(input) {
75
84
  });
76
85
  return { accepted, rejected };
77
86
  }
87
+ export function validateEvidenceSpans(sourceText, spans) {
88
+ const normalized = normalizeEvidenceSpans(spans);
89
+ if (normalized.length === 0)
90
+ throw new Error('At least one exact evidence span is required');
91
+ const ungrounded = normalized.filter(span => !containsEvidenceSpan(sourceText, span));
92
+ if (ungrounded.length > 0) {
93
+ throw new Error(`Evidence spans are not present in the canonical user prompt: ${JSON.stringify(ungrounded)}`);
94
+ }
95
+ return normalized;
96
+ }
97
+ function normalizeEvidenceSpans(spans) {
98
+ return [...new Set((spans ?? [])
99
+ .map(span => String(span).normalize('NFKC').trim())
100
+ .filter(Boolean))].slice(0, 16);
101
+ }
102
+ function containsEvidenceSpan(sourceText, span) {
103
+ return sourceText.normalize('NFKC').includes(span.normalize('NFKC'));
104
+ }
78
105
  function parseTime(value) {
79
106
  if (!value)
80
107
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"memory-capsule.js","sourceRoot":"","sources":["../src/memory-capsule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-capsule.js","sourceRoot":"","sources":["../src/memory-capsule.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,7 @@ export declare class MemoryEngine implements IMemoryEngine {
46
46
  contextReceipt?: string;
47
47
  toolEvidence?: string[];
48
48
  verificationReceipt?: string;
49
+ adoptedSourceIds?: string[];
49
50
  }): {
50
51
  selected: number;
51
52
  adopted: number;
@@ -1 +1 @@
1
- {"version":3,"file":"memory-engine.d.ts","sourceRoot":"","sources":["../src/memory-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-engine.d.ts","sourceRoot":"","sources":["../src/memory-engine.ts"],"names":[],"mappings":"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"}