The dataset you prepared is used in layers.
Think of it like this:
Layer 1: Historical source data
Layer 2: Normalized observations
Layer 3: Memory writer
Layer 4: WorkflowMemory DB records
Layer 5: Memory retriever
Layer 6: Safe agent context
Layer 7: Feedback/update loop
These files are the raw-but-safe history:
historical-claims.json
human-corrections.json
prior-review-decisions.json
agent-action-history.json
They summarize past workflow events. For example, historical-claims.json stores old claim outcomes and explicitly says memory is not future claim evidence.
memory-observations.json converts all different history types into one common format:
sourceType
entityType
entityId
fieldPath
riskLevel
recommendedMemoryKind
summary
safeUse
mustNotDo
evidenceJson
This is the clean input for the memory writer. Your file already has 10 observations with this shape.
Day 3 should build something like:
createWorkflowMemoryFromObservation(observation)
It reads:
history/memory-observations.json
Then creates DB memory records.
Pseudo-flow:
for each observation:
if shouldCreateMemory is false:
skip
create WorkflowMemory:
kind = recommendedMemoryKind
status = ACTIVE
riskLevel = observation.riskLevel
summary = observation.summary
safeUse = observation.safeUse
mustNotDo = observation.mustNotDo
entityType = observation.entityType
entityId = observation.entityId
fieldPath = observation.fieldPath
tags = observation.tags
evidenceJson = observation.evidenceJson
This maps directly to your Prisma WorkflowMemory model, which already has fields like kind, status, riskLevel, summary, safeUse, mustNotDo, entityType, entityId, fieldPath, tags, and evidenceJson.