@jmtrin/opencode-kevin 0.7.0 → 0.9.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.
- package/README.md +254 -12
- package/dist/migrations/009_v08_team.sql +100 -0
- package/dist/migrations/010_v09_native.sql +78 -0
- package/dist/plugin/ArtifactWriter.d.ts +28 -0
- package/dist/plugin/ArtifactWriter.js +35 -2
- package/dist/plugin/ArtifactWriter.js.map +1 -1
- package/dist/plugin/ContextInjector.d.ts +9 -0
- package/dist/plugin/ContextInjector.js +14 -3
- package/dist/plugin/ContextInjector.js.map +1 -1
- package/dist/plugin/Curator.d.ts +22 -2
- package/dist/plugin/Curator.js +56 -14
- package/dist/plugin/Curator.js.map +1 -1
- package/dist/plugin/HookLiveness.d.ts +81 -0
- package/dist/plugin/HookLiveness.js +324 -0
- package/dist/plugin/HookLiveness.js.map +1 -0
- package/dist/plugin/InjectionLedger.d.ts +6 -0
- package/dist/plugin/InjectionLedger.js +6 -0
- package/dist/plugin/InjectionLedger.js.map +1 -1
- package/dist/plugin/Materializer.d.ts +29 -5
- package/dist/plugin/Materializer.js +48 -16
- package/dist/plugin/Materializer.js.map +1 -1
- package/dist/plugin/MemoryService.d.ts +34 -5
- package/dist/plugin/MemoryService.js +215 -7
- package/dist/plugin/MemoryService.js.map +1 -1
- package/dist/plugin/Migrate.d.ts +1 -0
- package/dist/plugin/Migrate.js +74 -3
- package/dist/plugin/Migrate.js.map +1 -1
- package/dist/plugin/RepoIdentity.d.ts +124 -0
- package/dist/plugin/RepoIdentity.js +301 -0
- package/dist/plugin/RepoIdentity.js.map +1 -0
- package/dist/plugin/Retrospective.js +18 -0
- package/dist/plugin/Retrospective.js.map +1 -1
- package/dist/plugin/SharedLayer.d.ts +159 -0
- package/dist/plugin/SharedLayer.js +463 -0
- package/dist/plugin/SharedLayer.js.map +1 -0
- package/dist/plugin/host.d.ts +70 -0
- package/dist/plugin/host.js +251 -0
- package/dist/plugin/host.js.map +1 -0
- package/dist/plugin/index.d.ts +30 -1
- package/dist/plugin/index.js +582 -12
- package/dist/plugin/index.js.map +1 -1
- package/dist/plugin/kevin_approve.js +7 -4
- package/dist/plugin/kevin_approve.js.map +1 -1
- package/dist/plugin/kevin_audit.d.ts +48 -1
- package/dist/plugin/kevin_audit.js +179 -3
- package/dist/plugin/kevin_audit.js.map +1 -1
- package/dist/plugin/kevin_doctor.d.ts +57 -0
- package/dist/plugin/kevin_doctor.js +168 -0
- package/dist/plugin/kevin_doctor.js.map +1 -0
- package/dist/plugin/kevin_native.d.ts +29 -0
- package/dist/plugin/kevin_native.js +80 -0
- package/dist/plugin/kevin_native.js.map +1 -0
- package/dist/plugin/metrics.d.ts +1 -1
- package/dist/plugin/metrics.js +9 -0
- package/dist/plugin/metrics.js.map +1 -1
- package/dist/plugin/native.d.ts +92 -0
- package/dist/plugin/native.js +191 -0
- package/dist/plugin/native.js.map +1 -0
- package/dist/plugin/okf-export.d.ts +2 -2
- package/dist/plugin/okf-export.js +15 -7
- package/dist/plugin/okf-export.js.map +1 -1
- package/dist/plugin/okf.d.ts +107 -0
- package/dist/plugin/okf.js +304 -0
- package/dist/plugin/okf.js.map +1 -0
- package/dist/plugin/replay-types.d.ts +29 -287
- package/dist/plugin/replay-types.js +145 -53
- package/dist/plugin/replay-types.js.map +1 -1
- package/migrations/009_v08_team.sql +100 -0
- package/migrations/010_v09_native.sql +78 -0
- package/package.json +2 -3
|
@@ -4,6 +4,17 @@ import { fingerprint as computeFingerprint } from "./fingerprint.js";
|
|
|
4
4
|
import { classify } from "./inferability.js";
|
|
5
5
|
import { toMatchClause, tokenizeQuery } from "./query-tokenizer.js";
|
|
6
6
|
import { uuidv7 } from "./uuid.js";
|
|
7
|
+
/**
|
|
8
|
+
* v0.8.0 (K8-018 / plan §5.2) — the shared layer's immutable columns,
|
|
9
|
+
* by Memory field name. See the contract comment in `update()`.
|
|
10
|
+
*/
|
|
11
|
+
const SHARED_FORBIDDEN_FIELDS = {
|
|
12
|
+
content: "statement",
|
|
13
|
+
type: "type",
|
|
14
|
+
scope: "scope",
|
|
15
|
+
relevanceScore: "confidence",
|
|
16
|
+
evidenceCount: "evidence_count",
|
|
17
|
+
};
|
|
7
18
|
const MAX_SNIPPET_CHARS = 200;
|
|
8
19
|
function toSlim(mem, evidence = false) {
|
|
9
20
|
const base = {
|
|
@@ -131,10 +142,54 @@ function hasTruthColumns(store) {
|
|
|
131
142
|
return false;
|
|
132
143
|
}
|
|
133
144
|
}
|
|
145
|
+
/**
|
|
146
|
+
* v0.8.0 (K8-007 / plan §5.7) — cached per-store probe for the 009-only
|
|
147
|
+
* `repo_id` column (pre-009 DBs must not reference it). Same positive-only
|
|
148
|
+
* caching discipline as `ignored` (K6-001a): a successful probe is cached,
|
|
149
|
+
* a failed probe is NOT. Exported so `kevin_audit`'s rollups scope on the
|
|
150
|
+
* same column.
|
|
151
|
+
*/
|
|
152
|
+
const repoIdColumnCache = new WeakMap();
|
|
153
|
+
export function hasRepoIdColumn(store) {
|
|
154
|
+
const cached = repoIdColumnCache.get(store);
|
|
155
|
+
if (cached === true)
|
|
156
|
+
return true;
|
|
157
|
+
try {
|
|
158
|
+
store.prepare("SELECT repo_id FROM memories LIMIT 1").get();
|
|
159
|
+
repoIdColumnCache.set(store, true);
|
|
160
|
+
return true;
|
|
161
|
+
}
|
|
162
|
+
catch {
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* v0.8.0 (K8-018 / plan §5.2) — cached per-store probe for the 009-only
|
|
168
|
+
* `layer` column (pre-009 DBs must not reference it). Same positive-only
|
|
169
|
+
* caching discipline: pre-009 databases have no shared layer, so the
|
|
170
|
+
* immutability refusal in `update()` is skipped there entirely.
|
|
171
|
+
*/
|
|
172
|
+
const layerColumnCache = new WeakMap();
|
|
173
|
+
function hasLayerColumn(store) {
|
|
174
|
+
const cached = layerColumnCache.get(store);
|
|
175
|
+
if (cached === true)
|
|
176
|
+
return true;
|
|
177
|
+
try {
|
|
178
|
+
store.prepare("SELECT layer FROM memories LIMIT 1").get();
|
|
179
|
+
layerColumnCache.set(store, true);
|
|
180
|
+
return true;
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
return false;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
134
186
|
/**
|
|
135
187
|
* v0.5.0 (K5-009 / plan §5.3) — the 006-only columns are appended when the
|
|
136
188
|
* migration has run (same probe as the `ignored = 0` retrieval filter).
|
|
137
189
|
* v0.6.0 (K6-011) — the 007-only curation columns are appended likewise.
|
|
190
|
+
* v0.8.0 (BUG-007) — the 009-only `layer` column is appended likewise, so
|
|
191
|
+
* getById() and every other rowSelect consumer observe 'shared' exactly
|
|
192
|
+
* like loadAll and queryRelevant do.
|
|
138
193
|
*/
|
|
139
194
|
function rowSelect(store) {
|
|
140
195
|
const base = hasIgnoredColumn(store)
|
|
@@ -144,9 +199,10 @@ function rowSelect(store) {
|
|
|
144
199
|
const withCurated = hasCuratedColumn(store)
|
|
145
200
|
? `${base}, curated, curated_at, inferable`
|
|
146
201
|
: base;
|
|
147
|
-
|
|
202
|
+
const withTruth = hasTruthColumns(store)
|
|
148
203
|
? `${withCurated}, truth_penalty, contradicted_at`
|
|
149
204
|
: withCurated;
|
|
205
|
+
return hasLayerColumn(store) ? `${withTruth}, layer` : withTruth;
|
|
150
206
|
}
|
|
151
207
|
function mapRow(row, score) {
|
|
152
208
|
const mem = {
|
|
@@ -198,6 +254,9 @@ function mapRow(row, score) {
|
|
|
198
254
|
// `contradicted_at` is null until the first contradiction.
|
|
199
255
|
truthPenalty: row.truth_penalty ?? 0,
|
|
200
256
|
contradictedAt: row.contradicted_at ?? null,
|
|
257
|
+
// v0.8.0 (K8-018 / plan §5.2) — the layer marker ('local' | 'shared').
|
|
258
|
+
// Absent on pre-009 rows.
|
|
259
|
+
layer: row.layer ?? null,
|
|
201
260
|
};
|
|
202
261
|
if (score !== undefined) {
|
|
203
262
|
if (!mem.metadata)
|
|
@@ -238,14 +297,27 @@ function persistInferable(type, content, metadata) {
|
|
|
238
297
|
}
|
|
239
298
|
export class MemoryService {
|
|
240
299
|
metrics;
|
|
241
|
-
constructor(store, metrics) {
|
|
300
|
+
constructor(store, metrics, repoId) {
|
|
242
301
|
this.store = store;
|
|
243
302
|
this.metrics = metrics ?? null;
|
|
303
|
+
this.repoId = repoId ?? null;
|
|
244
304
|
}
|
|
245
305
|
// `store` is declared here (rather than as a constructor parameter property)
|
|
246
306
|
// so that Metrics can be added without changing the parameter order callers
|
|
247
307
|
// have been using since v0.1.0.
|
|
248
308
|
store;
|
|
309
|
+
// v0.8.0 (K8-007 / plan §5.7) — the resolved repository identity. When
|
|
310
|
+
// present (and the 009 migration has run) every retrieval path is scoped
|
|
311
|
+
// on it; NULL-repo_id rows stay global and match every scope. When absent
|
|
312
|
+
// the service keeps the pre-009 behaviour byte-for-byte.
|
|
313
|
+
repoId;
|
|
314
|
+
// v0.8.0 (BUG-002) — align the service with a mid-session identity
|
|
315
|
+
// change (kevin_project rekey). The id must change together with the
|
|
316
|
+
// SharedLayer bridge, or retrieval silently stops matching the corpus
|
|
317
|
+
// until a restart.
|
|
318
|
+
setRepoId(repoId) {
|
|
319
|
+
this.repoId = repoId;
|
|
320
|
+
}
|
|
249
321
|
// v0.4.0 (BUG-008) — cached column probe for pre-005 DBs (which lack
|
|
250
322
|
// `recurrence_count`); save() must not reference the column there.
|
|
251
323
|
hasRecurrenceColumn() {
|
|
@@ -281,6 +353,12 @@ export class MemoryService {
|
|
|
281
353
|
hasTruthColumns() {
|
|
282
354
|
return hasTruthColumns(this.store);
|
|
283
355
|
}
|
|
356
|
+
// v0.8.0 (K8-007 / plan §5.7) — cached column probe for pre-009 DBs
|
|
357
|
+
// (which lack `repo_id`); the retrieval SELECTs and save() must not
|
|
358
|
+
// reference the column there.
|
|
359
|
+
hasRepoIdColumn() {
|
|
360
|
+
return hasRepoIdColumn(this.store);
|
|
361
|
+
}
|
|
284
362
|
save(input) {
|
|
285
363
|
const scope = input.scope ?? "project";
|
|
286
364
|
const relevanceScore = input.relevanceScore ?? 0.5;
|
|
@@ -323,16 +401,26 @@ export class MemoryService {
|
|
|
323
401
|
const setClause = withSupersededBy
|
|
324
402
|
? "SET status = 'superseded', superseded_by = ?, updated_at = datetime('now')"
|
|
325
403
|
: "SET status = 'superseded', updated_at = datetime('now')";
|
|
404
|
+
// v0.8.0 (K8-007 / plan §5.7) — once the 009 column exists and an
|
|
405
|
+
// identity is resolved, supersession is scoped on repo_id (NULL
|
|
406
|
+
// rows are global); project_id stays as the pre-009 scope.
|
|
407
|
+
const scopedOnRepoId = this.hasRepoIdColumn() && this.repoId !== null;
|
|
408
|
+
const whereScope = scopedOnRepoId
|
|
409
|
+
? "AND (repo_id IS ? OR repo_id IS NULL)"
|
|
410
|
+
: "AND (project_id IS ? OR (project_id IS NULL AND ? IS NULL))";
|
|
411
|
+
const scopeParams = scopedOnRepoId
|
|
412
|
+
? [this.repoId]
|
|
413
|
+
: [projectId, projectId];
|
|
326
414
|
this.store
|
|
327
415
|
.prepare(`UPDATE memories
|
|
328
416
|
${setClause}
|
|
329
417
|
WHERE fingerprint = ?
|
|
330
418
|
AND type = ?
|
|
331
419
|
AND status = 'active'
|
|
332
|
-
|
|
420
|
+
${whereScope}`)
|
|
333
421
|
.run(...(withSupersededBy
|
|
334
|
-
? [id, fp, input.type,
|
|
335
|
-
: [fp, input.type,
|
|
422
|
+
? [id, fp, input.type, ...scopeParams]
|
|
423
|
+
: [fp, input.type, ...scopeParams]));
|
|
336
424
|
const after = this.store.prepare("SELECT changes() AS n").get();
|
|
337
425
|
if (after.n > 0) {
|
|
338
426
|
this.metrics?.incr("memories_superseded", 1);
|
|
@@ -389,6 +477,15 @@ export class MemoryService {
|
|
|
389
477
|
columns.push("inferable");
|
|
390
478
|
params.push(persistInferable(input.type, input.content, input.metadata));
|
|
391
479
|
}
|
|
480
|
+
// v0.8.0 (K8-007 / plan §5.7) — repo_id is persisted on every new
|
|
481
|
+
// memory (009 column). A NULL projectId stays NULL-scoped — the
|
|
482
|
+
// global rows PatternMiner's nullPid convention relies on — and a
|
|
483
|
+
// NULL repo_id row matches every scope. project_id remains written
|
|
484
|
+
// above: it is provenance now, not scope (D8-02).
|
|
485
|
+
if (this.hasRepoIdColumn()) {
|
|
486
|
+
columns.push("repo_id");
|
|
487
|
+
params.push(projectId !== null ? this.repoId : null);
|
|
488
|
+
}
|
|
392
489
|
const insert = `INSERT INTO memories (${columns.join(", ")})
|
|
393
490
|
VALUES (${params.map(() => "?").join(", ")})`;
|
|
394
491
|
this.store.prepare(insert).run(...params);
|
|
@@ -472,7 +569,37 @@ export class MemoryService {
|
|
|
472
569
|
.get(...(type ? [fingerprint, type] : [fingerprint]));
|
|
473
570
|
return row ? mapRow(row) : null;
|
|
474
571
|
}
|
|
572
|
+
/**
|
|
573
|
+
* v0.8.0 (K8-018 / plan §5.2) — result of a memory mutation.
|
|
574
|
+
* `refused` lists the shared-layer columns that were not written.
|
|
575
|
+
*/
|
|
475
576
|
update(id, fields) {
|
|
577
|
+
// v0.8.0 (K8-018 / plan §5.2) — the shared layer's immutability
|
|
578
|
+
// contract. statement/type/scope are inputs to entry_id: a local
|
|
579
|
+
// edit would silently desynchronize the row from the committed file
|
|
580
|
+
// with no way to detect it — to change a shared entry, author a new
|
|
581
|
+
// one that supersedes it. confidence/evidence_count are merged from
|
|
582
|
+
// the file through the lattice: a local write would be overwritten
|
|
583
|
+
// at the next kevin_sync and the user would watch their edit vanish.
|
|
584
|
+
// The allowed columns (feedback_*, truth_penalty, contradicted_at,
|
|
585
|
+
// ignored, last_injected_at, injection outcomes) are per-machine
|
|
586
|
+
// operational state: your opinion of a teammate's rule is yours
|
|
587
|
+
// (plan §5.2). A refusal is counted, never thrown, and never silent.
|
|
588
|
+
const refused = [];
|
|
589
|
+
for (const [field, label] of Object.entries(SHARED_FORBIDDEN_FIELDS)) {
|
|
590
|
+
if (fields[field] !== undefined) {
|
|
591
|
+
refused.push(label);
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
if (refused.length > 0 && hasLayerColumn(this.store)) {
|
|
595
|
+
const layerRow = this.store
|
|
596
|
+
.prepare("SELECT layer FROM memories WHERE id = ?")
|
|
597
|
+
.get(id);
|
|
598
|
+
if (layerRow?.layer === "shared") {
|
|
599
|
+
this.countSharedRefusal();
|
|
600
|
+
return { ok: false, refused };
|
|
601
|
+
}
|
|
602
|
+
}
|
|
476
603
|
const cols = [];
|
|
477
604
|
const vals = [];
|
|
478
605
|
if (fields.content !== undefined) {
|
|
@@ -519,12 +646,38 @@ export class MemoryService {
|
|
|
519
646
|
vals.push(fields.recurrenceCount);
|
|
520
647
|
}
|
|
521
648
|
if (cols.length === 0)
|
|
522
|
-
return;
|
|
649
|
+
return { ok: true };
|
|
523
650
|
cols.push("updated_at = datetime('now')");
|
|
524
651
|
vals.push(id);
|
|
525
652
|
this.store
|
|
526
653
|
.prepare(`UPDATE memories SET ${cols.join(", ")} WHERE id = ?`)
|
|
527
654
|
.run(...vals);
|
|
655
|
+
return { ok: true };
|
|
656
|
+
}
|
|
657
|
+
/**
|
|
658
|
+
* v0.8.0 (K8-018 / plan §5.2) — count a refused shared-row write. The
|
|
659
|
+
* key lives OUTSIDE the frozen METRIC_KEYS ladder (K7-004), following
|
|
660
|
+
* the v0.6.0 `incrRegistered` precedent: it persists to the same
|
|
661
|
+
* `kevin_metrics` table and is read back by `kevin_audit` as a bare SQL
|
|
662
|
+
* scalar, so the counter survives across processes without growing the
|
|
663
|
+
* 39-key ladder.
|
|
664
|
+
*/
|
|
665
|
+
countSharedRefusal() {
|
|
666
|
+
const store = this.store;
|
|
667
|
+
store.transaction(() => {
|
|
668
|
+
store.exec(`CREATE TABLE IF NOT EXISTS kevin_metrics (
|
|
669
|
+
key TEXT PRIMARY KEY,
|
|
670
|
+
value INTEGER NOT NULL DEFAULT 0,
|
|
671
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
672
|
+
)`);
|
|
673
|
+
store
|
|
674
|
+
.prepare(`INSERT INTO kevin_metrics (key, value, updated_at)
|
|
675
|
+
VALUES ('shared_write_refusals', 1, datetime('now'))
|
|
676
|
+
ON CONFLICT(key) DO UPDATE SET
|
|
677
|
+
value = value + 1,
|
|
678
|
+
updated_at = datetime('now')`)
|
|
679
|
+
.run();
|
|
680
|
+
});
|
|
528
681
|
}
|
|
529
682
|
/**
|
|
530
683
|
* v0.7.0 (K7-008 / plan §5.3, D7-03) — apply a bounded truth penalty.
|
|
@@ -606,6 +759,14 @@ export class MemoryService {
|
|
|
606
759
|
sql += " AND m.scope = ?";
|
|
607
760
|
params.push(scope);
|
|
608
761
|
}
|
|
762
|
+
// v0.8.0 (K8-007 / plan §5.7) — retrieval is scoped on repo_id once
|
|
763
|
+
// the 009 column exists and an identity is resolved; NULL-repo_id
|
|
764
|
+
// rows are global and match every scope. Without an identity the
|
|
765
|
+
// predicate is skipped entirely (pre-009 behaviour).
|
|
766
|
+
if (this.hasRepoIdColumn() && this.repoId !== null) {
|
|
767
|
+
sql += "\n AND (m.repo_id = ? OR m.repo_id IS NULL)";
|
|
768
|
+
params.push(this.repoId);
|
|
769
|
+
}
|
|
609
770
|
sql += " ORDER BY bm25(memories_fts) LIMIT ?";
|
|
610
771
|
params.push(limit);
|
|
611
772
|
const rows = this.store.prepare(sql).all(...params);
|
|
@@ -668,6 +829,10 @@ export class MemoryService {
|
|
|
668
829
|
if (this.hasTruthColumns()) {
|
|
669
830
|
sql += ", truth_penalty, contradicted_at";
|
|
670
831
|
}
|
|
832
|
+
// v0.8.0 (K8-018) — 009-only layer column, appended when present.
|
|
833
|
+
if (hasLayerColumn(this.store)) {
|
|
834
|
+
sql += ", layer";
|
|
835
|
+
}
|
|
671
836
|
sql += `
|
|
672
837
|
FROM memories
|
|
673
838
|
WHERE (expires_at IS NULL OR expires_at > datetime('now'))`;
|
|
@@ -684,6 +849,13 @@ export class MemoryService {
|
|
|
684
849
|
sql += " AND scope = ?";
|
|
685
850
|
params.push(scope);
|
|
686
851
|
}
|
|
852
|
+
// v0.8.0 (K8-007 / plan §5.7) — repo_id scoping on the loadAll path
|
|
853
|
+
// (bare column names; see queryRelevant for the m.-prefixed twin).
|
|
854
|
+
// NULL-repo_id rows are global and match every scope.
|
|
855
|
+
if (this.hasRepoIdColumn() && this.repoId !== null) {
|
|
856
|
+
sql += "\n AND (repo_id = ? OR repo_id IS NULL)";
|
|
857
|
+
params.push(this.repoId);
|
|
858
|
+
}
|
|
687
859
|
sql += " ORDER BY relevance_score DESC, created_at DESC";
|
|
688
860
|
return this.store.prepare(sql).all(...params);
|
|
689
861
|
}
|
|
@@ -712,6 +884,10 @@ export class MemoryService {
|
|
|
712
884
|
if (this.hasTruthColumns()) {
|
|
713
885
|
sql += ", m.truth_penalty, m.contradicted_at";
|
|
714
886
|
}
|
|
887
|
+
// v0.8.0 (K8-018) — 009-only layer column, appended when present.
|
|
888
|
+
if (hasLayerColumn(this.store)) {
|
|
889
|
+
sql += ", m.layer";
|
|
890
|
+
}
|
|
715
891
|
sql += `,
|
|
716
892
|
bm25(memories_fts) AS score
|
|
717
893
|
FROM memories_fts
|
|
@@ -731,6 +907,12 @@ export class MemoryService {
|
|
|
731
907
|
sql += " AND m.scope = ?";
|
|
732
908
|
params.push(scope);
|
|
733
909
|
}
|
|
910
|
+
// v0.8.0 (K8-007 / plan §5.7) — repo_id scoping on the FTS path.
|
|
911
|
+
// NULL-repo_id rows are global and match every scope.
|
|
912
|
+
if (this.hasRepoIdColumn() && this.repoId !== null) {
|
|
913
|
+
sql += "\n AND (m.repo_id = ? OR m.repo_id IS NULL)";
|
|
914
|
+
params.push(this.repoId);
|
|
915
|
+
}
|
|
734
916
|
sql += " ORDER BY bm25(memories_fts) LIMIT 100";
|
|
735
917
|
const rows = this.store.prepare(sql).all(...params);
|
|
736
918
|
return rows
|
|
@@ -957,7 +1139,12 @@ export class MemoryService {
|
|
|
957
1139
|
* rows that `save()` will mark as superseded.
|
|
958
1140
|
*/
|
|
959
1141
|
countSupersedeCandidates(type, fingerprint, projectId) {
|
|
960
|
-
|
|
1142
|
+
// v0.8.0 (K8-007 / plan §5.7) — with a resolved identity the count
|
|
1143
|
+
// mirrors save()'s repo_id scope (NULL rows are global); project_id
|
|
1144
|
+
// stays as the legacy (pre-009) scope.
|
|
1145
|
+
return this.hasRepoIdColumn() && this.repoId !== null
|
|
1146
|
+
? countSupersedeCandidatesOnRepo(this.store, type, fingerprint, this.repoId)
|
|
1147
|
+
: countSupersedeCandidates(this.store, type, fingerprint, projectId);
|
|
961
1148
|
}
|
|
962
1149
|
penalizeRecurringReflectors(sessionId) {
|
|
963
1150
|
if (!sessionId)
|
|
@@ -1096,6 +1283,27 @@ export function countSupersedeCandidates(store, type, fingerprint, projectId) {
|
|
|
1096
1283
|
.get(fingerprint, projectId, projectId);
|
|
1097
1284
|
return row?.c ?? 0;
|
|
1098
1285
|
}
|
|
1286
|
+
/**
|
|
1287
|
+
* v0.8.0 (K8-007 / plan §5.7) — repo_id-scoped twin of the exported
|
|
1288
|
+
* `countSupersedeCandidates`, mirroring save()'s supersede predicate once
|
|
1289
|
+
* the 009 column exists and an identity is resolved. NULL-repo_id rows are
|
|
1290
|
+
* global and count for every scope.
|
|
1291
|
+
*/
|
|
1292
|
+
function countSupersedeCandidatesOnRepo(store, type, fingerprint, repoId) {
|
|
1293
|
+
if (!fingerprint)
|
|
1294
|
+
return 0;
|
|
1295
|
+
if (type !== "decision" && type !== "rule")
|
|
1296
|
+
return 0;
|
|
1297
|
+
const row = store
|
|
1298
|
+
.prepare(`SELECT COUNT(*) AS c
|
|
1299
|
+
FROM memories
|
|
1300
|
+
WHERE type IN ('decision', 'rule')
|
|
1301
|
+
AND fingerprint = ?
|
|
1302
|
+
AND status = 'active'
|
|
1303
|
+
AND (repo_id = ? OR repo_id IS NULL)`)
|
|
1304
|
+
.get(fingerprint, repoId);
|
|
1305
|
+
return row?.c ?? 0;
|
|
1306
|
+
}
|
|
1099
1307
|
function rankScore(mem, nowMs, deterministic) {
|
|
1100
1308
|
// FTS5 bm25 returns a negative score (more negative = better match).
|
|
1101
1309
|
// For non-FTS rows (loadAll path), fall back to -relevance_score so
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryService.js","sourceRoot":"","sources":["../../plugin/MemoryService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MemoryService.js","sourceRoot":"","sources":["../../plugin/MemoryService.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin/Migrate.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export interface MigrateResult {
|
|
|
5
5
|
applied: string[];
|
|
6
6
|
}
|
|
7
7
|
export type PostApplyHook = (store: Store) => void;
|
|
8
|
+
export declare const HOOK_NAMES: readonly ["tool.execute.before", "tool.execute.after", "chat.message", "experimental.chat.system.transform", "experimental.session.compacting", "event"];
|
|
8
9
|
export declare class Migrate {
|
|
9
10
|
private store;
|
|
10
11
|
private migrationsDir;
|
package/dist/plugin/Migrate.js
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
import { readFileSync, readdirSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
+
// v0.9.0 (K9-001 / plan §5.3, D9-08) — the six hooks Kevin registers, in
|
|
4
|
+
// hook-object order. Canonical list: the "010" post-apply hook seeds
|
|
5
|
+
// hook_liveness from it, and HookLiveness (K9-009) wraps exactly these
|
|
6
|
+
// names, so a future hook added here is visible in the table on the next
|
|
7
|
+
// migration run.
|
|
8
|
+
export const HOOK_NAMES = [
|
|
9
|
+
"tool.execute.before",
|
|
10
|
+
"tool.execute.after",
|
|
11
|
+
"chat.message",
|
|
12
|
+
"experimental.chat.system.transform",
|
|
13
|
+
"experimental.session.compacting",
|
|
14
|
+
"event",
|
|
15
|
+
];
|
|
3
16
|
// Built-in post-apply hooks, keyed by migration version. Each hook runs inside
|
|
4
17
|
// the same transaction as the migration's DDL, so a hook failure rolls back the
|
|
5
18
|
// whole migration. Hooks run when their version is applied. Migration 008's
|
|
@@ -100,6 +113,56 @@ const DEFAULT_POST_APPLY_HOOKS = {
|
|
|
100
113
|
.prepare("UPDATE kevin_metrics SET value = (SELECT COUNT(*) FROM memories WHERE truth_penalty > 0.0) WHERE key = 'memories_contradicted'")
|
|
101
114
|
.run();
|
|
102
115
|
},
|
|
116
|
+
// v0.8.0 (K8-002 / plan §6.1, D8-03) — Team: three operations, all
|
|
117
|
+
// idempotent by re-derivation (same discipline as "006"/"007"/"008").
|
|
118
|
+
// 1. Back-fill the new scope from the old one: repo_id = project_id
|
|
119
|
+
// keeps every pre-v0.8 row retrievable on the same machine with an
|
|
120
|
+
// identical result set. Guarded by `repo_id IS NULL`; a row whose
|
|
121
|
+
// project_id is also NULL keeps a NULL repo_id — the retrieval
|
|
122
|
+
// path handles NULL as global (K8-007) instead of the hook faking
|
|
123
|
+
// a value. No git-derived identity here: the hook runs inside a
|
|
124
|
+
// migration and must not read the filesystem (K8-002 criterion).
|
|
125
|
+
// 2. Normalize the layer marker for any row written by a concurrent
|
|
126
|
+
// v0.7.0 process between ALTER and hook (belt and braces; the
|
|
127
|
+
// column DEFAULT already covers the ordinary case).
|
|
128
|
+
// 3. Re-derive shared_entries_total from state rather than trusting
|
|
129
|
+
// an incremented value that may predate a crash.
|
|
130
|
+
"009": (store) => {
|
|
131
|
+
store
|
|
132
|
+
.prepare("UPDATE memories SET repo_id = project_id WHERE repo_id IS NULL")
|
|
133
|
+
.run();
|
|
134
|
+
store
|
|
135
|
+
.prepare("UPDATE memories SET layer = 'local' WHERE layer IS NULL OR layer = ''")
|
|
136
|
+
.run();
|
|
137
|
+
store
|
|
138
|
+
.prepare("UPDATE kevin_metrics SET value = (SELECT COUNT(*) FROM shared_entries) WHERE key = 'shared_entries_total'")
|
|
139
|
+
.run();
|
|
140
|
+
},
|
|
141
|
+
// v0.9.0 (K9-001 / plan §6.1, D9-08) — Native: three operations, all
|
|
142
|
+
// idempotent by design.
|
|
143
|
+
// 1. Seed one hook_liveness row per name in HOOK_NAMES, with the
|
|
144
|
+
// experimental flag derived from the hook's own `experimental.`
|
|
145
|
+
// prefix and every counter at zero. Seeding eagerly (INSERT OR
|
|
146
|
+
// IGNORE) makes a hook that has never fired a visible row with
|
|
147
|
+
// fire_count = 0, not an absent row indistinguishable from a hook
|
|
148
|
+
// Kevin does not register.
|
|
149
|
+
// 2. Re-derive hooks_dead_total from hook_liveness state rather than
|
|
150
|
+
// trusting an incremented value (same discipline as "006"-"009").
|
|
151
|
+
// 3. Normalize any experimental flag that disagrees with its own
|
|
152
|
+
// hook column's prefix — cheap, and it repairs a row hand-edited
|
|
153
|
+
// during debugging.
|
|
154
|
+
"010": (store) => {
|
|
155
|
+
const seed = store.prepare("INSERT OR IGNORE INTO hook_liveness (hook, experimental) VALUES (?, ?)");
|
|
156
|
+
for (const name of HOOK_NAMES) {
|
|
157
|
+
seed.run(name, name.startsWith("experimental.") ? 1 : 0);
|
|
158
|
+
}
|
|
159
|
+
store
|
|
160
|
+
.prepare("UPDATE kevin_metrics SET value = (SELECT COUNT(*) FROM hook_liveness WHERE dead_since IS NOT NULL) WHERE key = 'hooks_dead_total'")
|
|
161
|
+
.run();
|
|
162
|
+
store
|
|
163
|
+
.prepare("UPDATE hook_liveness SET experimental = CASE WHEN hook LIKE 'experimental.%' THEN 1 ELSE 0 END")
|
|
164
|
+
.run();
|
|
165
|
+
},
|
|
103
166
|
};
|
|
104
167
|
export class Migrate {
|
|
105
168
|
store;
|
|
@@ -128,9 +191,17 @@ export class Migrate {
|
|
|
128
191
|
const pending = this.listPending(from);
|
|
129
192
|
if (pending.length === 0) {
|
|
130
193
|
// v0.7.0 (K7-002) — heal drift in the 008 counters on a no-op
|
|
131
|
-
// startup while preserving `applied: []` idempotency.
|
|
132
|
-
|
|
133
|
-
|
|
194
|
+
// startup while preserving `applied: []` idempotency. v0.8.0
|
|
195
|
+
// (K8-002 / plan §6.1) extends the same repair to the 009
|
|
196
|
+
// back-fill and the shared_entries_total re-derivation, and
|
|
197
|
+
// v0.9.0 (K9-001 / plan §6.1) to the 010 seeding,
|
|
198
|
+
// hooks_dead_total re-derivation and experimental
|
|
199
|
+
// normalization: all three hooks are idempotent by guarded
|
|
200
|
+
// updates and re-derivation, so a no-op startup can heal a
|
|
201
|
+
// crash that landed between the DDL and the hook without
|
|
202
|
+
// re-applying DDL.
|
|
203
|
+
if (from === "008" || from === "009" || from === "010") {
|
|
204
|
+
const repairHook = this.postApplyHooks.get(from);
|
|
134
205
|
if (repairHook)
|
|
135
206
|
this.store.transaction(() => repairHook(this.store));
|
|
136
207
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Migrate.js","sourceRoot":"","sources":["../../plugin/Migrate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Migrate.js","sourceRoot":"","sources":["../../plugin/Migrate.ts"],"names":[],"mappings":"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"}
|