@pcircle/memesh 4.8.3 → 4.8.5

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 (112) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +2 -1
  3. package/.codex-plugin/plugin.json +1 -1
  4. package/AGENTS.md +8 -3
  5. package/README.de.md +2 -1
  6. package/README.md +2 -1
  7. package/README.zh-TW.md +2 -1
  8. package/dashboard/dist/index.html +3 -3
  9. package/dist/core/agent-message-inbox.d.ts +2 -1
  10. package/dist/core/agent-message-inbox.d.ts.map +1 -1
  11. package/dist/core/agent-message-inbox.js +23 -4
  12. package/dist/core/agent-message-inbox.js.map +1 -1
  13. package/dist/core/agent-messaging.d.ts.map +1 -1
  14. package/dist/core/agent-messaging.js +23 -15
  15. package/dist/core/agent-messaging.js.map +1 -1
  16. package/dist/core/agent-scope-id.d.ts +11 -0
  17. package/dist/core/agent-scope-id.d.ts.map +1 -0
  18. package/dist/core/agent-scope-id.js +40 -0
  19. package/dist/core/agent-scope-id.js.map +1 -0
  20. package/dist/core/briefing.d.ts.map +1 -1
  21. package/dist/core/briefing.js +8 -2
  22. package/dist/core/briefing.js.map +1 -1
  23. package/dist/core/doctor.d.ts +1 -0
  24. package/dist/core/doctor.d.ts.map +1 -1
  25. package/dist/core/doctor.js +154 -16
  26. package/dist/core/doctor.js.map +1 -1
  27. package/dist/core/dreamer.d.ts.map +1 -1
  28. package/dist/core/dreamer.js +3 -1
  29. package/dist/core/dreamer.js.map +1 -1
  30. package/dist/core/embedder.d.ts.map +1 -1
  31. package/dist/core/embedder.js +4 -1
  32. package/dist/core/embedder.js.map +1 -1
  33. package/dist/core/lifecycle.d.ts.map +1 -1
  34. package/dist/core/lifecycle.js +8 -5
  35. package/dist/core/lifecycle.js.map +1 -1
  36. package/dist/core/memory-tool.d.ts.map +1 -1
  37. package/dist/core/memory-tool.js +3 -1
  38. package/dist/core/memory-tool.js.map +1 -1
  39. package/dist/core/ollama-host.d.ts +1 -1
  40. package/dist/core/ollama-host.d.ts.map +1 -1
  41. package/dist/core/ollama-host.js +46 -14
  42. package/dist/core/ollama-host.js.map +1 -1
  43. package/dist/core/operations.d.ts +1 -1
  44. package/dist/core/operations.d.ts.map +1 -1
  45. package/dist/core/operations.js +1 -1
  46. package/dist/core/operations.js.map +1 -1
  47. package/dist/core/project-tags.d.ts +2 -0
  48. package/dist/core/project-tags.d.ts.map +1 -1
  49. package/dist/core/project-tags.js +29 -1
  50. package/dist/core/project-tags.js.map +1 -1
  51. package/dist/core/schema-export.js +3 -3
  52. package/dist/core/schema-export.js.map +1 -1
  53. package/dist/core/version-check.d.ts +1 -0
  54. package/dist/core/version-check.d.ts.map +1 -1
  55. package/dist/core/version-check.js +35 -0
  56. package/dist/core/version-check.js.map +1 -1
  57. package/dist/db.d.ts.map +1 -1
  58. package/dist/db.js +5 -2
  59. package/dist/db.js.map +1 -1
  60. package/dist/host-runtime/acp.d.ts.map +1 -1
  61. package/dist/host-runtime/acp.js +2 -1
  62. package/dist/host-runtime/acp.js.map +1 -1
  63. package/dist/host-runtime/claude.d.ts.map +1 -1
  64. package/dist/host-runtime/claude.js +6 -8
  65. package/dist/host-runtime/claude.js.map +1 -1
  66. package/dist/host-runtime/codex.d.ts.map +1 -1
  67. package/dist/host-runtime/codex.js +2 -1
  68. package/dist/host-runtime/codex.js.map +1 -1
  69. package/dist/host-runtime/entry.d.ts +5 -0
  70. package/dist/host-runtime/entry.d.ts.map +1 -0
  71. package/dist/host-runtime/entry.js +11 -0
  72. package/dist/host-runtime/entry.js.map +1 -0
  73. package/dist/knowledge-graph.d.ts +0 -1
  74. package/dist/knowledge-graph.d.ts.map +1 -1
  75. package/dist/knowledge-graph.js +27 -19
  76. package/dist/knowledge-graph.js.map +1 -1
  77. package/dist/skills-manifest.json +29 -24
  78. package/dist/storage/entity-index.d.ts +4 -0
  79. package/dist/storage/entity-index.d.ts.map +1 -0
  80. package/dist/storage/entity-index.js +15 -0
  81. package/dist/storage/entity-index.js.map +1 -0
  82. package/dist/storage/fts-index.d.ts.map +1 -1
  83. package/dist/storage/fts-index.js +5 -0
  84. package/dist/storage/fts-index.js.map +1 -1
  85. package/dist/storage/graph-repairs.d.ts +11 -1
  86. package/dist/storage/graph-repairs.d.ts.map +1 -1
  87. package/dist/storage/graph-repairs.js +172 -9
  88. package/dist/storage/graph-repairs.js.map +1 -1
  89. package/dist/transports/cli/cli.d.ts.map +1 -1
  90. package/dist/transports/cli/cli.js +23 -12
  91. package/dist/transports/cli/cli.js.map +1 -1
  92. package/dist/transports/mcp/handlers.d.ts +3 -3
  93. package/dist/transports/mcp/handlers.js +3 -3
  94. package/dist/transports/mcp/handlers.js.map +1 -1
  95. package/dist/transports/schemas.d.ts +19 -19
  96. package/dist/transports/schemas.d.ts.map +1 -1
  97. package/dist/transports/schemas.js +18 -11
  98. package/dist/transports/schemas.js.map +1 -1
  99. package/docs/platforms/README.md +1 -1
  100. package/docs/platforms/agent-messaging.md +157 -0
  101. package/hooks/hooks.json +10 -0
  102. package/package.json +9 -5
  103. package/scripts/hooks/_generated/agent-message-inbox.js +23 -4
  104. package/scripts/hooks/_generated/fts-index.js +5 -0
  105. package/scripts/hooks/_shared.js +51 -3
  106. package/scripts/hooks/decision-nudge.js +152 -0
  107. package/scripts/hooks/post-commit.js +11 -0
  108. package/scripts/hooks/pre-compact.js +12 -4
  109. package/scripts/hooks/session-start.js +24 -3
  110. package/scripts/upgrade-plugin.sh +71 -2
  111. package/skills/memesh/SKILL.md +5 -1
  112. /package/{.mcp.json → .claude-plugin/mcp.json} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-index.js","sourceRoot":"","sources":["../../src/storage/entity-index.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAgBvE,MAAM,UAAU,eAAe,CAAC,EAAkB,EAAE,QAAgB;IAClE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QAAE,OAAO;IAChC,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/E,CAAC;AAgBD,MAAM,UAAU,qBAAqB,CACnC,EAAkB,EAClB,QAAgB,EAChB,IAAY;IAEZ,MAAM,QAAQ,GAAG,EAAE;SAChB,OAAO,CAAC,yCAAyC,CAAC;SAClD,GAAG,CAAC,QAAQ,CAAyC,CAAC;IACzD,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,sBAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC;IACjG,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fts-index.d.ts","sourceRoot":"","sources":["../../src/storage/fts-index.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAC;AAwClE,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAW3E,CAAC;AAWF,eAAO,MAAM,qBAAqB,QAExB,CAAC;AA4BX,eAAO,MAAM,yBAAyB,QAC8C,CAAC;AA2BrF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAa3D;AAwBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AA4BD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAEpD;AAmBD,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAa7C,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAM5D;AAiBD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAqBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CASpE;AAKD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAwCD,wBAAgB,aAAa,CAC3B,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GACxB,IAAI,CAqBN;AAmCD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAElE;AAcD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKnF;AAQD,wBAAgB,YAAY,CAC1B,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GACpB,IAAI,CAQN"}
