@jmtrin/opencode-kevin 0.5.0 → 0.7.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 (90) hide show
  1. package/README.md +268 -122
  2. package/dist/migrations/001_initial.sql +91 -91
  3. package/dist/migrations/003_v02_signal.sql +57 -57
  4. package/dist/migrations/004_v03_knowledge.sql +138 -138
  5. package/dist/migrations/005_v04_signal.sql +57 -57
  6. package/dist/migrations/006_v05_glassbox.sql +118 -118
  7. package/dist/migrations/007_v06_pull.sql +145 -0
  8. package/dist/migrations/008_v07_truth.sql +124 -0
  9. package/dist/plugin/Archiver.js +4 -3
  10. package/dist/plugin/Archiver.js.map +1 -1
  11. package/dist/plugin/ArtifactWriter.d.ts +50 -0
  12. package/dist/plugin/ArtifactWriter.js +240 -0
  13. package/dist/plugin/ArtifactWriter.js.map +1 -0
  14. package/dist/plugin/ConflictDetector.d.ts +35 -0
  15. package/dist/plugin/ConflictDetector.js +283 -0
  16. package/dist/plugin/ConflictDetector.js.map +1 -0
  17. package/dist/plugin/ContextInjector.d.ts +15 -0
  18. package/dist/plugin/ContextInjector.js +46 -11
  19. package/dist/plugin/ContextInjector.js.map +1 -1
  20. package/dist/plugin/ConventionMiner.d.ts +35 -0
  21. package/dist/plugin/ConventionMiner.js +243 -0
  22. package/dist/plugin/ConventionMiner.js.map +1 -0
  23. package/dist/plugin/Curator.d.ts +96 -0
  24. package/dist/plugin/Curator.js +283 -0
  25. package/dist/plugin/Curator.js.map +1 -0
  26. package/dist/plugin/Feedback.js +4 -3
  27. package/dist/plugin/Feedback.js.map +1 -1
  28. package/dist/plugin/Materializer.d.ts +59 -0
  29. package/dist/plugin/Materializer.js +237 -0
  30. package/dist/plugin/Materializer.js.map +1 -0
  31. package/dist/plugin/MemoryService.d.ts +37 -0
  32. package/dist/plugin/MemoryService.js +241 -20
  33. package/dist/plugin/MemoryService.js.map +1 -1
  34. package/dist/plugin/Migrate.js +51 -2
  35. package/dist/plugin/Migrate.js.map +1 -1
  36. package/dist/plugin/QualityGate.d.ts +15 -1
  37. package/dist/plugin/QualityGate.js +12 -0
  38. package/dist/plugin/QualityGate.js.map +1 -1
  39. package/dist/plugin/Reflector.js +13 -0
  40. package/dist/plugin/Reflector.js.map +1 -1
  41. package/dist/plugin/RepoTruth.d.ts +80 -0
  42. package/dist/plugin/RepoTruth.js +600 -0
  43. package/dist/plugin/RepoTruth.js.map +1 -0
  44. package/dist/plugin/Retrospective.d.ts +1 -0
  45. package/dist/plugin/Retrospective.js +20 -1
  46. package/dist/plugin/Retrospective.js.map +1 -1
  47. package/dist/plugin/capabilities.d.ts +15 -0
  48. package/dist/plugin/capabilities.js +42 -0
  49. package/dist/plugin/capabilities.js.map +1 -0
  50. package/dist/plugin/diff.d.ts +8 -0
  51. package/dist/plugin/diff.js +183 -0
  52. package/dist/plugin/diff.js.map +1 -0
  53. package/dist/plugin/index.d.ts +8 -1
  54. package/dist/plugin/index.js +354 -2
  55. package/dist/plugin/index.js.map +1 -1
  56. package/dist/plugin/inferability.d.ts +32 -0
  57. package/dist/plugin/inferability.js +89 -0
  58. package/dist/plugin/inferability.js.map +1 -0
  59. package/dist/plugin/kevin_approve.d.ts +34 -0
  60. package/dist/plugin/kevin_approve.js +50 -0
  61. package/dist/plugin/kevin_approve.js.map +1 -0
  62. package/dist/plugin/kevin_audit.d.ts +87 -1
  63. package/dist/plugin/kevin_audit.js +190 -3
  64. package/dist/plugin/kevin_audit.js.map +1 -1
  65. package/dist/plugin/kevin_conflicts.d.ts +9 -0
  66. package/dist/plugin/kevin_conflicts.js +51 -0
  67. package/dist/plugin/kevin_conflicts.js.map +1 -0
  68. package/dist/plugin/kevin_facts.d.ts +42 -0
  69. package/dist/plugin/kevin_facts.js +37 -0
  70. package/dist/plugin/kevin_facts.js.map +1 -0
  71. package/dist/plugin/kevin_propose.d.ts +23 -0
  72. package/dist/plugin/kevin_propose.js +15 -0
  73. package/dist/plugin/kevin_propose.js.map +1 -0
  74. package/dist/plugin/kevin_publish.d.ts +38 -0
  75. package/dist/plugin/kevin_publish.js +19 -0
  76. package/dist/plugin/kevin_publish.js.map +1 -0
  77. package/dist/plugin/metrics.d.ts +12 -1
  78. package/dist/plugin/metrics.js +49 -0
  79. package/dist/plugin/metrics.js.map +1 -1
  80. package/dist/plugin/replay-types.d.ts +8 -8
  81. package/dist/plugin/replay.js +10 -0
  82. package/dist/plugin/replay.js.map +1 -1
  83. package/migrations/001_initial.sql +91 -91
  84. package/migrations/003_v02_signal.sql +57 -57
  85. package/migrations/004_v03_knowledge.sql +138 -138
  86. package/migrations/005_v04_signal.sql +57 -57
  87. package/migrations/006_v05_glassbox.sql +118 -118
  88. package/migrations/007_v06_pull.sql +145 -0
  89. package/migrations/008_v07_truth.sql +124 -0
  90. package/package.json +3 -2
