kiokuko 1.0.43 → 1.0.45

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 (115) hide show
  1. package/README.ja.md +21 -159
  2. package/README.ko.md +21 -125
  3. package/README.md +21 -196
  4. package/README.zh-CN.md +21 -126
  5. package/dist/assurance/contracts.d.ts +1 -1
  6. package/dist/assurance/doctor.d.ts +1 -1
  7. package/dist/assurance/inspect.d.ts +1 -1
  8. package/dist/assurance/service.d.ts +1 -1
  9. package/dist/assurance/verification-contracts.d.ts +1 -1
  10. package/dist/assurance/verification.d.ts +1 -1
  11. package/dist/cli.d.ts.map +1 -1
  12. package/dist/cli.js +43 -5
  13. package/dist/cli.js.map +1 -1
  14. package/dist/commands/code-version.d.ts +6 -0
  15. package/dist/commands/code-version.d.ts.map +1 -0
  16. package/dist/commands/code-version.js +66 -0
  17. package/dist/commands/code-version.js.map +1 -0
  18. package/dist/commands/doctor.d.ts +12 -1
  19. package/dist/commands/doctor.d.ts.map +1 -1
  20. package/dist/commands/doctor.js +75 -30
  21. package/dist/commands/doctor.js.map +1 -1
  22. package/dist/embedding/model-download.d.ts.map +1 -1
  23. package/dist/embedding/model-download.js +52 -9
  24. package/dist/embedding/model-download.js.map +1 -1
  25. package/dist/embedding/model-installation.d.ts.map +1 -1
  26. package/dist/embedding/model-installation.js +11 -0
  27. package/dist/embedding/model-installation.js.map +1 -1
  28. package/dist/ledger/checkpoint-contract.d.ts +8 -8
  29. package/dist/mcp/chatgpt-contract.d.ts +114 -3
  30. package/dist/mcp/chatgpt-contract.d.ts.map +1 -1
  31. package/dist/mcp/chatgpt-contract.js +21 -1
  32. package/dist/mcp/chatgpt-contract.js.map +1 -1
  33. package/dist/mcp/chatgpt-server.d.ts.map +1 -1
  34. package/dist/mcp/chatgpt-server.js +32 -2
  35. package/dist/mcp/chatgpt-server.js.map +1 -1
  36. package/dist/mcp/correction-review.d.ts +43 -0
  37. package/dist/mcp/correction-review.d.ts.map +1 -0
  38. package/dist/mcp/correction-review.js +62 -0
  39. package/dist/mcp/correction-review.js.map +1 -0
  40. package/dist/mcp/request-deadline.d.ts +1 -1
  41. package/dist/mcp/request-deadline.d.ts.map +1 -1
  42. package/dist/mcp/request-deadline.js +1 -0
  43. package/dist/mcp/request-deadline.js.map +1 -1
  44. package/dist/mcp/server.d.ts.map +1 -1
  45. package/dist/mcp/server.js +42 -0
  46. package/dist/mcp/server.js.map +1 -1
  47. package/dist/memory/applicability-context.d.ts +24 -0
  48. package/dist/memory/applicability-context.d.ts.map +1 -0
  49. package/dist/memory/applicability-context.js +129 -0
  50. package/dist/memory/applicability-context.js.map +1 -0
  51. package/dist/memory/checkpoint-contract.d.ts +42 -12
  52. package/dist/memory/checkpoint-contract.d.ts.map +1 -1
  53. package/dist/memory/checkpoint-contract.js +5 -0
  54. package/dist/memory/checkpoint-contract.js.map +1 -1
  55. package/dist/memory/code-versions.d.ts +79 -0
  56. package/dist/memory/code-versions.d.ts.map +1 -0
  57. package/dist/memory/code-versions.js +159 -0
  58. package/dist/memory/code-versions.js.map +1 -0
  59. package/dist/memory/correction-contract.d.ts +27 -0
  60. package/dist/memory/correction-contract.d.ts.map +1 -0
  61. package/dist/memory/correction-contract.js +14 -0
  62. package/dist/memory/correction-contract.js.map +1 -0
  63. package/dist/memory/entry-history.d.ts +29 -0
  64. package/dist/memory/entry-history.d.ts.map +1 -0
  65. package/dist/memory/entry-history.js +66 -0
  66. package/dist/memory/entry-history.js.map +1 -0
  67. package/dist/memory/federated-retrieval.d.ts.map +1 -1
  68. package/dist/memory/federated-retrieval.js +14 -1
  69. package/dist/memory/federated-retrieval.js.map +1 -1
  70. package/dist/memory/git-provenance.d.ts.map +1 -1
  71. package/dist/memory/git-provenance.js +28 -0
  72. package/dist/memory/git-provenance.js.map +1 -1
  73. package/dist/memory/handoff.d.ts +1 -1
  74. package/dist/memory/history-delivery.d.ts +57 -0
  75. package/dist/memory/history-delivery.d.ts.map +1 -0
  76. package/dist/memory/history-delivery.js +85 -0
  77. package/dist/memory/history-delivery.js.map +1 -0
  78. package/dist/memory/hybrid-retrieval.d.ts +5 -0
  79. package/dist/memory/hybrid-retrieval.d.ts.map +1 -1
  80. package/dist/memory/hybrid-retrieval.js +28 -9
  81. package/dist/memory/hybrid-retrieval.js.map +1 -1
  82. package/dist/memory/interaction-contract.d.ts +22 -12
  83. package/dist/memory/interaction-contract.d.ts.map +1 -1
  84. package/dist/memory/lesson-derivation.d.ts +1 -1
  85. package/dist/memory/lifecycle.d.ts.map +1 -1
  86. package/dist/memory/lifecycle.js +18 -1
  87. package/dist/memory/lifecycle.js.map +1 -1
  88. package/dist/memory/observation-contract.d.ts +4 -4
  89. package/dist/memory/retrieval.d.ts +11 -0
  90. package/dist/memory/retrieval.d.ts.map +1 -1
  91. package/dist/memory/retrieval.js +11 -6
  92. package/dist/memory/retrieval.js.map +1 -1
  93. package/dist/memory/structured-memory.d.ts +5 -0
  94. package/dist/memory/structured-memory.d.ts.map +1 -1
  95. package/dist/memory/structured-memory.js +28 -6
  96. package/dist/memory/structured-memory.js.map +1 -1
  97. package/dist/reranker/runtime.d.ts.map +1 -1
  98. package/dist/reranker/runtime.js +121 -124
  99. package/dist/reranker/runtime.js.map +1 -1
  100. package/docs/README.ja.md +2 -0
  101. package/docs/README.md +2 -0
  102. package/docs/chatgpt.md +12 -0
  103. package/docs/cli-contract.md +34 -7
  104. package/docs/client-compatibility.md +1 -1
  105. package/docs/context-delivery.md +7 -0
  106. package/docs/getting-started.ja.md +8 -5
  107. package/docs/getting-started.md +11 -8
  108. package/docs/history-evidence.md +139 -0
  109. package/docs/setup-notes.ja.md +122 -0
  110. package/docs/setup-notes.ko.md +107 -0
  111. package/docs/setup-notes.md +133 -0
  112. package/docs/setup-notes.zh-CN.md +107 -0
  113. package/migrations/014_code_version_evidence.sql +26 -0
  114. package/package.json +1 -1
  115. package/templates/chatgpt/memory-policy.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-delivery.js","sourceRoot":"","sources":["../../src/memory/history-delivery.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { type MemoryApplicabilityContext } from './applicability-context.js';
