Inspiration

Financial advice runs on memory: what a client said in March, what a colleague warned about in June, how the firm handles a concentrated position. That memory is scattered across meetings, inboxes and CRMs. AI assistants built on search make it worse in a quiet way. They return text that looks similar to the question, so a March note ("retire at 60") and a September email ("retire at 58") come back side by side, with nothing to say which is current. We asked: can an AI agent remember like a veteran advisor, not just search?

What it does

Cognitive Memory Fabric (CMF) turns every meeting, email and CRM note into structured, brain-inspired memories:

  • Episodic: what happened, and when
  • Semantic: what we know (goals, risk profile)
  • Procedural: how things are done (firm guidelines)
  • Working: what is in play right now

Memories are linked on a timeline. When something changes, the new fact becomes current and the old one is suppressed, never erased. When an advisor asks "How should I prepare for Tanaka-san's next portfolio review?", the advisor twin returns the current goal, what changed, and what is due, with each line cited to its source meeting, email or policy. It is decision support only: the advisor decides.

How we built it

  • Ingestion: transcription and OCR, entity and event extraction, classification, chunking and embedding, and provenance tagging (source, timestamp, permissions).
  • Memory layer: the four memory types plus a temporal association graph.
  • Memory operations: salience scoring, consolidation, forgetting and correction, and context selection.
  • Immutable evidence store: original sources are never overwritten, and memories are versioned and auditable.
  • Agent: planner, memory orchestrator, tool selector and response generator, producing cited answers.
  • Evaluation: [synthetic advisor interactions over six months, benchmarked against plain RAG and AWS AgentCore Memory on questions like what is current?, what changed?, which policy applies? and where did that come from?
  • Stack: [models, database, frameworks, cloud services used]

Challenges we ran into

  • Handling change over time: deciding when a new statement supersedes an old fact versus adds to it.
  • Correcting memory without losing the audit trail that a regulated setting needs.
  • Building realistic synthetic data with known ground truth, so we could score answers objectively.
  • Measuring "memory" fairly, since a plain similarity-search baseline can look good on single-fact questions.

Usage of TriggerWare AI

Trigger watch is the best fit. It pushes new rows to a callback as they arrive, so we don’t have to keep asking whether anything has changed. The callback can start ingestion directly, so each new interaction flows into the memory pipeline as soon as it’s recorded. That keeps memory current without manual runs or a polling schedule.

Trigger poll is second. Polling checks for new rows only when asked, either on a timer or on demand. It works for a UI, such as a refresh button or a status view, and for an on-demand check. It’s less suited to driving ingestion, because new data waits until the next check and a polling loop has to run constantly.

Health check adds nothing beyond confirming the server is up. It only tells us the Triggerware server is running. It doesn’t tell us whether new rows exist or whether anything was delivered, so it can’t drive ingestion or replace the other two. It’s useful for monitoring, but it isn’t part of the data flow.

Built With

  • chatgpt
  • claude
  • triggerware
Share this project:

Updates

Submission history