@@ -40,6 +40,12 @@ export interface InjectionContext {
40
40
  /** Failing tool_calls count for this fingerprint in the current session
41
41
  * (0 = never recurred after injection). */
42
42
  recurrenceCount: number;
43
+ /** v0.6.0 (K6-022 / plan §5.8) — the `injection_confidence_floor`
44
+ * setting, read once per plan/inject call by the ContextInjector.
45
+ * When present, a memory whose `confidence` is below it is rejected by
46
+ * the zero branch (before the seen-set). Undefined disables the branch:
47
+ * memories without a computed confidence are never dropped by it. */
48
+ confidenceFloor?: number;
43
49
  }
44
50
  /**
45
51
  * v0.5.0 (K5-006 / plan §5.2, D5-04) — the reason a memory was rejected
@@ -47,7 +53,7 @@ export interface InjectionContext {
47
53
  * `injections_blocked_*` counter; a silent boolean is an unmeasurable
48
54
  * policy (principle 16).
49
55
  */
50
- export type GateReason = "ok" | "seen_this_session" | "ignored" | "not_active" | "recurrence" | "weak";
56
+ export type GateReason = "ok" | "low_confidence" | "seen_this_session" | "ignored" | "not_active" | "recurrence" | "weak";
51
57
  export interface GateVerdict {
52
58
  readonly allowed: boolean;
53
59
  readonly reason: GateReason;
@@ -88,6 +94,9 @@ export declare const QualityGate: {
88
94
  * Branch order preserves the v0.4.0 sequence with `ignored` inserted
89
95
  * second:
90
96
  *
97
+ * 0. `confidence < ctx.confidenceFloor` → `low_confidence` (v0.6.0,
98
+ * K6-022 — runs FIRST: it is the cheapest check, and a memory below
99
+ * the floor should not consume a seen-set slot it will never use)
91
100
  * 1. seen this session → `seen_this_session`
92
101
  * 2. `memory.ignored === true` → `ignored`
93
102
  * 3. status !== 'active' → `not_active`
@@ -99,6 +108,10 @@ export declare const QualityGate: {
99
108
  * `ignored` is a human verdict (D5-07) and is enforced even in debug
100
109
  * mode: the flag excludes a memory from retrieval entirely, so the gate
101
110
  * is only ever asked about it defensively.
111
+ *
112
+ * The floor comparison is `>=`-admissive: a memory exactly AT the floor
113
+ * passes the branch (asserted in K6-022). A floor of '0' admits
114
+ * everything the other five branches allow.
102
115
  */
103
116
  canInjectVerdict(memory: {
104
117
  id: string;
@@ -106,5 +119,6 @@ export declare const QualityGate: {
106
119
  strength?: "strong" | "weak";
107
120
  isActionable?: boolean;
108
121
  ignored?: boolean;
122
+ confidence?: number;
109
123
  }, ctx: InjectionContext, qualityGateEnabled?: boolean): GateVerdict;
110
124
  };
@@ -70,6 +70,9 @@ export const QualityGate = {
70
70
  * Branch order preserves the v0.4.0 sequence with `ignored` inserted
71
71
  * second:
72
72
  *
73
+ * 0. `confidence < ctx.confidenceFloor` → `low_confidence` (v0.6.0,
74
+ * K6-022 — runs FIRST: it is the cheapest check, and a memory below
75
+ * the floor should not consume a seen-set slot it will never use)
73
76
  * 1. seen this session → `seen_this_session`
74
77
  * 2. `memory.ignored === true` → `ignored`
75
78
  * 3. status !== 'active' → `not_active`
@@ -81,8 +84,17 @@ export const QualityGate = {
81
84
  * `ignored` is a human verdict (D5-07) and is enforced even in debug
82
85
  * mode: the flag excludes a memory from retrieval entirely, so the gate
83
86
  * is only ever asked about it defensively.
87
+ *
88
+ * The floor comparison is `>=`-admissive: a memory exactly AT the floor
89
+ * passes the branch (asserted in K6-022). A floor of '0' admits
90
+ * everything the other five branches allow.
84
91
  */
85
92
  canInjectVerdict(memory, ctx, qualityGateEnabled = true) {
93
+ if (memory.confidence !== undefined &&
94
+ ctx.confidenceFloor !== undefined &&
95
+ memory.confidence < ctx.confidenceFloor) {
96
+ return { allowed: false, reason: "low_confidence" };
97
+ }
86
98
  if (ctx.seenThisSession.has(memory.id)) {
87
99
  return { allowed: false, reason: "seen_this_session" };
88
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"QualityGate.js","sourceRoot":"","sources":["../../plugin/QualityGate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;;;;;;;GAaG;AAEH;qEACqE;AACrE,MAAM,CAAC,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAC9D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAC1B,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACrD,OAAO,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC;AAgDD,MAAM,CAAC,MAAM,WAAW,GAAG;IAC1B;;;OAGG;IACH,eAAe,CACd,QAAiC,EACjC,SAAiB;QAEjB,IAAI,QAAQ,EAAE,IAAI;YAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;QACzC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,sEAAsE;IACtE,QAAQ,CACP,MAAqB,EACrB,QAAiC,EACjC,SAAiB;QAEjB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACvD,6DAA6D;QAC7D,2DAA2D;QAC3D,8DAA8D;QAC9D,MAAM,YAAY,GAAG,CAAC,OAAO,IAAI,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC;QACxD,MAAM,QAAQ,GACb,QAAQ,EAAE,IAAI,IAAI,IAAI,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QACrE,OAAO;YACN,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY;YACZ,QAAQ;SACR,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,CACR,MAKC,EACD,GAAqB,EACrB,kBAAkB,GAAG,IAAI;QAEzB,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC,OAAO,CAAC;IACvE,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,gBAAgB,CACf,MAMC,EACD,GAAqB,EACrB,kBAAkB,GAAG,IAAI;QAEzB,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QACxD,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC9C,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QACjD,CAAC;QACD,IAAI,GAAG,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxD,IAAI,kBAAkB,EAAE,CAAC;gBACxB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC3C,CAAC;YACD,2DAA2D;YAC3D,2DAA2D;QAC5D,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC;CACD,CAAC"}
1
+ {"version":3,"file":"QualityGate.js","sourceRoot":"","sources":["../../plugin/QualityGate.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { fingerprint as computeFingerprint } from "./fingerprint.js";
2
+ import { classify } from "./inferability.js";
2
3
  import { redactPaths as redactPathsText } from "./redact.js";
3
4
  const DEFAULT_THROTTLE_MS = 60_000;
4
5
  const MAX_CONTENT_CHARS = 4096;
@@ -128,6 +129,18 @@ export class Reflector {
128
129
  return null;
129
130
  }
130
131
  this.lastReflectionByFp.set(fp, now);
132
+ const configurableMemoryService = this.memoryService;
133
+ const lessonMode = configurableMemoryService.getSetting?.("error_lesson_mode", "all") ??
134
+ "all";
135
+ const verdict = classify({
136
+ type: "error",
137
+ content: lesson,
138
+ metadata: { dispatch: { code: dispatched.code, hint: dispatched.hint } },
139
+ });
140
+ if (lessonMode === "triage_only" && verdict === "inferable") {
141
+ this.metrics?.incr("error_lessons_suppressed", 1);
142
+ return null;
143
+ }
131
144
  // v0.3.0 (K3-018): optional LLM enrichment opt-in. Runs only when
132
145
  // the throttle check passed (bug #5).
133
146
  let enrichedLesson = lesson;
@@ -1 +1 @@
1
- {"version":3,"file":"Reflector.js","sourceRoot":"","sources":["../../plugin/Reflector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Reflector.js","sourceRoot":"","sources":["../../plugin/Reflector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,aAAa,CAAC;AA6D7D,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACnC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,YAAY,GAAG,iBAAiB,CAAC;AACvC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAExC,MAAM,CAAC,MAAM,aAAa,GACzB,gKAAgK,CAAC;AAElK,MAAM,CAAC,MAAM,eAAe,GAC3B,8NAA8N,CAAC;AAEhO;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,WAAW,GAA2B;IAClD,SAAS,EAAE,0CAA0C;IACrD,IAAI,EAAE,gDAAgD;IACtD,IAAI,EAAE,+CAA+C;IACrD,OAAO,EAAE,qDAAqD;IAC9D,OAAO,EAAE,sDAAsD;IAC/D,OAAO,EAAE,sCAAsC;CAC/C,CAAC;AAEF,iFAAiF;AACjF,+EAA+E;AAC/E,gFAAgF;AAChF,kEAAkE;AAElE,kEAAkE;AAClE,iEAAiE;AACjE,YAAY;AACZ,uEAAuE;AACvE,sEAAsE;AACtE,mBAAmB;AACnB,MAAM,CAAC,MAAM,aAAa,GAA2B;IACpD,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,2BAA2B;IACnC,MAAM,EAAE,sBAAsB;IAC9B,OAAO,EAAE,eAAe;IACxB,MAAM,EAAE,mEAAmE;IAC3E,MAAM,EAAE,wDAAwD;IAChE,MAAM,EAAE,wDAAwD;IAChE,MAAM,EAAE,kCAAkC;CAC1C,CAAC;AAEF,MAAM,UAAU,GAAG,kBAAkB,CAAC;AACtC,MAAM,UAAU,GAAG,kDAAkD,CAAC;AACtE,MAAM,UAAU,GAAG,sCAAsC,CAAC;AAC1D,+DAA+D;AAC/D,MAAM,YAAY,GAAG,mBAAmB,CAAC;AACzC,uEAAuE;AACvE,2CAA2C;AAC3C,MAAM,oBAAoB,GACzB,+FAA+F,CAAC;AACjG,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAC5C,MAAM,iBAAiB,GAAG,8BAA8B,CAAC;AAEzD,MAAM,eAAe,GAAa;IACjC,oDAAoD;IACpD,kBAAkB;IAClB,wDAAwD;IACxD,gEAAgE;IAChE,oEAAoE;IACpE,8DAA8D;IAC9D,+DAA+D;IAC/D,kDAAkD;IAClD,2DAA2D;IAC3D,wBAAwB;CACxB,CAAC;AAEF,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC,MAAM,OAAO,SAAS;IAYZ;IAXD,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,UAAU,CAAS;IACnB,OAAO,CAAiB;IACxB,QAAQ,CAIY;IACpB,aAAa,CAAgD;IAErE,YACS,aAA4B,EACpC,OAA0B,EAC1B,OAAwB;QAFhB,kBAAa,GAAb,aAAa,CAAe;QAIpC,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,mBAAmB,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,OAAO,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAsB;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1E,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAE1E,MAAM,YAAY,GACjB,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;QAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAEhE,4DAA4D;QAC5D,mCAAmC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CACrC,cAAc,EACd,cAAc,EACd,KAAK,CAAC,SAAS,CACf,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC;YAC3C,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,gBAAgB,EAAE,UAAU,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS;YACpD,cAAc;YACd,UAAU;SACV,CAAC,CAAC;QAEH,gEAAgE;QAChE,iEAAiE;QACjE,iEAAiE;QACjE,iEAAiE;QACjE,mEAAmE;QACnE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC;QAC1C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;QAClE,MAAM,EAAE,GAAG,kBAAkB,CAAC,SAAS,EAAE,SAAS,IAAI,SAAS,CAAC,CAAC;QACjE,iEAAiE;QACjE,kEAAkE;QAClE,4DAA4D;QAC5D,+DAA+D;QAC/D,iEAAiE;QACjE,0DAA0D;QAC1D,4DAA4D;QAC5D,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,IAAI,CAAC;gBACJ,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACR,kCAAkC;YACnC,CAAC;QACF,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC;QACb,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACrC,MAAM,yBAAyB,GAAG,IAAI,CAAC,aAEtC,CAAC;QACF,MAAM,UAAU,GACf,yBAAyB,CAAC,UAAU,EAAE,CAAC,mBAAmB,EAAE,KAAK,CAAC;YAClE,KAAK,CAAC;QACP,MAAM,OAAO,GAAG,QAAQ,CAAC;YACxB,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE;SACxE,CAAC,CAAC;QACH,IAAI,UAAU,KAAK,aAAa,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YAC7D,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,kEAAkE;QAClE,sCAAsC;QACtC,IAAI,cAAc,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC;YACJ,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CACrC,MAAM,EACN,cAAc,EACd,cAAc,CACd,CAAC;YACF,IAAI,UAAU,EAAE,CAAC;gBAChB,cAAc,GAAG,GAAG,MAAM,KAAK,UAAU,EAAE,CAAC;YAC7C,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,uCAAuC;QACxC,CAAC;QAED,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC;QACxC,CAAC;QACD,iEAAiE;QACjE,6DAA6D;QAC7D,2EAA2E;QAC3E,oEAAoE;QACpE,QAAQ,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;QACrE,IAAI,YAAoB,CAAC;QACzB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,OAAO,GACZ,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;YACrE,IAAI,OAAO,IAAI,iBAAiB,EAAE,CAAC;gBAClC,YAAY,GAAG,GAAG,cAAc,GAAG,cAAc,GAAG,YAAY,EAAE,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACP,MAAM,MAAM,GACX,iBAAiB;oBACjB,cAAc,CAAC,MAAM;oBACrB,cAAc,CAAC,MAAM;oBACrB,YAAY,CAAC,MAAM,CAAC;gBACrB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC7D,YAAY,GAAG,GAAG,cAAc,GAAG,cAAc,GAAG,SAAS,GAAG,YAAY,EAAE,CAAC;gBAC/E,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;YAC3B,CAAC;QACF,CAAC;aAAM,CAAC;YACP,YAAY,GAAG,cAAc,CAAC;QAC/B,CAAC;QAED,+DAA+D;QAC/D,mEAAmE;QACnE,4BAA4B;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YAClC,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,KAAK,CAAC,QAAQ;YAC1B,aAAa,EAAE,KAAK,CAAC,SAAS;YAC9B,QAAQ;YACR,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,SAAS,IAAI,SAAS;YACjC,WAAW,EAAE,EAAE;SACf,CAAC,CAAC;QAEH,OAAO,EAAE,CAAC;IACX,CAAC;IAED,uBAAuB,CAAC,KAA2B;QAClD,MAAM,UAAU,GACf,KAAK,CAAC,UAAU;YAChB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC;QACvE,MAAM,cAAc,GAAG,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,SAAS,CAAC;QACjE,MAAM,IAAI,GACT,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,oBAAoB;YACjD,CAAC,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,KAAK;YAC7D,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;QACzB,IAAI,MAAM,GAAG,QAAQ,KAAK,CAAC,QAAQ,eAAe,cAAc,KAAK,IAAI,iBAAiB,UAAU,EAAE,CAAC;QACvG,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,IAAI,mBAAmB,UAAU,CAAC,IAAI,UAAU,UAAU,CAAC,IAAI,GAAG,CAAC;QAC1E,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;;;;;OAQG;IACH,cAAc,CACb,MAAc,EACd,MAAc,EACd,SAAiB;QAEjB,MAAM,QAAQ,GAAG,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC;QAExC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,YAAY,GAAG,EAAE,CAAC;YACrD,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;YACjE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,uBAAuB,IAAI,EAAE,EAAE,CAAC;QAC5D,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAI,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1B,OAAO;gBACN,IAAI;gBACJ,IAAI,EAAE,kEAAkE;aACxE,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,IAAI,GACT,IAAI,KAAK,YAAY;gBACpB,CAAC,CAAC,iEAAiE;gBACnE,CAAC,CAAC,mBAAmB,IAAI,EAAE,CAAC;YAC9B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACvB,CAAC;QAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC9D,IAAI,gBAAgB,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAChC,OAAO;gBACN,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,mCAAmC,GAAG,+BAA+B;aAC3E,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAClD,IAAI,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACzB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,uBAAuB,IAAI,EAAE,EAAE,CAAC;QAC5D,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACnD,IAAI,QAAQ,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,2BAA2B,GAAG,EAAE,EAAE,CAAC;QAC9D,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,WAAW,CAAC,IAAY;QACvB,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,aAAa,CAAC,IAAY;QACzB,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACnC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;gBAChC,+CAA+C;gBAC/C,oDAAoD;gBACpD,qBAAqB;gBACrB,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAClD,IAAI,CAAC,EAAE,CAAC;oBACP,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBACnC,CAAC;gBACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;YACjC,CAAC,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAEO,qBAAqB,CAAC,IAAY;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvD,OAAO,OAAO,CAAC;YAChB,CAAC;QACF,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,OAAO,CAAC;QACxC,CAAC;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD"}
@@ -0,0 +1,80 @@
1
+ import type { Memory } from "./MemoryService.js";
2
+ import type { Store } from "./Store.js";
3
+ import type { Metrics } from "./metrics.js";
4
+ declare const MAX_FACTS_PER_PROJECT = 500;
5
+ export interface RepoFact {
6
+ /** "package.json" | "tsconfig.json" */
7
+ readonly file: string;
8
+ /** "scripts.test", "dependencies.zod", "compilerOptions.strict" */
9
+ readonly keyPath: string;
10
+ /** always stringified */
11
+ readonly value: string;
12
+ }
13
+ export interface RepoFactRow extends RepoFact {
14
+ id: string;
15
+ projectId: string;
16
+ fingerprint: string;
17
+ sourceMtime: string | null;
18
+ scannedAt: string;
19
+ }
20
+ export declare class RepoTruth {
21
+ private readonly store;
22
+ private readonly projectId;
23
+ private readonly projectRoot;
24
+ private readonly metrics;
25
+ private hasTable;
26
+ private readonly lastMtimes;
27
+ private readonly lastFacts;
28
+ private lastScanAt;
29
+ private readonly prevDeps;
30
+ constructor(store: Store, projectId: string, projectRoot: string, metrics?: Metrics | null);
31
+ private ensureTables;
32
+ /**
33
+ * v0.7.0 (K7-005/006 / plan §5.1-5.2, D7-13) — refresh the repository
34
+ * truth. The steady state of an idle session is two `stat` calls: a file
35
+ * whose `source_mtime` is unchanged is NOT re-parsed (no JSON.parse, no
36
+ * readFileSync). A changed file replaces that file's facts for THIS
37
+ * project only; a file no longer present has its facts removed for this
38
+ * project only. The project-wide 500-fact cap is applied to the combined,
39
+ * deterministically-ordered fact set and the truncation is recorded, never
40
+ * silent. Returns the project's stored fact view after the scan (including
41
+ * a `_truncated` row when the cap was hit), so repeated scans of unchanged
42
+ * files return identical results.
43
+ */
44
+ scan(_now?: Date): RepoFact[];
45
+ private hasStoredFileFacts;
46
+ private currentScanFacts;
47
+ private storedFileFacts;
48
+ private getStoredMtime;
49
+ private persistAll;
50
+ private storedFactCount;
51
+ private storedTruncation;
52
+ /**
53
+ * v0.7.0 (K7-006 / plan §5.2) — extract a file's facts WITHOUT writing
54
+ * anything. Used by scan to keep a single source of truth for extraction.
55
+ */
56
+ private extractFile;
57
+ private fileMtimes;
58
+ /**
59
+ * v0.7.0 (K7-006 / plan §5.2, D7-02) — the project-scoped stored facts.
60
+ * Every read filters on `project_id`, so a second project's facts never
61
+ * leak into this project's view.
62
+ */
63
+ facts(): RepoFact[];
64
+ /** v0.7.0 (K7-009) — human-readable fact rows for `kevin_facts`. */
65
+ storeFacts(): RepoFactRow[];
66
+ /** Timestamp of the latest scan in this process or persisted facts. */
67
+ scannedAt(): string | null;
68
+ /**
69
+ * v0.7.0 (K7-007 / plan §5.1, D7-05) — exact-match contradiction detection:
70
+ * the three and only three checks. Each returns a human-readable reason;
71
+ * empty when consistent. Pure read — writes nothing (K7-008 and K7-014 own
72
+ * the penalty and conflict-row writes).
73
+ */
74
+ contradictions(memory: Memory): string[];
75
+ private checkMissingScripts;
76
+ private checkMissingDependencies;
77
+ private checkChangedCompilerOptions;
78
+ private currentDepPackages;
79
+ }
80
+ export { MAX_FACTS_PER_PROJECT };