2
+ import { type HistoryOmission } from './entry-history.js';
1
3
  import type { SqliteDatabase } from '../db/adapter.js';
2
4
  import type { PreparedSemanticQuery, VectorSearchBackend } from '../embedding/types.js';
3
5
  import { type EntryKind, type EntryStatus } from '../serialization/validate.js';
@@ -11,6 +13,8 @@ export interface RelatedSearchObservation {
11
13
  readonly deliveredCandidateCount: 0;
12
14
  }
13
15
  export interface HybridSearchRuntime {
16
+ readonly onHistoryOmission?: (value: HistoryOmission) => void;
17
+ readonly applicabilityContext?: MemoryApplicabilityContext;
14
18
  readonly semantic?: {
15
19
  readonly query: PreparedSemanticQuery;
16
20
  readonly backend: VectorSearchBackend;
@@ -23,6 +27,7 @@ export interface HybridSearchInput {
23
27
  /** Internal baseline pass protects the original candidate pool. */
24
28
  indexOriginalsOnly?: boolean;
25
29
  workspace: string;
30
+ cwd?: string;
26
31
  query: string;
27
32
  limit: number;
28
33
  kind?: EntryKind;
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid-retrieval.d.ts","sourceRoot":"","sources":["../../src/memory/hybrid-retrieval.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGxF,OAAO,EAAwD,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACtI,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3D,OAAO,EAA0D,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGhH,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC;AAC9G,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE7D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,uBAAuB,EAAE,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAClB,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;QACtC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;KACvC,CAAC;IACF,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,wBAAwB,KAAK,IAAI,CAAC;CACjF;AAED,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mEAAmE;IACnE,kBAAkB,CAAC,EAAC,OAAO,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AA6BD,uFAAuF;AACvF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,UAAQ,GAAG,OAAO,CAgCjH;AAED,uFAAuF;AACvF,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CA0ClG;AA4VD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,EAAE,CAoHtB"}
1
+ {"version":3,"file":"hybrid-retrieval.d.ts","sourceRoot":"","sources":["../../src/memory/hybrid-retrieval.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { currentMemoryApplicability, matchesMemoryApplicability, assertMemoryApplicabilityUnchanged } from './applicability-context.js';
2
+ import { resolveCurrentSuccessor, MAX_HISTORY_NODES } from './entry-history.js';
1
3
  import { indexMode, isIndexArtifact, indexArtifact } from './index-state.js';
2
4
  import { KiokukoError } from '../errors.js';
3
5
  import { parseRetrievalQuery, normalizeSearchSignal } from './retrieval-query.js';
@@ -76,6 +78,11 @@ export function retrievableWorkspaceEntryCount(database, workspace) {
76
78
  JOIN entry_revisions AS r
77
79
  ON r.entry_id = e.id AND r.revision = e.current_revision
78
80
  WHERE e.workspace = ? AND e.status <> 'superseded'
81
+ AND CASE WHEN json_valid(r.scope_json)
82
+ AND json_extract(r.scope_json,'$.schemaVersion')=3
83
+ AND json_type(r.scope_json,'$.applicability.ownerIds')='array'
84
+ AND json_array_length(r.scope_json,'$.applicability.ownerIds')>0
85
+ THEN EXISTS(SELECT 1 FROM json_each(r.scope_json,'$.applicability.ownerIds') WHERE value=?) ELSE 1 END
79
86
  )
80
87
  SELECT COUNT(*) AS count
81
88
  FROM current_entries AS e
@@ -100,7 +107,7 @@ export function retrievableWorkspaceEntryCount(database, workspace) {
100
107
  AND m.active = 1
101
108
  )
102
109
  )
103
- `).get(workspace)?.count;
110
+ `).get(workspace, process.getuid ? `local:${process.getuid()}` : null)?.count;
104
111
  if (typeof count !== 'number' || !Number.isSafeInteger(count) || count < 0) {
105
112
  throw new KiokukoError('INTEGRITY_ERROR', 'Stored entry count is invalid');
106
113
  }
@@ -470,6 +477,8 @@ export function hybridSearch(database, input, runtime = {}) {
470
477
  relatedSeedLimit,
471
478
  relatedCandidateLimit,
472
479
  };
480
+ const context = runtime.applicabilityContext ?? currentMemoryApplicability(database, input.workspace, input.cwd);
481
+ const successorExpansion = relatedMode === 'active' && !input.includeSuperseded;
473
482
  const parsed = parseRetrievalQuery(input.query);
474
483
  if (parsed.normalized.length === 0)
475
484
  return [];
@@ -478,15 +487,22 @@ export function hybridSearch(database, input, runtime = {}) {
478
487
  const lexicalAllowed = !/(?:--|\/\*|\*\/|["']\s*(?:OR|AND)\b|\b(?:OR|AND)\s+\d+\s*[=<>])/iu.test(parsed.normalized)
479
488
  || parsed.exactSignals.length > 0;
480
489
  const merged = new Map();
481
- for (const [lane, rows] of laneRows(database, normalizedInput, parsed, runtime, lexicalAllowed)) {
490
+ for (const [lane, rows] of laneRows(database, successorExpansion ? { ...normalizedInput, includeSuperseded: true } : normalizedInput, parsed, runtime, lexicalAllowed)) {
482
491
  const seen = new Set();
483
492
  let rank = 0;
484
493
  for (const row of rows) {
485
- if (seen.has(row.id))
494
+ const original = readRetrievalEntry(database, input.workspace, row.id);
495
+ if (!original || !matchesMemoryApplicability(original, context))
486
496
  continue;
487
- seen.add(row.id);
497
+ const resolved = successorExpansion && original.status === 'superseded' ? resolveCurrentSuccessor(database, original, context, MAX_HISTORY_NODES, runtime.onHistoryOmission) : original;
498
+ if (!resolved || !matchesMemoryApplicability(resolved, context))
499
+ continue;
500
+ const candidateId = resolved.id;
501
+ if (seen.has(candidateId))
502
+ continue;
503
+ seen.add(candidateId);
488
504
  rank += 1;
489
- const existing = merged.get(row.id) ?? { entryId: row.id, fusedScore: 0, laneRanks: {}, matchedSignals: [], reasons: [] };
505
+ const existing = merged.get(candidateId) ?? { entryId: candidateId, fusedScore: 0, laneRanks: {}, matchedSignals: [], reasons: [] };
490
506
  existing.fusedScore += LANE_WEIGHTS[lane] / (RRF_K + rank);
491
507
  existing.laneRanks[lane] = Math.min(existing.laneRanks[lane] ?? rank, rank);
492
508
  if (lane === 'exact-signal')
@@ -504,8 +520,10 @@ export function hybridSearch(database, input, runtime = {}) {
504
520
  existing.reasons.push('tag_match');
505
521
  if (lane === 'semantic')
506
522
  existing.reasons.push('semantic_match');
523
+ if (candidateId !== row.id)
524
+ existing.reasons.push('current_successor');
507
525
  existing.matchedSignals.push(...parsed.exactSignals.map((signal) => signal.value));
508
- merged.set(row.id, existing);
526
+ merged.set(candidateId, existing);
509
527
  if (merged.size >= MAX_MERGED_CANDIDATES)
510
528
  break;
511
529
  }
@@ -518,11 +536,11 @@ export function hybridSearch(database, input, runtime = {}) {
518
536
  const entry = readRetrievalEntry(database, input.workspace, candidate.entryId);
519
537
  if (!entry)
520
538
  return false;
521
- return isRetrievableEntry(database, entry, input.indexEvaluation) && (temporal?.mode !== 'restrict'
539
+ return matchesMemoryApplicability(entry, context) && isRetrievableEntry(database, entry, input.indexEvaluation) && (temporal?.mode !== 'restrict'
522
540
  || matchesTemporalConstraint(database, entry, temporal));
523
541
  })
524
542
  .map((candidate) => candidate.entryId);
525
- const related = relatedLane(database, input.workspace, seeds, relatedCandidateLimit);
543
+ const related = relatedLane(database, input.workspace, seeds, relatedCandidateLimit).filter(row => { const entry = readRetrievalEntry(database, input.workspace, row.id); return entry !== undefined && matchesMemoryApplicability(entry, context); });
526
544
  if (relatedMode === 'observe') {
527
545
  runtime.onRelatedDiagnostics?.({ seedCount: seeds.length, candidateCount: related.length, deliveredCandidateCount: 0 });
528
546
  }
@@ -553,7 +571,7 @@ export function hybridSearch(database, input, runtime = {}) {
553
571
  return false;
554
572
  if (input.indexOriginalsOnly && isIndexArtifact(entry))
555
573
  return false;
556
- if (!isRetrievableEntry(database, entry, input.indexEvaluation))
574
+ if (!matchesMemoryApplicability(entry, context) || !isRetrievableEntry(database, entry, input.indexEvaluation))
557
575
  return false;
558
576
  if (temporal !== undefined) {
559
577
  const matches = matchesTemporalConstraint(database, entry, temporal);
@@ -586,6 +604,7 @@ export function hybridSearch(database, input, runtime = {}) {
586
604
  const generated = eligibleCandidates.filter(hit => generatedIds.has(hit.entryId)).slice(0, Math.max(1, Math.floor(input.limit / 2)));
587
605
  return [...originals, ...generated].sort((left, right) => Number(right.reasons.includes('repeated_lesson')) - Number(left.reasons.includes('repeated_lesson')) || right.fusedScore - left.fusedScore || compareCanonicalStrings(left.entryId, right.entryId));
588
606
  }
607
+ assertMemoryApplicabilityUnchanged(database, context, context.repositoryRoot);
589
608
  return eligibleCandidates;
590
609
  }
591
610
  //# sourceMappingURL=hybrid-retrieval.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid-retrieval.js","sourceRoot":"","sources":["../../src/memory/hybrid-retrieval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hybrid-retrieval.js","sourceRoot":"","sources":["../../src/memory/hybrid-retrieval.ts"],"names":[],"mappings":"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"}
@@ -7,17 +7,12 @@ export declare const interactionMemorySchema: z.ZodObject<{
7
7
  preference: "preference";
8
8
  reference: "reference";
9
9
  }>;
10
- title: z.ZodString;
11
10
  scope: z.ZodDefault<z.ZodEnum<{
12
11
  global: "global";
13
12
  project: "project";
14
13
  }>>;
14
+ title: z.ZodString;
15
15
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
16
- retrievalScope: z.ZodOptional<z.ZodEnum<{
17
- global: "global";
18
- "project-only": "project-only";
19
- ecosystem: "ecosystem";
20
- }>>;
21
16
  memoryClass: z.ZodOptional<z.ZodEnum<{
22
17
  preference: "preference";
23
18
  reference: "reference";
@@ -29,7 +24,17 @@ export declare const interactionMemorySchema: z.ZodObject<{
29
24
  workflow: "workflow";
30
25
  gotcha: "gotcha";
31
26
  }>>;
27
+ retrievalScope: z.ZodOptional<z.ZodEnum<{
28
+ global: "global";
29
+ "project-only": "project-only";
30
+ ecosystem: "ecosystem";
31
+ }>>;
32
32
  applicability: z.ZodOptional<z.ZodObject<{
33
+ ownerIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
34
+ repositoryIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
35
+ workspaces: z.ZodOptional<z.ZodArray<z.ZodString>>;
36
+ branches: z.ZodOptional<z.ZodArray<z.ZodString>>;
37
+ environment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
33
38
  languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
34
39
  frameworks: z.ZodOptional<z.ZodArray<z.ZodObject<{
35
40
  name: z.ZodString;
@@ -78,17 +83,12 @@ export declare const memoryCaptureInputSchema: z.ZodObject<{
78
83
  preference: "preference";
79
84
  reference: "reference";
80
85
  }>;
81
- title: z.ZodString;
82
86
  scope: z.ZodDefault<z.ZodEnum<{
83
87
  global: "global";
84
88
  project: "project";
85
89
  }>>;
90
+ title: z.ZodString;
86
91
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
87
- retrievalScope: z.ZodOptional<z.ZodEnum<{
88
- global: "global";
89
- "project-only": "project-only";
90
- ecosystem: "ecosystem";
91
- }>>;
92
92
  memoryClass: z.ZodOptional<z.ZodEnum<{
93
93
  preference: "preference";
94
94
  reference: "reference";
@@ -100,7 +100,17 @@ export declare const memoryCaptureInputSchema: z.ZodObject<{
100
100
  workflow: "workflow";
101
101
  gotcha: "gotcha";
102
102
  }>>;
103
+ retrievalScope: z.ZodOptional<z.ZodEnum<{
104
+ global: "global";
105
+ "project-only": "project-only";
106
+ ecosystem: "ecosystem";
107
+ }>>;
103
108
  applicability: z.ZodOptional<z.ZodObject<{
109
+ ownerIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
110
+ repositoryIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
111
+ workspaces: z.ZodOptional<z.ZodArray<z.ZodString>>;
112
+ branches: z.ZodOptional<z.ZodArray<z.ZodString>>;
113
+ environment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
104
114
  languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
105
115
  frameworks: z.ZodOptional<z.ZodArray<z.ZodObject<{
106
116
  name: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"interaction-contract.d.ts","sourceRoot":"","sources":["../../src/memory/interaction-contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAS5B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2BlC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBASnC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;kBAazB,CAAC;AAUZ,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;kBAwBxC,CAAC;AAEH,eAAO,MAAM,+BAA+B,siCAAsiC,CAAC"}
1
+ {"version":3,"file":"interaction-contract.d.ts","sourceRoot":"","sources":["../../src/memory/interaction-contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAS5B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2BlC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBASnC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;kBAazB,CAAC;AAUZ,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;kBAwBxC,CAAC;AAEH,eAAO,MAAM,+BAA+B,siCAAsiC,CAAC"}
@@ -64,7 +64,7 @@ export declare function deriveLessonCandidate(database: SqliteDatabase, raw: unk
64
64
  workspace: string;
65
65
  outcome: "created";
66
66
  availability: "current";
67
- status: "candidate" | "verified" | "superseded";
67
+ status: "superseded" | "candidate" | "verified";
68
68
  trustLevel: "untrusted" | "user_asserted" | "source_verified" | "system_verified";
69
69
  reinforced: boolean;
70
70
  enabled?: never;
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/memory/lifecycle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3D,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,YAAY,CAAC;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAQD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,GAAG,WAAW,CAgBvF;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,GAAG,WAAW,CAkBxG;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,GAAG,WAAW,CAE3F;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAU5E"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/memory/lifecycle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3D,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,YAAY,CAAC;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAQD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,GAAG,WAAW,CAgBvF;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,GAAG,WAAW,CAkCxG;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,GAAG,WAAW,CAE3F;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAU5E"}
@@ -2,6 +2,7 @@ import { assertNotIndexArtifact } from './index-state.js';
2
2
  import { withImmediateTransaction } from '../db/transaction.js';
3
3
  import { KiokukoError } from '../errors.js';
4
4
  import { readEntry } from './entries.js';
5
+ import { canonicalJson } from '../serialization/validate.js';
5
6
  import { recordAuditEvent } from './audit.js';
6
7
  function ensureRevision(expectedRevision) {
7
8
  if (!Number.isInteger(expectedRevision) || expectedRevision < 1) {
@@ -43,10 +44,26 @@ export function supersedeEntryInTransaction(database, input) {
43
44
  throw new KiokukoError('CONFLICT', 'Managed external Skill entries cannot be superseded');
44
45
  if (oldEntry.revision !== input.expectedRevision)
45
46
  throw new KiokukoError('CONFLICT', 'Entry revision is stale');
46
- if (oldEntry.status === 'superseded')
47
+ if (oldEntry.status === 'superseded') {
48
+ if (oldEntry.supersededBy === replacement.id)
49
+ return oldEntry;
47
50
  throw new KiokukoError('CONFLICT', 'Entry is already superseded');
51
+ }
48
52
  if (replacement.status === 'superseded')
49
53
  throw new KiokukoError('CONFLICT', 'A superseded entry cannot be a replacement');
54
+ const identity = (entry) => {
55
+ if (entry.scope.schemaVersion !== 3)
56
+ return {};
57
+ const applicability = entry.scope.applicability;
58
+ const value = typeof applicability === 'object' && applicability !== null && !Array.isArray(applicability) ? applicability : {};
59
+ return Object.fromEntries(['ownerIds', 'repositoryIds', 'workspaces', 'branches'].flatMap(key => value[key] === undefined ? [] : [[key, value[key]]]));
60
+ };
61
+ if (canonicalJson(identity(oldEntry)) !== canonicalJson(identity(replacement))
62
+ || oldEntry.scope.schemaVersion === 3 && replacement.scope.schemaVersion === 3
63
+ && oldEntry.scope.repositoryId !== undefined && replacement.scope.repositoryId !== undefined
64
+ && oldEntry.scope.repositoryId !== replacement.scope.repositoryId) {
65
+ throw new KiokukoError('CONFLICT', 'Replacement crosses an explicit memory identity or branch scope');
66
+ }
50
67
  database.prepare("UPDATE entries SET status = 'superseded', superseded_by = ?, updated_at = ? WHERE id = ? AND workspace = ? AND current_revision = ?")
51
68
  .run(input.replacementEntryId, now, input.oldEntryId, input.workspace, input.expectedRevision);
52
69
  recordAuditEvent(database, { entryId: input.oldEntryId, workspace: input.workspace, operation: 'supersede', actor, details: { replacementEntryId: input.replacementEntryId, expectedRevision: input.expectedRevision }, createdAt: now });
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/memory/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/memory/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import type { RelationDelivery } from './relation-delivery.js';
2
2
  import * as z from 'zod/v4';
3
3
  export declare const observationOutcomeSchema: z.ZodEnum<{
4
+ unknown: "unknown";
4
5
  failed: "failed";
5
6
  passed: "passed";
6
- unknown: "unknown";
7
7
  }>;
8
8
  export declare const observationSchema: z.ZodObject<{
9
9
  cwd: z.ZodString;
@@ -19,14 +19,14 @@ export declare const observationSchema: z.ZodObject<{
19
19
  summary: z.ZodDefault<z.ZodString>;
20
20
  tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
21
21
  outcome: z.ZodDefault<z.ZodEnum<{
22
+ unknown: "unknown";
22
23
  failed: "failed";
23
24
  passed: "passed";
24
- unknown: "unknown";
25
25
  }>>;
26
26
  verification: z.ZodDefault<z.ZodEnum<{
27
+ unknown: "unknown";
27
28
  failed: "failed";
28
29
  passed: "passed";
29
- unknown: "unknown";
30
30
  }>>;
31
31
  issue: z.ZodOptional<z.ZodString>;
32
32
  prevention: z.ZodOptional<z.ZodString>;
@@ -43,9 +43,9 @@ export declare const observationSchema: z.ZodObject<{
43
43
  other: "other";
44
44
  }>;
45
45
  outcome: z.ZodDefault<z.ZodEnum<{
46
+ unknown: "unknown";
46
47
  failed: "failed";
47
48
  passed: "passed";
48
- unknown: "unknown";
49
49
  }>>;
50
50
  summary: z.ZodDefault<z.ZodString>;
51
51
  }, z.core.$strict>>>;
@@ -1,3 +1,5 @@
1
+ import type { HistoryOmission } from './entry-history.js';
2
+ import { type HistoryDelivery, type OutputDelivery } from './history-delivery.js';
1
3
  import { type RelationDelivery } from './relation-delivery.js';
2
4
  import type { SqliteDatabase } from '../db/adapter.js';
3
5
  import { type EntryRecord } from './entries.js';
@@ -9,6 +11,7 @@ import { type RerankerDiagnostics } from '../reranker/service.js';
9
11
  import { type LessonDeduplicationResult } from './lesson-derivation.js';
10
12
  export interface SearchEntriesInput {
11
13
  workspace: string;
14
+ cwd?: string;
12
15
  query: string;
13
16
  limit?: number;
14
17
  kind?: EntryKind;
@@ -22,12 +25,16 @@ export interface SearchEntriesInput {
22
25
  relatedCandidateLimit?: number;
23
26
  }
24
27
  export interface SearchResult {
28
+ historySelectionOmissions?: HistoryOmission[];
25
29
  items: EntryRecord[];
26
30
  count: number;
27
31
  truncated: boolean;
28
32
  rerankerDiagnostics?: RerankerDiagnostics;
29
33
  }
30
34
  export interface RecallEntriesInput extends SearchEntriesInput {
35
+ includeHistory?: boolean;
36
+ maxOutputChars?: number;
37
+ cwd?: string;
31
38
  maxChars?: number;
32
39
  }
33
40
  export interface RecallItem {
@@ -48,6 +55,9 @@ export interface RecallItem {
48
55
  selectionReasons?: string[];
49
56
  }
50
57
  export interface RecallResult {
58
+ historySelectionOmissions?: HistoryOmission[];
59
+ historyDelivery?: HistoryDelivery;
60
+ outputDelivery?: OutputDelivery;
51
61
  relationDelivery?: RelationDelivery;
52
62
  items: RecallItem[];
53
63
  count: number;
@@ -63,6 +73,7 @@ export interface RankedRecallHit {
63
73
  reasons: string[];
64
74
  }
65
75
  export interface RankedRecallResult {
76
+ historyOmissions?: HistoryOmission[];
66
77
  hits: RankedRecallHit[];
67
78
  truncated: boolean;
68
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"retrieval.d.ts","sourceRoot":"","sources":["../../src/memory/retrieval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retrieval.d.ts","sourceRoot":"","sources":["../../src/memory/retrieval.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { finalizeHistoryRecall } from './history-delivery.js';
1
2
  import { attachRelationDelivery } from './relation-delivery.js';
2
3
  import { DEFAULT_CONTEXT_CHARACTERS } from './context-budget.js';
3
4
  import { KiokukoError } from '../errors.js';
@@ -42,7 +43,8 @@ export function rankedEntryHits(database, input, runtime = {}) {
42
43
  const normalizedInput = { ...input, workspace };
43
44
  if (normalizedInput.query.trim().length === 0)
44
45
  return { hits: [], truncated: false };
45
- const candidates = hybridSearch(database, { ...normalizedInput, limit }, runtime);
46
+ const omissions = [];
47
+ const candidates = hybridSearch(database, { ...normalizedInput, limit }, { ...runtime, onHistoryOmission(value) { omissions.push(value); runtime.onHistoryOmission?.(value); } });
46
48
  return {
47
49
  hits: candidates.slice(0, limit).map((candidate, index) => ({
48
50
  entryId: candidate.entryId,
@@ -51,13 +53,14 @@ export function rankedEntryHits(database, input, runtime = {}) {
51
53
  reasons: [...candidate.reasons],
52
54
  })),
53
55
  truncated: candidates.length > limit,
56
+ ...(omissions.length ? { historyOmissions: [...new Map(omissions.map(o => [JSON.stringify(o), o])).values()] } : {}),
54
57
  };
55
58
  }
56
59
  export function searchEntries(database, input, runtime = {}) {
57
60
  const limit = normalizedLimit(input.limit, DEFAULT_SEARCH_LIMIT);
58
61
  const selected = rankedEntryHits(database, { ...input, limit }, runtime);
59
62
  const items = selected.hits.map((hit) => readEntry(database, { workspace: input.workspace, entryId: hit.entryId }));
60
- return { items, count: items.length, truncated: selected.truncated };
63
+ return { items, count: items.length, truncated: selected.truncated, ...(selected.historyOmissions ? { historySelectionOmissions: selected.historyOmissions } : {}) };
61
64
  }
62
65
  function candidateSnapshotHash(items) {
63
66
  return canonicalContentHash(items.map((entry) => ({
@@ -107,10 +110,11 @@ export function recallEntries(database, input, runtime = {}) {
107
110
  const reasons = new Map();
108
111
  for (const id of retained)
109
112
  reasons.set(id, ['duplicate_source_suppressed']);
110
- return {
113
+ return finalizeHistoryRecall(database, {
111
114
  ...packRecallEntries(database, input, deduplicated.entries, selected.truncated || suppressed.size > 0, maxChars, sourceNotes, reasons),
112
115
  lessonDeduplicationDiagnostics: deduplicated.diagnostics,
113
- };
116
+ ...(selected.historyOmissions ? { historySelectionOmissions: selected.historyOmissions } : {}),
117
+ }, input);
114
118
  }
115
119
  function packRecallEntries(database, input, entries, selectedTruncated, maxChars = normalizedMaxChars(input.maxChars), sourceNotes = new Map(), selectionReasons = new Map()) {
116
120
  const items = [];
@@ -189,10 +193,11 @@ export async function recallEntriesWithReranker(database, input, runtime = {}, s
189
193
  throw new KiokukoError('CONFLICT', 'Recall selection changed during reranker inference');
190
194
  }
191
195
  const result = packRecallEntries(database, input, reranked.candidates.map(({ entry }) => entry), baseline.truncated || suppressed.size > 0, maxChars, sourceNotes, reasons);
192
- return {
196
+ return finalizeHistoryRecall(database, {
193
197
  ...result,
198
+ ...(baseline.historySelectionOmissions ? { historySelectionOmissions: baseline.historySelectionOmissions } : {}),
194
199
  lessonDeduplicationDiagnostics: deduplicated.diagnostics,
195
200
  ...(reranked.diagnostics === undefined ? {} : { rerankerDiagnostics: reranked.diagnostics }),
196
- };
201
+ }, input);
197
202
  }
198
203
  //# sourceMappingURL=retrieval.js.map