@jmtrin/opencode-kevin 0.3.0 → 0.5.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 (72) hide show
  1. package/README.md +117 -9
  2. package/dist/migrations/005_v04_signal.sql +57 -0
  3. package/dist/migrations/006_v05_glassbox.sql +118 -0
  4. package/dist/plugin/Archiver.d.ts +42 -0
  5. package/dist/plugin/Archiver.js +98 -0
  6. package/dist/plugin/Archiver.js.map +1 -0
  7. package/dist/plugin/CausalChain.d.ts +13 -2
  8. package/dist/plugin/CausalChain.js +83 -13
  9. package/dist/plugin/CausalChain.js.map +1 -1
  10. package/dist/plugin/ContextInjector.d.ts +152 -4
  11. package/dist/plugin/ContextInjector.js +400 -93
  12. package/dist/plugin/ContextInjector.js.map +1 -1
  13. package/dist/plugin/Feedback.d.ts +67 -0
  14. package/dist/plugin/Feedback.js +137 -0
  15. package/dist/plugin/Feedback.js.map +1 -0
  16. package/dist/plugin/InjectionLedger.d.ts +92 -0
  17. package/dist/plugin/InjectionLedger.js +243 -0
  18. package/dist/plugin/InjectionLedger.js.map +1 -0
  19. package/dist/plugin/LessonFixer.d.ts +44 -0
  20. package/dist/plugin/LessonFixer.js +46 -0
  21. package/dist/plugin/LessonFixer.js.map +1 -0
  22. package/dist/plugin/MemoryService.d.ts +81 -1
  23. package/dist/plugin/MemoryService.js +321 -54
  24. package/dist/plugin/MemoryService.js.map +1 -1
  25. package/dist/plugin/Migrate.js +31 -0
  26. package/dist/plugin/Migrate.js.map +1 -1
  27. package/dist/plugin/QualityGate.d.ts +110 -0
  28. package/dist/plugin/QualityGate.js +108 -0
  29. package/dist/plugin/QualityGate.js.map +1 -0
  30. package/dist/plugin/Reflector.d.ts +17 -0
  31. package/dist/plugin/Reflector.js +81 -26
  32. package/dist/plugin/Reflector.js.map +1 -1
  33. package/dist/plugin/Retrospective.js +22 -1
  34. package/dist/plugin/Retrospective.js.map +1 -1
  35. package/dist/plugin/ToolCallObserver.d.ts +1 -0
  36. package/dist/plugin/ToolCallObserver.js +15 -8
  37. package/dist/plugin/ToolCallObserver.js.map +1 -1
  38. package/dist/plugin/confidence.d.ts +8 -0
  39. package/dist/plugin/confidence.js +35 -0
  40. package/dist/plugin/confidence.js.map +1 -0
  41. package/dist/plugin/index.d.ts +5 -0
  42. package/dist/plugin/index.js +368 -44
  43. package/dist/plugin/index.js.map +1 -1
  44. package/dist/plugin/kevin_audit.d.ts +49 -0
  45. package/dist/plugin/kevin_audit.js +141 -0
  46. package/dist/plugin/kevin_audit.js.map +1 -0
  47. package/dist/plugin/kevin_why.d.ts +4 -0
  48. package/dist/plugin/kevin_why.js +72 -35
  49. package/dist/plugin/kevin_why.js.map +1 -1
  50. package/dist/plugin/memory-format.d.ts +12 -0
  51. package/dist/plugin/memory-format.js +45 -5
  52. package/dist/plugin/memory-format.js.map +1 -1
  53. package/dist/plugin/metrics.d.ts +27 -1
  54. package/dist/plugin/metrics.js +61 -0
  55. package/dist/plugin/metrics.js.map +1 -1
  56. package/dist/plugin/okf-export.js +63 -22
  57. package/dist/plugin/okf-export.js.map +1 -1
  58. package/dist/plugin/okf-import.d.ts +4 -1
  59. package/dist/plugin/okf-import.js +45 -12
  60. package/dist/plugin/okf-import.js.map +1 -1
  61. package/dist/plugin/query-tokenizer.d.ts +13 -0
  62. package/dist/plugin/query-tokenizer.js +86 -0
  63. package/dist/plugin/query-tokenizer.js.map +1 -0
  64. package/dist/plugin/replay-types.d.ts +327 -0
  65. package/dist/plugin/replay-types.js +65 -0
  66. package/dist/plugin/replay-types.js.map +1 -0
  67. package/dist/plugin/replay.d.ts +36 -0
  68. package/dist/plugin/replay.js +193 -0
  69. package/dist/plugin/replay.js.map +1 -0
  70. package/migrations/005_v04_signal.sql +57 -0
  71. package/migrations/006_v05_glassbox.sql +118 -0
  72. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../plugin/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../plugin/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { Store } from "./Store.js";
