From 4c6a78006d74263e9e0273ffa313c0b65ab8fa37 Mon Sep 17 00:00:00 2001 From: ZenchantLive Date: Sun, 1 Mar 2026 16:55:07 -0800 Subject: [PATCH] docs(memory): require provenance links and evidence metadata in workflow --- help/memory/README.txt | 1 + help/memory/memory_fabric_workflow.txt | 6 ++++++ help/memory/query_and_injection.txt | 11 +++++++++++ help/memory/schema_and_noise_budget.txt | 3 +++ 4 files changed, 21 insertions(+) diff --git a/help/memory/README.txt b/help/memory/README.txt index 962197a..9f1f107 100644 --- a/help/memory/README.txt +++ b/help/memory/README.txt @@ -12,3 +12,4 @@ Fast path for agents: 1) Read memory_fabric_workflow.txt 2) Run query_and_injection.txt command sequence at task start 3) Follow schema_and_noise_budget.txt before creating new memory nodes +4) Verify provenance links on selected memory nodes (`bd show` + `bd dep list`) diff --git a/help/memory/memory_fabric_workflow.txt b/help/memory/memory_fabric_workflow.txt index 40a4e84..01214ab 100644 --- a/help/memory/memory_fabric_workflow.txt +++ b/help/memory/memory_fabric_workflow.txt @@ -29,6 +29,11 @@ Required lifecycle: 3) Index memory node - Relate canonical node to exactly one primary domain anchor bd dep relate +- Relate canonical node to 2-5 source beads that justify the memory + bd dep relate +- Record provenance metadata: + - evidence_ids: comma-separated source bead IDs + - plan_refs: comma-separated plan file paths 4) Inject memory into execution - At task start, query by domain and attach relevant nodes via relates_to @@ -44,3 +49,4 @@ Non-negotiables: - No markdown-only memory source of truth - No blanket blocker links for all memories - Evidence before completion claims +- Every canonical memory must have source-bead provenance links diff --git a/help/memory/query_and_injection.txt b/help/memory/query_and_injection.txt index 431b890..d4fe1d8 100644 --- a/help/memory/query_and_injection.txt +++ b/help/memory/query_and_injection.txt @@ -11,6 +11,12 @@ Step 2: Query canonical memory for that domain bd query "label=memory AND label=mem-canonical AND label= AND status=closed" --sort updated --reverse ``` +Step 2b: Inspect provenance on candidate memories (required for fresh agents) +```bash +bd show +bd dep list +``` + Step 3: Query hard constraints subset ```bash bd query "label=memory AND label=mem-canonical AND label=mem-hard AND label= AND status=closed" --sort updated --reverse @@ -33,6 +39,11 @@ Step 6: Record acknowledgement bd update --notes "Memory injection: related ; hard contracts ." ``` +Step 7: Preserve provenance in active work notes +```bash +bd update --append-notes "Memory provenance checked via bd show/dep list for ." +``` + Expected response patterns: - bd query: list of IDs + labels + titles - bd dep relate: relation confirmation diff --git a/help/memory/schema_and_noise_budget.txt b/help/memory/schema_and_noise_budget.txt index 3d643e7..d362a53 100644 --- a/help/memory/schema_and_noise_budget.txt +++ b/help/memory/schema_and_noise_budget.txt @@ -28,6 +28,8 @@ Required metadata JSON keys: - owner - supersedes - superseded_by +- evidence_ids +- plan_refs Edge rules: 1) Anchor <-> Canonical memory @@ -47,6 +49,7 @@ Noise budget limits: - Per active task: 3-7 related memory nodes - Per active task: 0-2 blocker contracts - Per canonical memory: 1 primary anchor domain +- Per canonical memory: 2-5 source-bead provenance links - Promote incident/workaround memory only after repetition evidence Promotion policy: