FN-8932: add durable memory consolidation agent
Add a provisioned memory agent that consolidates durable recall material through idempotent heartbeat ticks.
- Provision and configure the durable memory agent with an enabled workflow setting.
- Add consolidation adapters, material collection, recall graph references, and run-audit metadata.
- Expose the setting in the dashboard and document the memory-agent behavior.
- Cover provisioning, heartbeat, consolidation, audit, and recall graph behavior with tests.
Files changed:
.changeset/fn-8932-memory-agent.md | 7 ++
AGENTS.md | 1 +
docs/agents.md | 10 ++
docs/settings-reference.md | 1 +
docs/storage.md | 2 +-
.../memoryConsolidationEnabled-default.test.ts | 22 ++++
.../memory-recall-graph-cross-reference.pg.test.ts | 115 +++++++++++++++++++++
.../__tests__/memory-agent-provisioning.test.ts | 31 ++++++
packages/core/src/agents/agent-store.ts | 85 +++++++++++++++
packages/core/src/agents/memory-agent-defaults.ts | 30 ++++++
packages/core/src/index.gate.ts | 2 +
packages/core/src/index.ts | 9 ++
packages/core/src/memory/recall/index.ts | 1 +
packages/core/src/memory/recall/recall-dedup.ts | 3 +
packages/core/src/memory/recall/recall-store.ts | 35 ++++++-
.../src/workflows/builtin-workflow-settings.ts | 14 +++
.../src/workflows/workflow-settings-resolver.ts | 12 ++-
.../__tests__/WorkflowSettingsPanel.test.tsx | 8 ++
.../__tests__/workflow-setting-display.test.ts | 6 ++
.../app/components/workflow-setting-display.ts | 5 +
.../memory-consolidation-heartbeat-hook.test.ts | 92 +++++++++++++++++
.../__tests__/memory-consolidation-ports.test.ts | 34 ++++++
...memory-consolidation-run-audit-metadata.test.ts | 19 ++++
.../__tests__/memory-consolidation-tick.test.ts | 62 +++++++++++
packages/engine/src/agent-heartbeat.ts | 55 ++++++++++
packages/engine/src/index.ts | 1 +
packages/engine/src/memory/index.ts | 3 +
.../src/memory/memory-consolidation-adapters.ts | 29 ++++++
.../src/memory/memory-consolidation-material.ts | 22 ++++
packages/engine/src/memory/memory-consolidation.ts | 41 ++++++++
packages/engine/src/util/run-audit.ts | 10 ++
31 files changed, 764 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-8932
Fusion-Task-Lineage: b4fdec50-1f42-4120-af17-0b6f3a94586e
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>