From c2e1aa20479c938cde8d23acfb35e8db4d50008b Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 25 Aug 2026 16:18:16 -0700 Subject: [PATCH] refactor(memory): unify provenance projection (#129532) Amp-Thread-ID: https://ampcode.com/threads/T-01a037b7-5ca3-75bc-86b8-37330b30aaf8 Co-authored-by: Amp --- src/memory/memory-artifact-provenance.ts | 27 +++++++++--------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/src/memory/memory-artifact-provenance.ts b/src/memory/memory-artifact-provenance.ts index 34d8c9edae93..32c4ac3e67fe 100644 --- a/src/memory/memory-artifact-provenance.ts +++ b/src/memory/memory-artifact-provenance.ts @@ -114,6 +114,14 @@ function normalizeStoredProvenance( return value; } +function toPublicProvenance(stored: StoredMemoryArtifactProvenance): MemoryArtifactProvenance { + return { + fileHash: stored.fileHash, + originClass: stored.originClass, + observedAt: stored.observedAt, + }; +} + export async function recordMemoryArtifactWriteProvenance(params: { workspaceDir: string; relativePath: string; @@ -188,13 +196,7 @@ export async function readMemoryArtifactProvenance(params: { return undefined; } const stored = normalizeStoredProvenance(openStore().lookup(address.storeKey), address); - return stored - ? { - fileHash: stored.fileHash, - originClass: stored.originClass, - observedAt: stored.observedAt, - } - : undefined; + return stored ? toPublicProvenance(stored) : undefined; } export async function listMemoryArtifactProvenance(params: { @@ -213,16 +215,7 @@ export async function listMemoryArtifactProvenance(params: { }; const stored = normalizeStoredProvenance(entry.value, address); return stored - ? [ - { - relativePath: stored.relativePath, - provenance: { - fileHash: stored.fileHash, - originClass: stored.originClass, - observedAt: stored.observedAt, - }, - }, - ] + ? [{ relativePath: stored.relativePath, provenance: toPublicProvenance(stored) }] : []; }); }