From 14a98056edb521402b595ac50d7cde6d0571f53e Mon Sep 17 00:00:00 2001 From: canvas-bot Date: Tue, 16 Jun 2026 21:21:52 +0400 Subject: [PATCH] fix(memory): use edge role=child (valid EA2 vocab) Probed backend's defines edge role vocabulary. Accepted: child, dispatch. Rejected: memory, observation, note, recall, vault, step, view. Switching from invalid 'memory' to valid 'child' so the edge attach actually lands without 500. --- src/lib/agentMemory.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/agentMemory.ts b/src/lib/agentMemory.ts index 0ff078f..d58a0aa 100644 --- a/src/lib/agentMemory.ts +++ b/src/lib/agentMemory.ts @@ -94,7 +94,7 @@ export const agentMemory = { body: JSON.stringify({ request_id: newRequestId(), ops: [ - { op: "create_edge", edge_coll: "defines", from: `flow/${vaultKey}`, to: `flow/${mem._key}`, role: "memory" }, + { op: "create_edge", edge_coll: "defines", from: `flow/${vaultKey}`, to: `flow/${mem._key}`, role: "child" }, ], }), signal, @@ -116,7 +116,7 @@ export const agentMemory = { if (!edgesRes.ok) return []; const edges = (await edgesRes.json())?.items || []; const memKeys = (edges as any[]) - .filter((e) => e?.role === "memory" || e?.role === "presentation") + .filter((e) => e?.role === "child" || e?.role === "presentation") .map((e) => (e._to || "").split("/").pop()) .filter(Boolean) .slice(0, cap) as string[];