2
+ import type { Metrics } from "./metrics.js";
3
+ /**
4
+ * v0.5.0 (K5-016 / plan §5.7) — `kevin_audit`.
5
+ *
6
+ * Pure SQL over `memories`, `kevin_injections`, `kevin_metrics`,
7
+ * `memory_feedback`. No writes, no LLM, no filesystem access.
8
+ *
9
+ * There is deliberately **no `kevin_context_ratio`** (D5-09): Kevin cannot
10
+ * observe total session input tokens, so any such figure would be fabricated.
11
+ *
12
+ * Pre-006 databases degrade gracefully: any block that fails (missing column
13
+ * or table) falls back to its zero value and the report is flagged
14
+ * `"partial": true` instead of throwing.
15
+ */
16
+ export interface AuditReport {
17
+ memories: {
18
+ total: number;
19
+ by_status: Record<string, number>;
20
+ by_origin: Record<string, number>;
21
+ by_type: Record<string, number>;
22
+ ignored: number;
23
+ archived: number;
24
+ with_feedback: number;
25
+ superseded_with_target: number;
26
+ };
27
+ injections: {
28
+ total: number;
29
+ effective: number;
30
+ ineffective: number;
31
+ inconclusive: number;
32
+ unmeasured: number;
33
+ precision_rate: number;
34
+ coverage_rate: number;
35
+ };
36
+ blocked: Record<string, number>;
37
+ feedback: {
38
+ positive: number;
39
+ negative: number;
40
+ by_verdict: Record<string, number>;
41
+ };
42
+ tokens: {
43
+ pre_prompt: number;
44
+ compacting: number;
45
+ };
46
+ settings: Record<string, string>;
47
+ partial: boolean;
48
+ }
49
+ export declare function buildAudit(store: Store, metrics: Metrics): AuditReport;
@@ -0,0 +1,141 @@
1
+ function groupCounts(store, column) {
2
+ const rows = store
3
+ .prepare(`SELECT ${column} AS k, COUNT(*) AS n FROM memories GROUP BY ${column}`)
4
+ .all();
5
+ const out = {};
6
+ for (const r of rows) {
7
+ out[r.k ?? "unknown"] = r.n;
8
+ }
9
+ return out;
10
+ }
11
+ function scalar(store, sql) {
12
+ const row = store.prepare(sql).get();
13
+ return row.n ?? 0;
14
+ }
15
+ export function buildAudit(store, metrics) {
16
+ let partial = false;
17
+ // Memories block: `total` + the three GROUP BYs are pre-006 safe; the
18
+ // lifecycle counters need the 006 columns and fall back separately.
19
+ let memories = {
20
+ total: 0,
21
+ by_status: {},
22
+ by_origin: {},
23
+ by_type: {},
24
+ ignored: 0,
25
+ archived: 0,
26
+ with_feedback: 0,
27
+ superseded_with_target: 0,
28
+ };
29
+ try {
30
+ memories = {
31
+ ...memories,
32
+ total: scalar(store, "SELECT COUNT(*) AS n FROM memories"),
33
+ by_status: groupCounts(store, "status"),
34
+ by_origin: groupCounts(store, "origin"),
35
+ by_type: groupCounts(store, "type"),
36
+ };
37
+ }
38
+ catch {
39
+ partial = true;
40
+ }
41
+ try {
42
+ memories = {
43
+ ...memories,
44
+ ignored: scalar(store, "SELECT COUNT(*) AS n FROM memories WHERE ignored = 1"),
45
+ archived: scalar(store, "SELECT COUNT(*) AS n FROM memories WHERE status = 'archived'"),
46
+ with_feedback: scalar(store, "SELECT COUNT(*) AS n FROM memories WHERE feedback_positive > 0 OR feedback_negative > 0"),
47
+ superseded_with_target: scalar(store, "SELECT COUNT(*) AS n FROM memories WHERE status = 'superseded' AND superseded_by IS NOT NULL"),
48
+ };
49
+ }
50
+ catch {
51
+ partial = true;
52
+ }
53
+ // Injections block: grouped rollup over the ledger (same query the
54
+ // InjectionLedger.outcomeCounts() runs), rates from the metric cache.
55
+ let injections = {
56
+ total: 0,
57
+ effective: 0,
58
+ ineffective: 0,
59
+ inconclusive: 0,
60
+ unmeasured: 0,
61
+ precision_rate: 0,
62
+ coverage_rate: 0,
63
+ };
64
+ try {
65
+ const rows = store
66
+ .prepare("SELECT outcome, COUNT(*) AS n FROM kevin_injections GROUP BY outcome")
67
+ .all();
68
+ const counts = {
69
+ unmeasured: 0,
70
+ effective: 0,
71
+ ineffective: 0,
72
+ inconclusive: 0,
73
+ };
74
+ for (const r of rows) {
75
+ counts[r.outcome] = r.n;
76
+ }
77
+ injections = {
78
+ total: rows.reduce((acc, r) => acc + r.n, 0),
79
+ effective: counts.effective,
80
+ ineffective: counts.ineffective,
81
+ inconclusive: counts.inconclusive,
82
+ unmeasured: counts.unmeasured,
83
+ precision_rate: metrics.precisionRate(),
84
+ coverage_rate: metrics.coverageRate(),
85
+ };
86
+ }
87
+ catch {
88
+ partial = true;
89
+ }
90
+ // Feedback block: verdict rollup from the table, totals from the cache.
91
+ let feedback = {
92
+ positive: 0,
93
+ negative: 0,
94
+ by_verdict: {},
95
+ };
96
+ try {
97
+ const rows = store
98
+ .prepare("SELECT verdict, COUNT(*) AS n FROM memory_feedback GROUP BY verdict")
99
+ .all();
100
+ const byVerdict = {};
101
+ for (const r of rows) {
102
+ byVerdict[r.verdict] = r.n;
103
+ }
104
+ feedback = {
105
+ positive: metrics.get("feedback_positive_total"),
106
+ negative: metrics.get("feedback_negative_total"),
107
+ by_verdict: byVerdict,
108
+ };
109
+ }
110
+ catch {
111
+ partial = true;
112
+ }
113
+ const blocked = metrics.blockedSnapshot();
114
+ const tokens = {
115
+ pre_prompt: metrics.get("tokens_injected_pre_prompt"),
116
+ compacting: metrics.get("tokens_injected_compacting"),
117
+ };
118
+ let settings = {};
119
+ try {
120
+ const rows = store
121
+ .prepare("SELECT key, value FROM kevin_settings")
122
+ .all();
123
+ settings = {};
124
+ for (const r of rows) {
125
+ settings[r.key] = r.value;
126
+ }
127
+ }
128
+ catch {
129
+ partial = true;
130
+ }
131
+ return {
132
+ memories,
133
+ injections,
134
+ blocked,
135
+ feedback,
136
+ tokens,
137
+ settings,
138
+ partial,
139
+ };
140
+ }
141
+ //# sourceMappingURL=kevin_audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kevin_audit.js","sourceRoot":"","sources":["../../plugin/kevin_audit.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,10 @@ export interface WhyResult {
12
12
  summary: string;
