@rubytech/create-maxy-code 0.1.159 → 0.1.163

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 (150) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/lib/graph-search/src/__tests__/fulltext-coverage.test.ts +48 -17
  3. package/payload/platform/neo4j/schema.cypher +59 -36
  4. package/payload/platform/plugins/.claude-plugin/marketplace.json +5 -0
  5. package/payload/platform/plugins/admin/hooks/__tests__/per-turn-graph-pass-gate.test.sh +29 -3
  6. package/payload/platform/plugins/admin/hooks/archive-ingest-surface-gate.sh +2 -2
  7. package/payload/platform/plugins/admin/hooks/per-turn-graph-pass-gate.sh +11 -6
  8. package/payload/platform/plugins/admin/skills/business-profile/SKILL.md +1 -1
  9. package/payload/platform/plugins/docs/references/plugins-guide.md +3 -2
  10. package/payload/platform/plugins/email/.claude-plugin/plugin.json +1 -1
  11. package/payload/platform/plugins/email/PLUGIN.md +5 -1
  12. package/payload/platform/plugins/email/mcp/dist/index.js +25 -0
  13. package/payload/platform/plugins/email/mcp/dist/index.js.map +1 -1
  14. package/payload/platform/plugins/email/mcp/dist/lib/conversation-archive-dispatch.d.ts +8 -0
  15. package/payload/platform/plugins/email/mcp/dist/lib/conversation-archive-dispatch.d.ts.map +1 -0
  16. package/payload/platform/plugins/email/mcp/dist/lib/conversation-archive-dispatch.js +177 -0
  17. package/payload/platform/plugins/email/mcp/dist/lib/conversation-archive-dispatch.js.map +1 -0
  18. package/payload/platform/plugins/email/mcp/dist/lib/graph.d.ts +6 -54
  19. package/payload/platform/plugins/email/mcp/dist/lib/graph.d.ts.map +1 -1
  20. package/payload/platform/plugins/email/mcp/dist/lib/graph.js +12 -300
  21. package/payload/platform/plugins/email/mcp/dist/lib/graph.js.map +1 -1
  22. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.d.ts +6 -0
  23. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.d.ts.map +1 -0
  24. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.js +89 -0
  25. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.js.map +1 -0
  26. package/payload/platform/plugins/email/mcp/dist/tools/email-ingest.d.ts.map +1 -1
  27. package/payload/platform/plugins/email/mcp/dist/tools/email-ingest.js +11 -6
  28. package/payload/platform/plugins/email/mcp/dist/tools/email-ingest.js.map +1 -1
  29. package/payload/platform/plugins/linkedin-import/skills/linkedin-import/SKILL.md +10 -37
  30. package/payload/platform/plugins/linkedin-import/skills/linkedin-import/references/connections.md +1 -0
  31. package/payload/platform/plugins/memory/.claude-plugin/plugin.json +1 -1
  32. package/payload/platform/plugins/memory/PLUGIN.md +10 -1
  33. package/payload/platform/plugins/memory/bin/conversation-archive-ingest.mjs +139 -439
  34. package/payload/platform/plugins/memory/bin/conversation-archive-ingest.sh +15 -47
  35. package/payload/platform/plugins/memory/mcp/dist/index.js +168 -29
  36. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
  37. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-revision.test.js +43 -27
  38. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-revision.test.js.map +1 -1
  39. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/label-delete-gate.test.d.ts +2 -0
  40. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/label-delete-gate.test.d.ts.map +1 -0
  41. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/label-delete-gate.test.js +62 -0
  42. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/label-delete-gate.test.js.map +1 -0
  43. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-cypher-drift.test.js +5 -0
  44. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-cypher-drift.test.js.map +1 -1
  45. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/typed-edge-schema.test.js +1 -1
  46. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/typed-edge-schema.test.js.map +1 -1
  47. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-revision.d.ts +42 -25
  48. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-revision.d.ts.map +1 -1
  49. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-revision.js +23 -17
  50. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-revision.js.map +1 -1
  51. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/email.d.ts +3 -0
  52. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/email.d.ts.map +1 -0
  53. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/email.js +61 -0
  54. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/email.js.map +1 -0
  55. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/index.d.ts +1 -0
  56. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/index.d.ts.map +1 -1
  57. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/index.js +3 -0
  58. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/index.js.map +1 -1
  59. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/types.d.ts +1 -1
  60. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/types.d.ts.map +1 -1
  61. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/types.js +1 -0
  62. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/types.js.map +1 -1
  63. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/derive-keys.d.ts +2 -0
  64. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/derive-keys.d.ts.map +1 -1
  65. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/derive-keys.js +9 -3
  66. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/derive-keys.js.map +1 -1
  67. package/payload/platform/plugins/memory/mcp/dist/lib/kd-classify-gate.d.ts +41 -0
  68. package/payload/platform/plugins/memory/mcp/dist/lib/kd-classify-gate.d.ts.map +1 -0
  69. package/payload/platform/plugins/memory/mcp/dist/lib/kd-classify-gate.js +71 -0
  70. package/payload/platform/plugins/memory/mcp/dist/lib/kd-classify-gate.js.map +1 -0
  71. package/payload/platform/plugins/memory/mcp/dist/lib/label-delete-gate.d.ts +18 -0
  72. package/payload/platform/plugins/memory/mcp/dist/lib/label-delete-gate.d.ts.map +1 -0
  73. package/payload/platform/plugins/memory/mcp/dist/lib/label-delete-gate.js +31 -0
  74. package/payload/platform/plugins/memory/mcp/dist/lib/label-delete-gate.js.map +1 -0
  75. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights.test.d.ts +5 -0
  76. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights.test.d.ts.map +1 -1
  77. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights.test.js +162 -78
  78. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights.test.js.map +1 -1
  79. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-enrich-rejection.test.js +1 -1
  80. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-enrich-rejection.test.js.map +1 -1
  81. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-normalisers-source-agnosticism.test.js +2 -0
  82. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-normalisers-source-agnosticism.test.js.map +1 -1
  83. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-compiled-truth-history.test.js +2 -0
  84. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-compiled-truth-history.test.js.map +1 -1
  85. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.js +6 -0
  86. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.js.map +1 -1
  87. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-reserved-label.test.d.ts +2 -0
  88. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-reserved-label.test.d.ts.map +1 -0
  89. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-reserved-label.test.js +141 -0
  90. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-reserved-label.test.js.map +1 -0
  91. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-reserved-label.test.d.ts +2 -0
  92. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-reserved-label.test.d.ts.map +1 -0
  93. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-reserved-label.test.js +86 -0
  94. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-reserved-label.test.js.map +1 -0
  95. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.d.ts +33 -34
  96. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.d.ts.map +1 -1
  97. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js +94 -273
  98. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js.map +1 -1
  99. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-list-chunks.d.ts +43 -0
  100. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-list-chunks.d.ts.map +1 -0
  101. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-list-chunks.js +96 -0
  102. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-list-chunks.js.map +1 -0
  103. package/payload/platform/plugins/memory/mcp/dist/tools/kd-classify.d.ts +6 -0
  104. package/payload/platform/plugins/memory/mcp/dist/tools/kd-classify.d.ts.map +1 -0
  105. package/payload/platform/plugins/memory/mcp/dist/tools/kd-classify.js +73 -0
  106. package/payload/platform/plugins/memory/mcp/dist/tools/kd-classify.js.map +1 -0
  107. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.d.ts.map +1 -1
  108. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js +0 -1
  109. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js.map +1 -1
  110. package/payload/platform/plugins/memory/mcp/dist/tools/memory-compiled-truth-history.d.ts +6 -0
  111. package/payload/platform/plugins/memory/mcp/dist/tools/memory-compiled-truth-history.d.ts.map +1 -1
  112. package/payload/platform/plugins/memory/mcp/dist/tools/memory-compiled-truth-history.js +2 -0
  113. package/payload/platform/plugins/memory/mcp/dist/tools/memory-compiled-truth-history.js.map +1 -1
  114. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.d.ts +8 -0
  115. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.d.ts.map +1 -1
  116. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.js +40 -5
  117. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.js.map +1 -1
  118. package/payload/platform/plugins/memory/mcp/dist/tools/memory-empty-trash.d.ts +7 -0
  119. package/payload/platform/plugins/memory/mcp/dist/tools/memory-empty-trash.d.ts.map +1 -1
  120. package/payload/platform/plugins/memory/mcp/dist/tools/memory-empty-trash.js +17 -1
  121. package/payload/platform/plugins/memory/mcp/dist/tools/memory-empty-trash.js.map +1 -1
  122. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js +11 -0
  123. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js.map +1 -1
  124. package/payload/platform/plugins/memory/mcp/dist/tools/memory-node-exists.d.ts +28 -0
  125. package/payload/platform/plugins/memory/mcp/dist/tools/memory-node-exists.d.ts.map +1 -0
  126. package/payload/platform/plugins/memory/mcp/dist/tools/memory-node-exists.js +46 -0
  127. package/payload/platform/plugins/memory/mcp/dist/tools/memory-node-exists.js.map +1 -0
  128. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.d.ts.map +1 -1
  129. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js +26 -0
  130. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js.map +1 -1
  131. package/payload/platform/plugins/memory/mcp/vitest.config.ts +5 -4
  132. package/payload/platform/plugins/memory/references/schema-base.md +4 -6
  133. package/payload/platform/plugins/memory/skills/conversation-archive/SKILL.md +100 -116
  134. package/payload/platform/plugins/memory/skills/conversation-archive-enrich/SKILL.md +74 -24
  135. package/payload/platform/plugins/notion-import/skills/notion-import/SKILL.md +1 -1
  136. package/payload/platform/plugins/obsidian-import/skills/obsidian-import/SKILL.md +1 -1
  137. package/payload/platform/plugins/substack-import/.claude-plugin/plugin.json +8 -0
  138. package/payload/platform/plugins/substack-import/PLUGIN.md +34 -0
  139. package/payload/platform/plugins/substack-import/skills/substack-import/SKILL.md +182 -0
  140. package/payload/platform/plugins/substack-import/skills/substack-import/references/archive-shape.md +68 -0
  141. package/payload/platform/plugins/substack-import/skills/substack-import/references/attachments.md +72 -0
  142. package/payload/platform/plugins/substack-import/skills/substack-import/references/engagement.md +61 -0
  143. package/payload/platform/plugins/substack-import/skills/substack-import/references/posts.md +80 -0
  144. package/payload/platform/plugins/substack-import/skills/substack-import/references/subscribers.md +74 -0
  145. package/payload/platform/plugins/whatsapp/PLUGIN.md +1 -1
  146. package/payload/platform/plugins/whatsapp/references/channels-whatsapp.md +3 -4
  147. package/payload/platform/plugins/x-import/skills/x-import/SKILL.md +1 -1
  148. package/payload/platform/templates/specialists/agents/archive-ingest-operator.md +45 -0
  149. package/payload/platform/templates/specialists/agents/database-operator.md +5 -17
  150. package/payload/platform/templates/specialists/agents/librarian.md +1 -1
@@ -1,97 +1,181 @@
1
- import { describe, it, expect } from "vitest";
2
- import { readFileSync } from "node:fs";
1
+ /**
2
+ * Task 433 the per-chunk derive step accepts agent-produced claims
3
+ * and emits cypher proposals; it no longer calls Haiku, no longer paginates.
4
+ * `conversation-archive-list-chunks` covers the page-walk side.
5
+ */
6
+ import { describe, it, expect, beforeEach, afterEach, vi } from "vitest";
7
+ import { mkdtempSync, mkdirSync, rmSync, writeFileSync, readFileSync, } from "node:fs";
8
+ import { tmpdir } from "node:os";
3
9
  import { dirname, resolve } from "node:path";
4
10
  import { fileURLToPath } from "node:url";
11
+ const mockSession = {
12
+ run: vi.fn(),
13
+ close: vi.fn().mockResolvedValue(undefined),
14
+ };
15
+ vi.mock("../../lib/neo4j.js", () => ({
16
+ getSession: () => mockSession,
17
+ }));
18
+ vi.mock("../../lib/log-ingest.js", () => ({
19
+ withWriteEvent: async (_info, body) => body(),
20
+ }));
5
21
  const __filename = fileURLToPath(import.meta.url);
6
22
  const __dirname = dirname(__filename);
7
23
  const PACKAGE_ROOT = resolve(__dirname, "..", "..", "..");
8
- const TOOL_PATH = resolve(PACKAGE_ROOT, "src/tools/conversation-archive-derive-insights.ts");
9
24
  const INDEX_PATH = resolve(PACKAGE_ROOT, "src/index.ts");
10
- function readTool() {
11
- return readFileSync(TOOL_PATH, "utf-8");
12
- }
13
- function readIndex() {
14
- return readFileSync(INDEX_PATH, "utf-8");
15
- }
16
- describe("conversation-archive-derive-insights tool", () => {
17
- it("runs on Claude Code OAuth (Haiku), not the API key", () => {
18
- const src = readTool();
19
- expect(src).toMatch(/from\s+["'][^"']*oauth-llm\b/);
20
- expect(src).toContain("callOauthLlm");
21
- expect(src).toContain("HAIKU_MODEL");
22
- });
23
- it("paginates the chunk walk via chunkOffset + chunkLimit", () => {
24
- const src = readTool();
25
- expect(src).toContain("chunkOffset");
26
- expect(src).toContain("chunkLimit");
27
- });
28
- it("walks :Section chunks of a named :ConversationArchive parent (Task 397)", () => {
29
- const src = readTool();
30
- expect(src).toContain(":ConversationArchive");
31
- expect(src).toContain("conversationIdentity");
32
- expect(src).toContain(":HAS_SECTION");
33
- });
34
- it("emits proposals with chunkElementId + kind + contentHash + evidenceSnippet + mergeCypher", () => {
35
- const src = readTool();
36
- expect(src).toContain("chunkElementId");
37
- expect(src).toContain("contentHash");
38
- expect(src).toContain("evidenceSnippet");
39
- expect(src).toContain("mergeCypher");
40
- expect(src).toContain("mergeParams");
25
+ const PLUGIN_PATH = resolve(PACKAGE_ROOT, "..", "PLUGIN.md");
26
+ const TOOL_PATH = resolve(PACKAGE_ROOT, "src/tools/conversation-archive-derive-insights.ts");
27
+ const LIST_TOOL_PATH = resolve(PACKAGE_ROOT, "src/tools/conversation-archive-list-chunks.ts");
28
+ describe("conversation-archive-derive-insights — registration", () => {
29
+ it("registers both tools with boot log lines", () => {
30
+ const idx = readFileSync(INDEX_PATH, "utf-8");
31
+ expect(idx).toContain('[memory-mcp] registered tool=conversation-archive-list-chunks');
32
+ expect(idx).toContain('[memory-mcp] registered tool=conversation-archive-derive-insights');
41
33
  });
42
- it("contentHash is sha256 over kind + payload (deterministic re-run collapse)", () => {
43
- const src = readTool();
44
- expect(src).toContain('"sha256"');
34
+ it("lists both tools in PLUGIN.md tools array", () => {
35
+ const plugin = readFileSync(PLUGIN_PATH, "utf-8");
36
+ expect(plugin).toMatch(/-\s+name:\s+conversation-archive-list-chunks\b/);
37
+ expect(plugin).toMatch(/-\s+name:\s+conversation-archive-derive-insights\b/);
45
38
  });
46
- it("per-kind MERGE Cyphers cover mention, task, preference, observed-relationship", () => {
47
- const src = readTool();
48
- expect(src).toContain(":MENTIONS");
49
- expect(src).toContain(":OBSERVED_IN");
50
- expect(src).toContain(":REFERENCES");
51
- expect(src).toContain(":RELATED_TO");
39
+ it("derive-insights no longer references Haiku or OAuth", () => {
40
+ const src = readFileSync(TOOL_PATH, "utf-8");
41
+ expect(src).not.toMatch(/callOauthLlm/);
42
+ expect(src).not.toMatch(/deriveClaimsForChunk/);
43
+ expect(src).not.toMatch(/HAIKU_TIMEOUT_MS/);
52
44
  });
53
- it("stamps createdByTool on every wired write so verification cypher can count them", () => {
54
- const src = readTool();
55
- // The cypher writes `createdByTool = 'conversation-archive-derive-insights'`
56
- // as a SET clause inside the MERGE templates for each of the four kinds.
57
- expect(src).toMatch(/createdByTool\s*=\s*'conversation-archive-derive-insights'/);
45
+ it("derive-insights accepts agent-produced claims as its core input", () => {
46
+ const src = readFileSync(TOOL_PATH, "utf-8");
47
+ expect(src).toMatch(/claims:\s*AgentClaim\[\]/);
48
+ expect(src).toMatch(/chunkElementId:\s*string/);
58
49
  });
59
- it("limits evidenceSnippet to 80 characters per spec", () => {
60
- const src = readTool();
61
- expect(src).toMatch(/EVIDENCE_SNIPPET_MAX_CHARS\s*=\s*80/);
50
+ it("list-chunks is a separate read-only tool returning chunk bodies", () => {
51
+ const src = readFileSync(LIST_TOOL_PATH, "utf-8");
52
+ expect(src).toMatch(/conversationArchiveListChunks/);
53
+ expect(src).toMatch(/chunks:\s*ChunkPageRow\[\]/);
54
+ expect(src).not.toMatch(/proposalsRemaining/);
62
55
  });
63
- it("registered in memory-mcp index.ts with boot log line", () => {
64
- const idx = readIndex();
65
- expect(idx).toContain("conversation-archive-derive-insights");
66
- expect(idx).toContain("[memory-mcp] registered tool=conversation-archive-derive-insights");
56
+ });
57
+ describe("conversation-archive-derive-insights runtime", () => {
58
+ let scratchDir;
59
+ let origPlatformRoot;
60
+ let conversationArchiveDeriveInsights;
61
+ beforeEach(async () => {
62
+ scratchDir = mkdtempSync(resolve(tmpdir(), "derive-test-"));
63
+ origPlatformRoot = process.env.PLATFORM_ROOT;
64
+ process.env.PLATFORM_ROOT = resolve(scratchDir, "platform");
65
+ mockSession.run.mockReset();
66
+ mockSession.close.mockClear();
67
+ vi.resetModules();
68
+ const mod = await import("../conversation-archive-derive-insights.js");
69
+ conversationArchiveDeriveInsights = mod.conversationArchiveDeriveInsights;
67
70
  });
68
- it("declares confidence-floor instruction in the system prompt, not as a numeric post-filter", () => {
69
- const src = readTool();
70
- // The doctrine: tell Haiku to omit hedged claims, do NOT trust a model-emitted
71
- // numeric confidence (uncalibrated). The system prompt carries the instruction.
72
- expect(src).toMatch(/hedge|defend|would not say|courtroom/i);
71
+ afterEach(() => {
72
+ if (origPlatformRoot === undefined)
73
+ delete process.env.PLATFORM_ROOT;
74
+ else
75
+ process.env.PLATFORM_ROOT = origPlatformRoot;
76
+ rmSync(scratchDir, { recursive: true, force: true });
73
77
  });
74
- it("loud-fails when the operator names a non-existent archive (no silent fallback)", () => {
75
- const src = readTool();
76
- expect(src).toMatch(/archive-not-found|no archive matched/i);
78
+ it("LOUD-FAILs when chunkElementId is not a :Section of the named archive", async () => {
79
+ mockSession.run.mockResolvedValueOnce({ records: [] });
80
+ await expect(conversationArchiveDeriveInsights({
81
+ accountId: "acct",
82
+ archiveElementId: "4:ARCH:1",
83
+ chunkElementId: "4:CHUNK:99",
84
+ claims: [],
85
+ })).rejects.toThrow(/chunk-not-in-archive/);
77
86
  });
78
- // durable rejection memory is wired into the same walk; the
79
- // per-chunk log line must carry `rejections-filtered=` so operators can grep
80
- // server.log and prove the filter ran. Field absence == filter not wired.
81
- it("per-chunk log carries rejections-filtered= field", () => {
82
- const src = readTool();
83
- expect(src).toContain("rejections-filtered=");
87
+ it("returns proposals for a valid mention claim", async () => {
88
+ mockSession.run.mockResolvedValueOnce({
89
+ records: [{ get: (k) => (k === "eid" ? "4:CHUNK:1" : null) }],
90
+ });
91
+ const result = await conversationArchiveDeriveInsights({
92
+ accountId: "acct",
93
+ archiveElementId: "4:ARCH:1",
94
+ chunkElementId: "4:CHUNK:1",
95
+ claims: [
96
+ {
97
+ kind: "mention",
98
+ evidenceSnippet: "spoke to Adam yesterday",
99
+ subject: "Adam Mackay",
100
+ object: null,
101
+ payload: {},
102
+ },
103
+ ],
104
+ });
105
+ expect(result.proposals).toHaveLength(1);
106
+ expect(result.proposals[0].kind).toBe("mention");
107
+ expect(result.proposals[0].chunkElementId).toBe("4:CHUNK:1");
108
+ expect(result.proposals[0].disambiguation?.needsResolution[0]?.displayName).toBe("Adam Mackay");
109
+ expect(result.proposals[0].mergeCypher).toMatch(/MERGE \(c\)-\[m:MENTIONS/);
110
+ expect(result.invalidClaims).toBe(0);
84
111
  });
85
- it("loads rejections once per page via loadRejections helper", () => {
86
- const src = readTool();
87
- expect(src).toMatch(/loadRejections\(accountId\)/);
88
- expect(src).toMatch(/rejectionKey\(/);
112
+ it("drops claims that lack required per-kind fields", async () => {
113
+ mockSession.run.mockResolvedValueOnce({
114
+ records: [{ get: (k) => (k === "eid" ? "4:CHUNK:1" : null) }],
115
+ });
116
+ const result = await conversationArchiveDeriveInsights({
117
+ accountId: "acct",
118
+ archiveElementId: "4:ARCH:1",
119
+ chunkElementId: "4:CHUNK:1",
120
+ claims: [
121
+ // missing subject — invalid mention
122
+ { kind: "mention", evidenceSnippet: "abc", subject: "", object: null, payload: {} },
123
+ // missing taskTitle — invalid task
124
+ { kind: "task", evidenceSnippet: "abc", subject: null, object: null, payload: {} },
125
+ // valid preference
126
+ {
127
+ kind: "preference",
128
+ evidenceSnippet: "only meets on Tuesdays",
129
+ subject: null,
130
+ object: null,
131
+ payload: {
132
+ preferenceCategory: "meeting",
133
+ preferenceKey: "day-of-week",
134
+ preferenceValue: "Tuesday",
135
+ },
136
+ },
137
+ ],
138
+ });
139
+ expect(result.proposals).toHaveLength(1);
140
+ expect(result.proposals[0].kind).toBe("preference");
141
+ expect(result.invalidClaims).toBe(2);
89
142
  });
90
- it("exports rejectionsJsonlPath / rejectionKey / loadRejections for the rejection tool", () => {
91
- const src = readTool();
92
- expect(src).toMatch(/export function rejectionsJsonlPath/);
93
- expect(src).toMatch(/export function rejectionKey/);
94
- expect(src).toMatch(/export function loadRejections/);
143
+ it("filters proposals matching a recorded rejection (chunkElementId, kind, contentHash)", async () => {
144
+ // Archive membership check passes.
145
+ mockSession.run.mockResolvedValueOnce({
146
+ records: [{ get: (k) => (k === "eid" ? "4:CHUNK:1" : null) }],
147
+ });
148
+ // Pre-write a rejection sidecar matching what the next mention claim will produce.
149
+ // The contentHash is deterministic on (kind, subject, evidenceSnippet).
150
+ const { rejectionsJsonlPath } = await import("../conversation-archive-derive-insights.js");
151
+ const jsonlPath = rejectionsJsonlPath("acct");
152
+ mkdirSync(dirname(jsonlPath), { recursive: true });
153
+ // Compute contentHash the same way the tool does.
154
+ const { createHash } = await import("node:crypto");
155
+ const h = createHash("sha256");
156
+ h.update("mention");
157
+ h.update(" ");
158
+ h.update("Adam Mackay");
159
+ h.update(" ");
160
+ h.update("spoke to Adam yesterday");
161
+ const contentHash = h.digest("hex");
162
+ writeFileSync(jsonlPath, `${JSON.stringify({ chunkElementId: "4:CHUNK:1", kind: "mention", contentHash })}\n`);
163
+ const result = await conversationArchiveDeriveInsights({
164
+ accountId: "acct",
165
+ archiveElementId: "4:ARCH:1",
166
+ chunkElementId: "4:CHUNK:1",
167
+ claims: [
168
+ {
169
+ kind: "mention",
170
+ evidenceSnippet: "spoke to Adam yesterday",
171
+ subject: "Adam Mackay",
172
+ object: null,
173
+ payload: {},
174
+ },
175
+ ],
176
+ });
177
+ expect(result.proposals).toHaveLength(0);
178
+ expect(result.rejectionsFiltered).toBe(1);
95
179
  });
96
180
  });
97
181
  //# sourceMappingURL=conversation-archive-derive-insights.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-archive-derive-insights.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/conversation-archive-derive-insights.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-archive-derive-insights.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/conversation-archive-derive-insights.test.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,7 @@ describe("conversation-archive-enrich-rejection tool", () => {
54
54
  });
55
55
  it("listed in PLUGIN.md tools section", () => {
56
56
  const plugin = readFileSync(PLUGIN_PATH, "utf-8");
57
- expect(plugin).toMatch(/-\s+conversation-archive-enrich-rejection/);
57
+ expect(plugin).toMatch(/-\s+name:\s+conversation-archive-enrich-rejection\b/);
58
58
  });
59
59
  });
60
60
  describe("conversation-archive-enrich-rejection — runtime", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-archive-enrich-rejection.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/conversation-archive-enrich-rejection.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EACL,YAAY,EACZ,WAAW,EACX,SAAS,EACT,MAAM,EACN,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,kCAAkC,EAAE,MAAM,6CAA6C,CAAC;AACjG,OAAO,EACL,cAAc,EACd,YAAY,EACZ,mBAAmB,GACpB,MAAM,4CAA4C,CAAC;AAEpD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1D,MAAM,SAAS,GAAG,OAAO,CACvB,YAAY,EACZ,oDAAoD,CACrD,CAAC;AACF,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;AACzD,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AAE7D,SAAS,QAAQ;IACf,OAAO,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;IAC1D,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uGAAuG,EAAE,GAAG,EAAE;QAC/G,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;QACjE,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;QAC/D,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,oEAAoE,CACrE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;IAC/D,IAAI,UAAkB,CAAC;IACvB,IAAI,gBAAoC,CAAC;IAEzC,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAC/D,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC7C,yEAAyE;QACzE,iFAAiF;QACjF,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,gBAAgB,CAAC;QAC/C,CAAC;QACD,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,MAAM,GAAG;YACb,SAAS,EAAE,eAAe;YAC1B,gBAAgB,EAAE,aAAa;YAC/B,cAAc,EAAE,WAAW;YAC3B,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,UAAU;SACxB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,kCAAkC,CAAC;YACxD,GAAG,MAAM;YACT,IAAI,EAAE,QAAiB;SACxB,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpC,MAAM,WAAW,GAAG,MAAM,kCAAkC,CAAC;YAC3D,GAAG,MAAM;YACT,IAAI,EAAE,QAAiB;SACxB,CAAC,CAAC;QACH,wCAAwC;QACxC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAG,MAAM,kCAAkC,CAAC;YACtD,GAAG,MAAM;YACT,IAAI,EAAE,MAAe;SACtB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAElC,MAAM,WAAW,GAAG,MAAM,kCAAkC,CAAC;YAC3D,GAAG,MAAM;YACT,IAAI,EAAE,MAAe;SACtB,CAAC,CAAC;QACH,gDAAgD;QAChD,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,wEAAwE;QACxE,yEAAyE;QACzE,wEAAwE;QACxE,MAAM,SAAS,GAAG,cAAc,CAAC;QACjC,MAAM,IAAI,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC5C,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1B,gBAAgB,EAAE,eAAe;YACjC,cAAc,EAAE,aAAa;YAC7B,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,MAAM;YACnB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;QACH,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,kCAAkC,CAAC;YACtD,SAAS;YACT,gBAAgB,EAAE,eAAe;YACjC,cAAc,EAAE,aAAa;YAC7B,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,MAAM;YACnB,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,iDAAiD;QACjD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,kDAAkD;QAClD,MAAM,CACJ,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,CAC3B,YAAY,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,CAC/C,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,MAAM,GAAG;YACb,SAAS,EAAE,aAAa;YACxB,gBAAgB,EAAE,aAAa;YAC/B,cAAc,EAAE,YAAY;YAC5B,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,MAAM;SACpB,CAAC;QACF,MAAM,kCAAkC,CAAC;YACvC,GAAG,MAAM;YACT,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,CACJ,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAC9E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,SAAS,GAAG,kBAAkB,CAAC;QACrC,MAAM,IAAI,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC5C,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,aAAa,CACX,IAAI,EACJ;YACE,+DAA+D;YAC/D,0BAA0B;YAC1B,gEAAgE;SACjE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CACpB,CAAC;QACF,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3D,OAAO,CAAC,MAAM,CAAC,KAA2C,GAAG,CAAC,CAAS,EAAE,EAAE;YAC1E,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QACF,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;QACnC,CAAC;QACD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"conversation-archive-enrich-rejection.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/conversation-archive-enrich-rejection.test.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,8 @@ describe("ConversationSource enum", () => {
24
24
  "meeting-minutes",
25
25
  "imessage",
26
26
  "slack",
27
+ "x-dm",
28
+ "email",
27
29
  "other",
28
30
  ];
29
31
  expect([...CONVERSATION_SOURCES].sort()).toEqual(expected.sort());
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-normalisers-source-agnosticism.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/conversation-normalisers-source-agnosticism.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-normalisers-source-agnosticism.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/conversation-normalisers-source-agnosticism.test.ts"],"names":[],"mappings":"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"}
@@ -27,12 +27,14 @@ describe("memoryCompiledTruthHistory", () => {
27
27
  revisionId: "00000000-0000-0000-0000-000000000002",
28
28
  truth: "Newer truth",
29
29
  writtenAt: "2026-05-25T10:00:00Z",
30
+ twin: "compiledTruth",
30
31
  source: "rewriter",
31
32
  }),
32
33
  row({
33
34
  revisionId: "00000000-0000-0000-0000-000000000001",
34
35
  truth: "Older truth",
35
36
  writtenAt: "2026-05-20T10:00:00Z",
37
+ twin: "compiledTruth",
36
38
  source: "rewriter",
37
39
  }),
38
40
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"memory-compiled-truth-history.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/memory-compiled-truth-history.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-compiled-truth-history.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/memory-compiled-truth-history.test.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,12 @@ describe("memory-delete — emit wrapper wired", () => {
25
25
  vi.mocked(trashNode).mockReset();
26
26
  vi.mocked(verifyFilterToken).mockReset();
27
27
  mockSession.run.mockReset();
28
+ // Task 443 — memoryDelete now resolves the target's labels before
29
+ // calling trashNode. Return an empty label list so the gate passes
30
+ // and the existing happy/error paths still flow through trashNode.
31
+ mockSession.run.mockResolvedValue({
32
+ records: [{ get: (k) => (k === "labels" ? [] : undefined) }],
33
+ });
28
34
  });
29
35
  afterEach(() => emit.restore());
30
36
  it("emits result=ok line on happy path (no filter token)", async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"memory-delete-emit.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/memory-delete-emit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-delete-emit.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/memory-delete-emit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=memory-delete-reserved-label.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-delete-reserved-label.test.d.ts","sourceRoot":"","sources":["../../../src/tools/__tests__/memory-delete-reserved-label.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,141 @@
1
+ // Task 443 — memory-delete refuses agent-origin deletes targeting
2
+ // the per-account root `:LocalBusiness`. The MCP tool handler never
3
+ // forwards `origin`, so every agent call is non-system.
4
+ import { describe, it, expect, beforeEach, afterEach, vi } from "vitest";
5
+ import { setupEmitCapture } from "./_helpers/emit-capture.js";
6
+ const mockSession = {
7
+ run: vi.fn(),
8
+ close: vi.fn().mockResolvedValue(undefined),
9
+ };
10
+ vi.mock("../../lib/neo4j.js", () => ({
11
+ getSession: () => mockSession,
12
+ }));
13
+ vi.mock("../../../../../../lib/graph-trash/dist/index.js", () => ({
14
+ trashNode: vi.fn(),
15
+ }));
16
+ vi.mock("../../lib/filter-token.js", () => ({
17
+ verifyFilterToken: vi.fn(),
18
+ filterTokenFingerprint: () => "fp",
19
+ }));
20
+ vi.mock("../memory-find-candidates.js", () => ({
21
+ reverifyCandidate: vi.fn(),
22
+ }));
23
+ import { memoryDelete } from "../memory-delete.js";
24
+ import { trashNode } from "../../../../../../lib/graph-trash/dist/index.js";
25
+ const trashNodeMock = vi.mocked(trashNode);
26
+ const ACCOUNT_ID = "acct-1";
27
+ const LOCAL_BUSINESS_EID = "4:eid:lb";
28
+ beforeEach(() => {
29
+ trashNodeMock.mockReset();
30
+ mockSession.run.mockReset();
31
+ });
32
+ afterEach(() => {
33
+ vi.restoreAllMocks();
34
+ });
35
+ function stageLabelQuery(labels) {
36
+ mockSession.run.mockImplementation(async (cypher) => {
37
+ if (cypher.includes("RETURN labels(n) AS labels")) {
38
+ return {
39
+ records: [
40
+ { get: (k) => (k === "labels" ? labels : undefined) },
41
+ ],
42
+ };
43
+ }
44
+ throw new Error(`unexpected cypher: ${cypher.slice(0, 80)}`);
45
+ });
46
+ }
47
+ describe("memory-delete reserved-label gate (Task 443)", () => {
48
+ it("(a) system origin deletes :LocalBusiness → trashNode runs (installer reset path)", async () => {
49
+ stageLabelQuery(["LocalBusiness"]);
50
+ trashNodeMock.mockResolvedValue({
51
+ trashed: true,
52
+ alreadyTrashed: false,
53
+ nodeId: LOCAL_BUSINESS_EID,
54
+ labels: ["LocalBusiness"],
55
+ trashedAt: "2026-05-26T00:00:00Z",
56
+ originalKeys: {},
57
+ });
58
+ const emit = setupEmitCapture();
59
+ try {
60
+ const result = await memoryDelete({
61
+ accountId: ACCOUNT_ID,
62
+ elementId: LOCAL_BUSINESS_EID,
63
+ origin: "system",
64
+ });
65
+ expect(trashNodeMock).toHaveBeenCalledTimes(1);
66
+ expect(result.labels).toContain("LocalBusiness");
67
+ }
68
+ finally {
69
+ emit.restore();
70
+ }
71
+ });
72
+ it("(b) non-system origin deletes :LocalBusiness directly → rejected with literal message, no mutation", async () => {
73
+ stageLabelQuery(["LocalBusiness"]);
74
+ const emit = setupEmitCapture();
75
+ try {
76
+ await expect(memoryDelete({ accountId: ACCOUNT_ID, elementId: LOCAL_BUSINESS_EID })).rejects.toThrow(/Delete blocked \(reserved-label\): LocalBusiness is the per-account root/);
77
+ expect(trashNodeMock).not.toHaveBeenCalled();
78
+ }
79
+ finally {
80
+ emit.restore();
81
+ }
82
+ });
83
+ it("(c) cascade descendant carrying :LocalBusiness is skipped; adjacent KnowledgeDocument delete proceeds", async () => {
84
+ const PARENT_EID = "4:eid:doc";
85
+ const NORMAL_SECTION = "4:eid:section-normal";
86
+ const POISONED_SECTION = "4:eid:section-localbusiness";
87
+ let runIdx = 0;
88
+ mockSession.run.mockImplementation(async (cypher) => {
89
+ runIdx++;
90
+ // 1st query: pre-mutation label lookup for the parent
91
+ if (cypher.includes("RETURN labels(n) AS labels")) {
92
+ return {
93
+ records: [
94
+ { get: (k) => (k === "labels" ? ["KnowledgeDocument"] : undefined) },
95
+ ],
96
+ };
97
+ }
98
+ // 2nd query: cascade descendant lookup
99
+ if (cypher.includes("HAS_SECTION")) {
100
+ const sections = [
101
+ { eid: NORMAL_SECTION, labels: ["Section"] },
102
+ { eid: POISONED_SECTION, labels: ["Section", "LocalBusiness"] },
103
+ ];
104
+ return {
105
+ records: [
106
+ {
107
+ get: (k) => k === "sections" ? sections : k === "chunks" ? [] : undefined,
108
+ },
109
+ ],
110
+ };
111
+ }
112
+ throw new Error(`unexpected cypher: ${cypher.slice(0, 80)}`);
113
+ });
114
+ trashNodeMock.mockImplementation(async ({ elementId }) => ({
115
+ trashed: true,
116
+ alreadyTrashed: false,
117
+ nodeId: elementId,
118
+ labels: elementId === PARENT_EID ? ["KnowledgeDocument"] : ["Section"],
119
+ trashedAt: "2026-05-26T00:00:00Z",
120
+ originalKeys: {},
121
+ }));
122
+ const emit = setupEmitCapture();
123
+ try {
124
+ const result = await memoryDelete({
125
+ accountId: ACCOUNT_ID,
126
+ elementId: PARENT_EID,
127
+ });
128
+ // Parent + normal section trashed; poisoned section skipped.
129
+ expect(trashNodeMock).toHaveBeenCalledTimes(2);
130
+ const trashedIds = trashNodeMock.mock.calls.map((c) => c[0].elementId);
131
+ expect(trashedIds).toContain(PARENT_EID);
132
+ expect(trashedIds).toContain(NORMAL_SECTION);
133
+ expect(trashedIds).not.toContain(POISONED_SECTION);
134
+ expect(result.cascade.sections).toBe(1);
135
+ }
136
+ finally {
137
+ emit.restore();
138
+ }
139
+ });
140
+ });
141
+ //# sourceMappingURL=memory-delete-reserved-label.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-delete-reserved-label.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/memory-delete-reserved-label.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=memory-empty-trash-reserved-label.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-empty-trash-reserved-label.test.d.ts","sourceRoot":"","sources":["../../../src/tools/__tests__/memory-empty-trash-reserved-label.test.ts"],"names":[],"mappings":""}