1
+ {"version":3,"file":"fts-index.d.ts","sourceRoot":"","sources":["../../src/storage/fts-index.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAC;AAwClE,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAW3E,CAAC;AAWF,eAAO,MAAM,qBAAqB,QAExB,CAAC;AA4BX,eAAO,MAAM,yBAAyB,QAC8C,CAAC;AA2BrF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAa3D;AAwBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AA4BD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAEpD;AAmBD,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAa7C,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAM5D;AAiBD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAqBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CASpE;AAKD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAwCD,wBAAgB,aAAa,CAC3B,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GACxB,IAAI,CA8CN;AA4CD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAElE;AAcD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKnF;AAQD,wBAAgB,YAAY,CAC1B,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GACpB,IAAI,CAQN"}
@@ -59,6 +59,11 @@ function foldTitleIntoObservations(title, observationsText) {
59
59
  }
60
60
  export function removeFromFts(db, entityId, name, prevObsText, prevTitle) {
61
61
  try {
62
+ const indexed = db
63
+ .prepare('SELECT COUNT(*) AS c FROM entities_fts WHERE rowid = ?')
64
+ .get(entityId);
65
+ if (!indexed || indexed.c === 0)
66
+ return;
62
67
  db.prepare("INSERT INTO entities_fts (entities_fts, rowid, name, observations) VALUES('delete', ?, ?, ?)").run(entityId, toIndexForm(name), toIndexForm(foldTitleIntoObservations(prevTitle, prevObsText)));
63
68
  }
64
69
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"fts-index.js","sourceRoot":"","sources":["../../src/storage/fts-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fts-index.js","sourceRoot":"","sources":["../../src/storage/fts-index.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,21 @@ import type { MemeshDatabase } from './sqlite.js';
2
2
  export declare const SESSION_DEDUPE_KEY = "session_observation_dedupe";
3
3
  export declare const ZERO_EDIT_RETRACT_KEY = "session_zero_edit_retract";
4
4
  export declare const FUSED_LESSON_SPLIT_KEY = "fused_lesson_split";
5
- export declare function dedupeSessionObservations(db: MemeshDatabase): number;
5
+ export declare const ARCHIVED_FTS_ROWS_KEY = "archived_fts_rows";
6
+ export declare const ARCHIVED_VECTOR_ROWS_KEY = "archived_vector_rows";
7
+ export declare const FUSED_LESSON_SHELL_HISTORY_RESET_KEY = "fused_lesson_shell_history_reset";
8
+ export declare function dedupeObservations(db: MemeshDatabase): number;
6
9
  export declare function bashWritesFiles(command: string): boolean;
7
10
  export declare function retractZeroEditClaims(db: MemeshDatabase): number;
8
11
  export declare function splitFusedLessons(db: MemeshDatabase, deps: {
9
12
  deriveTitle: (type: string, observations: string[]) => string | null;
10
13
  markReindexOwed: (conn: MemeshDatabase) => void;
11
14
  }): number;
15
+ export declare function dropArchivedIndexRows(db: MemeshDatabase): {
16
+ ftsRows: number;
17
+ vectorRows: number;
18
+ };
19
+ export declare function repairFusedLessonShellHistory(db: MemeshDatabase): number;
20
+ export declare const AGENT_SCOPE_PATH_KEY = "agent_scope_path_identity";
21
+ export declare function normalizeAgentScopePaths(db: MemeshDatabase): number;
12
22
  //# sourceMappingURL=graph-repairs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph-repairs.d.ts","sourceRoot":"","sources":["../../src/storage/graph-repairs.ts"],"names":[],"mappings":"AA0DA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,eAAO,MAAM,kBAAkB,+BAA+B,CAAC;AAC/D,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AACjE,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAyB3D,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CA2BpE;AAoBD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAUxD;AAgBD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAgChE;AAiED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,cAAc,EAClB,IAAI,EAAE;IACJ,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,MAAM,GAAG,IAAI,CAAC;IACrE,eAAe,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;CACjD,GACA,MAAM,CA8JR"}
1
+ {"version":3,"file":"graph-repairs.d.ts","sourceRoot":"","sources":["../../src/storage/graph-repairs.ts"],"names":[],"mappings":"AAgEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAWlD,eAAO,MAAM,kBAAkB,+BAA+B,CAAC;AAC/D,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AACjE,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAC3D,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AACzD,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAC/D,eAAO,MAAM,oCAAoC,qCAAqC,CAAC;AAgIvF,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CA4B7D;AAoBD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAUxD;AAgBD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAgChE;AAiED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,cAAc,EAClB,IAAI,EAAE;IACJ,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,MAAM,GAAG,IAAI,CAAC;IACrE,eAAe,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;CACjD,GACA,MAAM,CA8JR;AA6CD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,cAAc,GAAG;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CA0EA;AAsBD,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CA8BxE;AAED,eAAO,MAAM,oBAAoB,8BAA8B,CAAC;AA6EhE,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CA4EnE"}
@@ -1,25 +1,53 @@
1
1
  import { rebuildFtsIndex, runOnceMigration } from './schema.js';
2
+ import { hasVectorIndex } from './vector-index.js';
2
3
  import { lessonSlug } from '../core/lesson-slug.js';
4
+ import { AGENT_MESSAGE_SCOPE_COLUMNS, isFilesystemPathScopeId, lastPathSegment, } from '../core/agent-scope-id.js';
3
5
  import { computeSignalScore } from '../core/signal-scorer.js';
4
6
  export const SESSION_DEDUPE_KEY = 'session_observation_dedupe';
5
7
  export const ZERO_EDIT_RETRACT_KEY = 'session_zero_edit_retract';
6
8
  export const FUSED_LESSON_SPLIT_KEY = 'fused_lesson_split';
9
+ export const ARCHIVED_FTS_ROWS_KEY = 'archived_fts_rows';
10
+ export const ARCHIVED_VECTOR_ROWS_KEY = 'archived_vector_rows';
11
+ export const FUSED_LESSON_SHELL_HISTORY_RESET_KEY = 'fused_lesson_shell_history_reset';
7
12
  const ZERO_EDITS = ', 0 files edited';
8
13
  const ZERO_EDITS_RETRACTED = ', files edited through Bash (count not recorded before 4.8.2)';
9
14
  function note(line) {
10
15
  process.stderr.write(`MeMesh: ${line}\n`);
11
16
  }
12
- export function dedupeSessionObservations(db) {
17
+ function retireRecallHistory(conn, id) {
18
+ const row = conn
19
+ .prepare('SELECT metadata, recall_hits, recall_misses FROM entities WHERE id = ?')
20
+ .get(id);
21
+ if (!row)
22
+ return;
23
+ const hits = row.recall_hits ?? 0;
24
+ const misses = row.recall_misses ?? 0;
25
+ if (hits === 0 && misses === 0)
26
+ return;
27
+ let metadata = {};
28
+ try {
29
+ const parsed = row.metadata ? JSON.parse(row.metadata) : {};
30
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed))
31
+ metadata = parsed;
32
+ }
33
+ catch { }
34
+ metadata.retired_recall = { hits, misses };
35
+ conn
36
+ .prepare('UPDATE entities SET metadata = ?, recall_hits = 0, recall_misses = 0 WHERE id = ?')
37
+ .run(JSON.stringify(metadata), id);
38
+ }
39
+ export function dedupeObservations(db) {
13
40
  let removed = -1;
14
41
  runOnceMigration(db, {
15
42
  key: SESSION_DEDUPE_KEY,
16
- version: 1,
17
- describe: 'session observation dedupe',
43
+ version: 2,
44
+ describe: 'observation dedupe',
18
45
  migrate: (conn) => {
19
46
  const affected = conn
20
- .prepare(`SELECT DISTINCT e.id FROM entities e JOIN observations o ON o.entity_id = e.id
21
- WHERE e.name LIKE 'session-%'
22
- GROUP BY e.id, o.content HAVING COUNT(o.id) > 1`)
47
+ .prepare(`SELECT DISTINCT o.entity_id AS id FROM observations o
48
+ JOIN entities e ON e.id = o.entity_id
49
+ WHERE e.type NOT IN ('lesson_learned', 'lesson', 'mistake')
50
+ GROUP BY o.entity_id, o.content HAVING COUNT(o.id) > 1`)
23
51
  .all();
24
52
  removed = 0;
25
53
  const del = conn.prepare(`DELETE FROM observations WHERE entity_id = ? AND id NOT IN (
@@ -28,7 +56,7 @@ export function dedupeSessionObservations(db) {
28
56
  removed += Number(del.run(row.id, row.id).changes);
29
57
  if (removed > 0) {
30
58
  rebuildFtsIndex(conn);
31
- note(`removed ${removed} duplicate observation(s) from ${affected.length} session entit${affected.length === 1 ? 'y' : 'ies'} (written by 4.8.1 hooks).`);
59
+ note(`removed ${removed} duplicate observation(s) from ${affected.length} entit${affected.length === 1 ? 'y' : 'ies'} (written by hooks up to 4.8.3).`);
32
60
  }
33
61
  },
34
62
  });
@@ -189,7 +217,8 @@ export function splitFusedLessons(db, deps) {
189
217
  bucket.name.slice('lesson-'.length, -'-other'.length);
190
218
  const movedFromBucket = moveLessonGroups(bucket, project, groups, tags);
191
219
  dropExplicit.run(bucket.id, bucket.id);
192
- archive.run(bucket.id, bucket.id);
220
+ if (archive.run(bucket.id, bucket.id).changes > 0)
221
+ retireRecallHistory(conn, bucket.id);
193
222
  if (movedFromBucket > 0)
194
223
  bucketsTouched += 1;
195
224
  }
@@ -219,7 +248,8 @@ export function splitFusedLessons(db, deps) {
219
248
  if (!groups.every((group) => `lesson-${project}-${legacyReadableLessonSlug(group.error)}` === entity.name))
220
249
  continue;
221
250
  const movedFromEntity = moveLessonGroups(entity, project, groups, tags);
222
- archive.run(entity.id, entity.id);
251
+ if (archive.run(entity.id, entity.id).changes > 0)
252
+ retireRecallHistory(conn, entity.id);
223
253
  legacyReadableMoved += movedFromEntity;
224
254
  }
225
255
  if (moved > 0) {
@@ -239,4 +269,137 @@ export function splitFusedLessons(db, deps) {
239
269
  });
240
270
  return moved;
241
271
  }
272
+ export function dropArchivedIndexRows(db) {
273
+ const result = { ftsRows: -1, vectorRows: -1 };
274
+ runOnceMigration(db, {
275
+ key: ARCHIVED_FTS_ROWS_KEY,
276
+ version: 1,
277
+ describe: 'archived rows removed from the keyword index',
278
+ migrate: (conn) => {
279
+ const stale = conn
280
+ .prepare(`SELECT COUNT(*) AS n FROM entities_fts f
281
+ JOIN entities e ON e.id = f.rowid
282
+ WHERE e.status = 'archived'`)
283
+ .get();
284
+ result.ftsRows = stale.n;
285
+ rebuildFtsIndex(conn);
286
+ if (stale.n > 0) {
287
+ note(`removed ${stale.n} archived entit${stale.n === 1 ? 'y' : 'ies'} from the keyword index (archived before 4.8.4 by a path that left the index behind).`);
288
+ }
289
+ },
290
+ });
291
+ if (!hasVectorIndex(db))
292
+ return result;
293
+ runOnceMigration(db, {
294
+ key: ARCHIVED_VECTOR_ROWS_KEY,
295
+ version: 1,
296
+ describe: 'archived rows removed from the vector index',
297
+ migrate: (conn) => {
298
+ const removed = conn
299
+ .prepare(`DELETE FROM entities_vec WHERE rowid IN
300
+ (SELECT e.id FROM entities e WHERE e.status = 'archived')`)
301
+ .run();
302
+ result.vectorRows = Number(removed.changes);
303
+ if (result.vectorRows > 0) {
304
+ note(`removed ${result.vectorRows} archived entit${result.vectorRows === 1 ? 'y' : 'ies'} from the vector index; they were taking recall slots from live memories.`);
305
+ }
306
+ },
307
+ });
308
+ return result;
309
+ }
310
+ export function repairFusedLessonShellHistory(db) {
311
+ let retired = -1;
312
+ runOnceMigration(db, {
313
+ key: FUSED_LESSON_SHELL_HISTORY_RESET_KEY,
314
+ version: 1,
315
+ describe: 'fused lesson shell history reset',
316
+ migrate: (conn) => {
317
+ const shells = conn
318
+ .prepare(`SELECT e.id, e.name FROM entities e
319
+ WHERE e.type = 'lesson_learned' AND e.status = 'archived'
320
+ AND (COALESCE(e.recall_hits, 0) > 0 OR COALESCE(e.recall_misses, 0) > 0)
321
+ AND NOT EXISTS (SELECT 1 FROM observations o WHERE o.entity_id = e.id)
322
+ AND EXISTS (
323
+ SELECT 1 FROM entities s
324
+ WHERE json_extract(s.metadata, '$.split_from') = e.name
325
+ )`)
326
+ .all();
327
+ retired = 0;
328
+ for (const shell of shells) {
329
+ retireRecallHistory(conn, shell.id);
330
+ retired += 1;
331
+ }
332
+ if (retired > 0) {
333
+ note(`retired stale recall history on ${retired} archived lesson shell(s) split before this fix existed.`);
334
+ }
335
+ },
336
+ });
337
+ return retired;
338
+ }
339
+ export const AGENT_SCOPE_PATH_KEY = 'agent_scope_path_identity';
340
+ export function normalizeAgentScopePaths(db) {
341
+ let rewritten = -1;
342
+ runOnceMigration(db, {
343
+ key: AGENT_SCOPE_PATH_KEY,
344
+ version: 1,
345
+ describe: 'agent message scope path identities',
346
+ migrate: (conn) => {
347
+ rewritten = 0;
348
+ let merged = 0;
349
+ let blocked = 0;
350
+ let discarded = 0;
351
+ const pairs = new Set();
352
+ for (const { table, columns } of AGENT_MESSAGE_SCOPE_COLUMNS) {
353
+ for (const column of columns) {
354
+ let values;
355
+ try {
356
+ values = conn.prepare(`SELECT DISTINCT ${column} AS v FROM ${table}`).all();
357
+ }
358
+ catch {
359
+ continue;
360
+ }
361
+ const update = conn.prepare(`UPDATE ${table} SET ${column} = ? WHERE rowid = ?`);
362
+ const drop = conn.prepare(`DELETE FROM ${table} WHERE rowid = ?`);
363
+ const ids = conn.prepare(`SELECT rowid AS rid FROM ${table} WHERE ${column} = ?`);
364
+ const exists = conn.prepare(`SELECT 1 AS hit FROM ${table} WHERE ${column} = ? LIMIT 1`);
365
+ for (const { v } of values) {
366
+ if (typeof v !== 'string' || !isFilesystemPathScopeId(v))
367
+ continue;
368
+ const target = lastPathSegment(v);
369
+ if (target === null)
370
+ continue;
371
+ const isMerge = exists.get(target) !== undefined;
372
+ const rows = ids.all(v);
373
+ for (const { rid } of rows) {
374
+ try {
375
+ const changed = Number(update.run(target, rid).changes);
376
+ rewritten += changed;
377
+ if (changed > 0 && isMerge)
378
+ merged += changed;
379
+ }
380
+ catch {
381
+ if (table === 'agent_message_cursors') {
382
+ discarded += Number(drop.run(rid).changes);
383
+ }
384
+ else {
385
+ blocked += 1;
386
+ }
387
+ }
388
+ }
389
+ if (rows.length > 0)
390
+ pairs.add(`${v} → ${target}`);
391
+ }
392
+ }
393
+ }
394
+ if (rewritten > 0 || discarded > 0) {
395
+ const detail = [...pairs].join(', ');
396
+ note(`rewrote ${rewritten} filesystem-path message scope value(s) to their identity name (${detail})`
397
+ + `${merged > 0 ? `; ${merged} joined an identity that already existed` : ''}`
398
+ + `${discarded > 0 ? `; ${discarded} duplicate poll cursor(s) dropped` : ''}`
399
+ + `${blocked > 0 ? `; ${blocked} left in place because the canonical spelling already holds an equivalent row` : ''}.`);
400
+ }
401
+ },
402
+ });
403
+ return rewritten;
404
+ }
242
405
  //# sourceMappingURL=graph-repairs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph-repairs.js","sourceRoot":"","sources":["../../src/storage/graph-repairs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-repairs.js","sourceRoot":"","sources":["../../src/storage/graph-repairs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/transports/cli/cli.ts"],"names":[],"mappings":";AAoMA,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,CASN;AAGD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,GAAG,EAAE,MAAM,GACV;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAA;CAAE,CAKrC;AA2lDD,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,kBAAkB,CAAC,EAAE,MAAM,GAC1B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAYlD;AAy3CD,wBAAsB,MAAM,CAAC,IAAI,GAAE,SAAS,MAAM,EAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAElF"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/transports/cli/cli.ts"],"names":[],"mappings":";AAqMA,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,CASN;AAGD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,GAAG,EAAE,MAAM,GACV;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAA;CAAE,CAKrC;AAumDD,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,kBAAkB,CAAC,EAAE,MAAM,GAC1B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAYlD;AAi5CD,wBAAsB,MAAM,CAAC,IAAI,GAAE,SAAS,MAAM,EAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAElF"}
@@ -9,6 +9,7 @@ import { remember, recallWithConflicts, forget, exportMemories, importMemories,
9
9
  import { readConfig, writeConfig, maskApiKey, detectCapabilities } from '../../core/config.js';
10
10
  import { MAX_LANGUAGE_LENGTH, languageValueError } from '../../core/output-language.js';
11
11
  import { getDbPath, getProjectName, homeDir, redactSecrets, redactUserPaths } from '../../core/paths.js';
12
+ import { agentScopeIdRejection, canonicalAgentScopeId } from '../../core/agent-scope-id.js';
12
13
  import { flushPendingEmbeddings, canRefillVectorIndex } from '../../core/embedder.js';
13
14
  import { NAMESPACES } from '../../core/types.js';
14
15
  import { assembleBriefing } from '../../core/briefing.js';
@@ -304,6 +305,7 @@ program
304
305
  name: opts.name,
305
306
  observation: opts.observation,
306
307
  });
308
+ const didSomething = result.archived === true || result.observation_removed === true;
307
309
  if (opts.json) {
308
310
  console.log(JSON.stringify(result));
309
311
  }
@@ -316,12 +318,12 @@ program
316
318
  else if (opts.observation !== undefined && result.entity_found) {
317
319
  console.log(`Entity "${opts.name}" has no observation matching that text (${result.remaining_observations} observation(s) present).`);
318
320
  console.log(`See them with: memesh recall "${opts.name}" --json`);
319
- process.exitCode = 1;
320
321
  }
321
322
  else {
322
323
  console.log(`Entity "${opts.name}" not found`);
323
- process.exitCode = 1;
324
324
  }
325
+ if (!didSomething)
326
+ process.exitCode = 1;
325
327
  });
326
328
  });
327
329
  function registerPinCommand(name, description, pinned, onFound) {
@@ -824,8 +826,8 @@ agentCmd
824
826
  const common = {
825
827
  router_socket: path.join(messageDir, 'agent-router.sock'),
826
828
  token_file: routerTokenFile,
827
- project: opts.project,
828
- principal_id: opts.principal,
829
+ project: requireAgentScopeArg(opts.project, 'project', '--project'),
830
+ principal_id: requireAgentScopeArg(opts.principal, 'recipient', '--principal'),
829
831
  ...(opts.model === undefined ? {} : { model: boundedCliDeclaration(opts.model, '--model', 200) }),
830
832
  ...(opts.workSummary === undefined ? {} : { work_summary: boundedCliDeclaration(opts.workSummary, '--work-summary', 200) }),
831
833
  };
@@ -1595,9 +1597,15 @@ kgCmd
1595
1597
  }
1596
1598
  });
1597
1599
  });
1600
+ function requireAgentScopeArg(value, field, flag) {
1601
+ const rejection = agentScopeIdRejection(field, value);
1602
+ if (rejection)
1603
+ throw new Error(`${flag}: ${rejection}`);
1604
+ return canonicalAgentScopeId(value);
1605
+ }
1598
1606
  kgCmd
1599
1607
  .command('rename-project')
1600
- .description('Merge or rename a project:<name> tag across all entities (heals mis-homed tags from before git-based project identity)')
1608
+ .description('Merge or rename a project across all entities AND durable agent messages (heals mis-homed tags from before git-based project identity, and the message scopes that go with them)')
1601
1609
  .option('--from <name>', 'Existing project name to rewrite. Omit both --from/--to to just LIST all project tags + counts.')
1602
1610
  .option('--to <name>', 'New project name to rewrite it to')
1603
1611
  .option('--apply', 'Actually write the change. Default is a dry-run preview. Backs up the DB first.')
@@ -1626,20 +1634,22 @@ kgCmd
1626
1634
  process.exitCode = 1;
1627
1635
  return;
1628
1636
  }
1629
- const preview = renameProjectTag(opts.from, opts.to, { apply: false });
1637
+ const to = requireAgentScopeArg(opts.to, 'project', '--to');
1638
+ const preview = renameProjectTag(opts.from, to, { apply: false });
1630
1639
  if (!opts.apply) {
1631
1640
  if (opts.json) {
1632
1641
  console.log(JSON.stringify({ ...preview, dryRun: true }, null, 2));
1633
1642
  return;
1634
1643
  }
1635
- console.log(`Dry-run: project:${opts.from} → project:${opts.to}`);
1644
+ console.log(`Dry-run: project:${opts.from} → project:${to}`);
1636
1645
  console.log(` ${preview.affectedEntities} entit${preview.affectedEntities === 1 ? 'y' : 'ies'} carry project:${opts.from}`);
1637
- console.log(` ${preview.renamed} would be renamed, ${preview.merged} already have project:${opts.to} (their project:${opts.from} row would be removed)`);
1646
+ console.log(` ${preview.renamed} would be renamed, ${preview.merged} already have project:${to} (their project:${opts.from} row would be removed)`);
1647
+ console.log(` ${preview.messageRows} durable agent-message row(s) scoped to ${opts.from} would move to ${to}`);
1638
1648
  console.log(`\nNothing written. Re-run with --apply to commit (the DB is backed up first).`);
1639
1649
  return;
1640
1650
  }
1641
- if (preview.affectedEntities === 0) {
1642
- console.log(`No entities carry project:${opts.from} — nothing to do.`);
1651
+ if (preview.affectedEntities === 0 && preview.messageRows === 0) {
1652
+ console.log(`Nothing carries project ${opts.from} — no entity tags and no agent-message rows. Nothing to do.`);
1643
1653
  return;
1644
1654
  }
1645
1655
  const dbPath = getDbPath();
@@ -1655,13 +1665,14 @@ kgCmd
1655
1665
  process.exitCode = 1;
1656
1666
  return;
1657
1667
  }
1658
- const result = renameProjectTag(opts.from, opts.to, { apply: true });
1668
+ const result = renameProjectTag(opts.from, to, { apply: true });
1659
1669
  if (opts.json) {
1660
1670
  console.log(JSON.stringify({ ...result, backupPath }, null, 2));
1661
1671
  return;
1662
1672
  }
1663
- console.log(`✅ project:${opts.from} → project:${opts.to}`);
1673
+ console.log(`✅ project:${opts.from} → project:${to}`);
1664
1674
  console.log(` ${result.renamed} renamed, ${result.merged} merged (${result.affectedEntities} entities total)`);
1675
+ console.log(` ${result.messageRows} agent-message row(s) moved${result.messageRowsBlocked > 0 ? `, ${result.messageRowsBlocked} left in place (${to} already holds an equivalent row)` : ''}`);
1665
1676
  console.log(` Backup: ${backupPath}`);
1666
1677
  console.log(` Restore if needed: cp "${backupPath}" "${dbPath}"`);
1667
1678
  });