13
13
  confidence: number;
14
14
  evidence_count: number;
15
+ /** v0.4.0 (K4-020) — negative evidence for the honest phrasing. */
16
+ recurrence_count: number;
17
+ /** v0.4.0 (K4-020) — deterministic "Fixed by:" raw material, if any. */
18
+ fix_args: string | null;
15
19
  last_verified: string | null;
16
20
  trace: WhyTraceEvent[];
17
21
  related_rules: string[];
@@ -1,49 +1,67 @@
1
1
  import { TS_CODE_RULES } from "./Reflector.js";
2
+ import { computeConfidence } from "./confidence.js";
3
+ import { toMatchClause, tokenizeQuery } from "./query-tokenizer.js";
4
+ // v0.5.0 (K5-010 / plan §5.3) — pre-006 DBs lack the feedback columns;
5
+ // kevin_why must not reference them (it degrades via the try/catch below,
6
+ // which is for missing ROWS, not missing COLUMNS). Probe once per store.
7
+ const feedbackColumnCache = new WeakMap();
8
+ function hasFeedbackColumns(store) {
9
+ const cached = feedbackColumnCache.get(store);
10
+ if (cached !== undefined)
11
+ return cached;
12
+ try {
13
+ store.prepare("SELECT feedback_positive FROM memories LIMIT 1").get();
14
+ feedbackColumnCache.set(store, true);
15
+ return true;
16
+ }
17
+ catch {
18
+ feedbackColumnCache.set(store, false);
19
+ return false;
20
+ }
21
+ }
2
22
  export function kevinWhy(store, query) {
3
23
  // v0.3.0 fix (bug #7) — the old code wrapped the WHOLE query in a
4
24
  // single quoted phrase, so it only matched the exact full-string
5
25
  // sequence. Tokenize like MemoryService.queryRelevant: quote each
6
26
  // word (escaping inner quotes) and AND them together, so partial or
7
27
  // multi-word queries still hit the FTS index.
8
- const tokens = query
9
- .trim()
10
- .split(/\s+/)
11
- .filter((t) => t.length > 0)
12
- .map((t) => `"${t.replace(/"/g, '""')}"`);
28
+ const tokens = tokenizeQuery(query);
13
29
  if (tokens.length === 0)
14
30
  return null;
15
- const match = tokens.join(" AND ");
16
- const patternRows = store
17
- .prepare(`SELECT m.id, m.content, m.fingerprint, m.evidence_count,
18
- m.last_verified_at, m.created_at
19
- FROM memories_fts
20
- JOIN memories m ON m.rowid = memories_fts.rowid
21
- WHERE memories_fts MATCH ?
22
- AND m.type = 'pattern'
23
- AND m.origin IN ('causal', 'pattern')
24
- AND m.status = 'active'
25
- ORDER BY m.evidence_count DESC, m.created_at DESC
26
- LIMIT 1`)
27
- .all(match);
31
+ const match = toMatchClause(tokens, " AND ");
32
+ // Best-effort (v0.4.0): DBs pre-005 lack `recurrence_count`; degrade
33
+ // to "no explanation" instead of crashing the calling session.
34
+ let patternRows;
35
+ try {
36
+ patternRows = store
37
+ .prepare(`SELECT m.id, m.content, m.fingerprint, m.evidence_count,
38
+ m.recurrence_count, m.fix_args, m.last_verified_at, m.created_at${hasFeedbackColumns(store)
39
+ ? ", m.feedback_positive, m.feedback_negative"
40
+ : ""}
41
+ FROM memories_fts
42
+ JOIN memories m ON m.rowid = memories_fts.rowid
43
+ WHERE memories_fts MATCH ?
44
+ AND m.type = 'pattern'
45
+ AND m.origin IN ('causal', 'pattern')
46
+ AND m.status = 'active'
47
+ ORDER BY m.evidence_count DESC, m.created_at DESC
48
+ LIMIT 1`)
49
+ .all(match);
50
+ }
51
+ catch {
52
+ return null;
53
+ }
28
54
  if (patternRows.length === 0)
29
55
  return null;
30
56
  const pattern = patternRows[0];
31
57
  const fp = pattern.fingerprint;
32
- const confidence = Math.min(1.0, 0.5 + 0.1 * (pattern.evidence_count ?? 0));
33
- const traceRows = store
34
- .prepare(`SELECT tc.session_id, tc.ts, tc.success,
35
- m.id as memory_id, m.type as memory_type, m.created_at as memory_created_at
36
- FROM tool_calls tc
37
- LEFT JOIN memories m ON m.fingerprint = tc.fix_for_fingerprint
38
- AND m.type = 'error' AND m.origin = 'reflector'
39
- WHERE (tc.fix_for_fingerprint = ? OR tc.fingerprint LIKE ?)
40
- AND tc.session_id IN (
41
- SELECT DISTINCT source_session FROM memories
42
- WHERE fingerprint = ? AND type = 'error'
43
- )
44
- ORDER BY tc.ts ASC
45
- LIMIT 20`)
46
- .all(fp, `%${fp.slice(0, 8)}%`, fp);
58
+ // v0.4.0 (K4-010) two-sided confidence shared with promoteToPattern.
59
+ // v0.5.0 (K5-010) — human feedback terms nudge it (D5-02).
60
+ const confidence = computeConfidence(pattern.evidence_count ?? 0, pattern.recurrence_count ?? 0, pattern.feedback_positive ?? 0, pattern.feedback_negative ?? 0);
61
+ // BUG-007 the trace is built from the error-memory sessions below;
62
+ // the legacy `traceRows` probe (executed but unused, with a
63
+ // never-matching `tc.fingerprint LIKE '%<8-hex>%'` branch against the
64
+ // tool|args|success hash) was deleted.
47
65
  const trace = [];
48
66
  const errorSessions = store
49
67
  .prepare(`SELECT DISTINCT source_session, fingerprint, created_at
@@ -79,11 +97,30 @@ export function kevinWhy(store, query) {
79
97
  const hint = TS_CODE_RULES[tsCodeMatch[1]] ?? `review TS${tsCodeMatch[1]}`;
80
98
  relatedRules.push(hint);
81
99
  }
82
- const summary = `When tool fails with ${query}: ${confidence >= 0.7 ? "consistently" : "often"} resolved by fixing ${relatedRules.length > 0 ? relatedRules.join(", ") : "the underlying issue"}.`;
100
+ // v0.4.0 (K4-020) honest summary (plan §5.3 / D4-11): with
101
+ // recurrences the pattern is NOT consistently resolved, so the
102
+ // phrasing reports the real success ratio ("resolved in N of M
103
+ // attempts") instead of "consistently resolved".
104
+ const evidenceCount = pattern.evidence_count ?? 0;
105
+ const recurrence = pattern.recurrence_count ?? 0;
106
+ let summary;
107
+ if (recurrence > 0) {
108
+ const fix = pattern.fix_args
109
+ ? `fixing ${pattern.fix_args}`
110
+ : `fixing ${relatedRules.length > 0
111
+ ? relatedRules.join(", ")
112
+ : "the underlying issue"}`;
113
+ summary = `When tool fails with ${query}: resolved in ${evidenceCount} of ${evidenceCount + recurrence} attempts by ${fix}.`;
114
+ }
115
+ else {
116
+ summary = `When tool fails with ${query}: ${confidence >= 0.7 ? "consistently" : "often"} resolved by fixing ${relatedRules.length > 0 ? relatedRules.join(", ") : "the underlying issue"}.`;
117
+ }
83
118
  return {
84
119
  summary,
85
120
  confidence,
86
- evidence_count: pattern.evidence_count ?? 0,
121
+ evidence_count: evidenceCount,
122
+ recurrence_count: recurrence,
123
+ fix_args: pattern.fix_args ?? null,
87
124
  last_verified: pattern.last_verified_at ?? null,
88
125
  trace,
89
126
  related_rules: relatedRules,
@@ -1 +1 @@
1
- {"version":3,"file":"kevin_why.js","sourceRoot":"","sources":["../../plugin/kevin_why.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kevin_why.js","sourceRoot":"","sources":["../../plugin/kevin_why.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,18 @@ export interface MemoryBlockItem {
3
3
  type: string;
4
4
  content: string;
5
5
  protect?: boolean;
6
+ /** v0.4.0 (K4-023) — weak lesson admitted in debug mode: the row is
7
+ * rendered with a `(low confidence)` marker line. */
8
+ weak?: boolean;
6
9
  }
7
10
  export declare function escapeInjectedText(text: string): string;
11
+ /**
12
+ * v0.4.0 (K4-012) — progressive disclosure for injection: a short
13
+ * snippet row instead of the full body. Row = `id:` line + `[type]`
14
+ * prefix + the first 2 non-empty lines of content, wrapped in
15
+ * `<protect>` unless the memory opted out (`protect: false`). The
16
+ * full body stays available via `kevin_get`.
17
+ */
18
+ export declare function formatSnippet(m: MemoryBlockItem): string;
8
19
  export declare function formatMemories(memories: MemoryBlockItem[], tag: "context" | "memory"): string;
20
+ export declare function formatMemorySnippets(memories: MemoryBlockItem[], tag: "context" | "memory"): string;
@@ -4,17 +4,57 @@ export function escapeInjectedText(text) {
4
4
  .replace(/</g, "&lt;")
5
5
  .replace(/>/g, "&gt;");
6
6
  }
7
+ function typePrefix(m) {
8
+ const t = escapeInjectedText(String(m.type));
9
+ return m.weak ? `[${t}] (low confidence)` : `[${t}]`;
10
+ }
7
11
  function formatRow(m) {
8
12
  const idLine = m.id ? `id: ${escapeInjectedText(m.id)}\n` : "";
9
- const body = `${idLine}[${escapeInjectedText(String(m.type))}] ${escapeInjectedText(m.content)}`;
13
+ const body = `${idLine}${typePrefix(m)} ${escapeInjectedText(m.content)}`;
10
14
  return m.protect === false ? body : `<protect>\n${body}\n</protect>`;
11
15
  }
12
- export function formatMemories(memories, tag) {
13
- if (memories.length === 0)
14
- return "";
15
- const body = memories.map(formatRow).join("\n");
16
+ /**
17
+ * v0.4.0 (K4-012) — progressive disclosure for injection: a short
18
+ * snippet row instead of the full body. Row = `id:` line + `[type]`
19
+ * prefix + the first 2 non-empty lines of content, wrapped in
20
+ * `<protect>` unless the memory opted out (`protect: false`). The
21
+ * full body stays available via `kevin_get`.
22
+ */
23
+ export function formatSnippet(m) {
24
+ const lines = m.content
25
+ .split(/\r?\n/)
26
+ .map((l) => l.trim())
27
+ .filter((l) => l.length > 0)
28
+ .slice(0, 2);
29
+ // v0.4.0 (K4-025) — a pattern's `Fixed by:` line is the highest-value
30
+ // payload (plan §5.4 / D4-07); surface it in the snippet even though
31
+ // it sits below the 2-line cut. Only patterns carry the line.
32
+ const fixLine = lines
33
+ .map((l) => l)
34
+ .concat(m.content
35
+ .split(/\r?\n/)
36
+ .map((l) => l.trim())
37
+ .filter((l) => l.startsWith("Fixed by:")))[2];
38
+ const idLine = m.id ? `id: ${escapeInjectedText(m.id)}\n` : "";
39
+ const bodyLines = fixLine ? [...lines, fixLine] : lines;
40
+ const body = bodyLines.length === 0
41
+ ? ""
42
+ : `${idLine}${typePrefix(m)} ${escapeInjectedText(bodyLines.join("\n"))}`;
43
+ return m.protect === false ? body : `<protect>\n${body}\n</protect>`;
44
+ }
45
+ function wrapBlock(body, tag) {
16
46
  return tag === "context"
17
47
  ? `<kevin-context>Lecciones relevantes:\n${body}\n</kevin-context>`
18
48
  : `<kevin-memory>\n${body}\n</kevin-memory>`;
19
49
  }
50
+ export function formatMemories(memories, tag) {
51
+ if (memories.length === 0)
52
+ return "";
53
+ return wrapBlock(memories.map(formatRow).join("\n"), tag);
54
+ }
55
+ export function formatMemorySnippets(memories, tag) {
56
+ if (memories.length === 0)
57
+ return "";
58
+ return wrapBlock(memories.map(formatSnippet).join("\n"), tag);
59
+ }
20
60
  //# sourceMappingURL=memory-format.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-format.js","sourceRoot":"","sources":["../../plugin/memory-format.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC9C,OAAO,IAAI;SACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,SAAS,CAAC,CAAkB;IACpC,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,IAAI,GAAG,GAAG,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,kBAAkB,CAClF,CAAC,CAAC,OAAO,CACT,EAAE,CAAC;IACJ,OAAO,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,cAAc,CAC7B,QAA2B,EAC3B,GAAyB;IAEzB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,OAAO,GAAG,KAAK,SAAS;QACvB,CAAC,CAAC,yCAAyC,IAAI,oBAAoB;QACnE,CAAC,CAAC,mBAAmB,IAAI,mBAAmB,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"memory-format.js","sourceRoot":"","sources":["../../plugin/memory-format.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import type { Store } from "./Store.js";
6
6
  * underlying table is empty (e.g., before 003 is applied, on a fresh
7
7
  * :memory: test DB, or after a manual wipe).
8
8
  */
9
- export declare const METRIC_KEYS: readonly ["tokens_injected_pre_prompt", "tokens_injected_compacting", "reflections_throttled", "duplicate_suppressions", "tool_calls_deduped", "patterns_mined", "patterns_causal", "causal_links", "memories_superseded"];
9
+ export declare const METRIC_KEYS: readonly ["tokens_injected_pre_prompt", "tokens_injected_compacting", "reflections_throttled", "duplicate_suppressions", "tool_calls_deduped", "patterns_mined", "patterns_causal", "causal_links", "memories_superseded", "injections_total", "injections_effective", "injections_ineffective", "patterns_promoted_new", "injections_inconclusive", "injections_blocked_seen", "injections_blocked_weak", "injections_blocked_recurrence", "injections_blocked_stale", "injections_blocked_ignored", "feedback_positive_total", "feedback_negative_total", "memories_archived"];
10
10
  export type MetricKey = (typeof METRIC_KEYS)[number];
11
11
  /**
12
12
  * Cheap token estimate used when bumping the `tokens_injected_*` counters.
@@ -44,6 +44,32 @@ export declare class Metrics {
44
44
  * Returns the cached value for a single key. Does NOT flush.
45
45
  */
46
46
  get(key: MetricKey): number;
47
+ /**
48
+ * v0.4.0 (K4-008): injection precision = effective / total settled
49
+ * injections. 0 when the ledger has no entries yet (no division by zero).
50
+ * Computed from the cached counters — does NOT flush.
51
+ * v0.5.0 (K5-004 / plan §5.1, D5-02) — the denominator is now
52
+ * `effective + ineffective` only. `inconclusive` (the new majority
53
+ * bucket) must not inflate precision: absence of recurrence is not
54
+ * evidence of effect. An idle session therefore no longer drives
55
+ * precision toward 1.0 — expect the reported rate to fall sharply on
56
+ * real databases; that is the intended result.
57
+ */
58
+ precisionRate(): number;
59
+ /**
60
+ * v0.5.0 (K5-004 / plan §5.1, D5-02) — the share of injections that
61
+ * were actually measured (effective + ineffective) of all injections.
62
+ * Reported alongside `precisionRate` so a low measurable fraction is
63
+ * visible rather than hidden behind a large `total`. 0 when the ledger
64
+ * is empty. Computed from the cached counters — does NOT flush.
65
+ */
66
+ coverageRate(): number;
67
+ /**
68
+ * v0.5.0 (K5-004 / plan §5.2, D5-02) — the five `injections_blocked_*`
69
+ * counters keyed by their short names. Consumed by `kevin_audit`.
70
+ * Computed from the cached counters — does NOT flush.
71
+ */
72
+ blockedSnapshot(): Record<string, number>;
47
73
  /** True iff a debounced flush is scheduled. Useful for tests. */
48
74
  isFlushScheduled(): boolean;
49
75
  /**