Decisions change in meetings; GitHub issues keep saying what they said three weeks ago. Drift listens, remembers every decision as a knowledge graph, and posts what-changed comments on the issue itself — through a governed agent with a human approval gate.
Three real meetings run through the pipeline. Two decisions quietly changed in the third one — Drift caught both, and only both. The consistent decision stayed silent.
Transcript segments stream in. A Gemini agent with schema-locked JSON output extracts every decision, update, assignment, and question — speaker, topic, claim.
Statements land as (Person)-[:SAID]→(Statement)-[:ABOUT]→(Issue) in a FalkorDB knowledge graph. Memory compounds across meetings instead of resetting.
Each new decision is judged against the issue's full multi-hop decision history pulled with Cypher. Changed approach, owner, or deadline → conflict. Consistent progress → silence.
A conflict spawns a governed Guild.ai session: the agent drafts the comment, waits for human approval, then posts via Guild's own GitHub credential. Every step audited.
This is the actual FalkorDB graph after the three demo meetings: 4 people, 3 meetings, 4 issues, 9 statements. The red edges are SUPERSEDES — the exact moments a new decision overrode an old one.
Verbatim pipeline output from the sprint-planning meeting. The kickoff said Redis cache, Sam, Aug 10. Three meetings of memory later, Priya changed all three — and the Historian knew.
The next person who opens the issue doesn't build the wrong thing. This comment is live on mmm-demo#2.
| Decision | |
|---|---|
| Before | Use a Redis cache for transcript ingestion with Sam as owner and a target date of August 10. |
| After | Switch the cache layer to an in-memory LRU with Priya taking ownership and a new target date of August 14. |
[00:02:10] Priya: Right. So here's the call: Redis is overkill for v1 — we're going with an in-memory LRU instead. I'm taking the cache work off Sam's plate so he can help Marco, and the new target is August 14.
Kill the pipeline, restart it, ask the graph what Priya owes and when — the memory survives. That's the whole thesis: memory that compounds, motion that's accountable.
Property-graph DB (Cypher). Multi-hop decision history, full-text issue matching, SUPERSEDES lineage — queries a vector store can't answer.
Herald is a typed TypeScript agent deployed to Guild's control plane: API-triggered sessions, human-in-the-loop approval, credentialed GitHub tools, full event audit.
Schema-constrained JSON extraction and conflict judgment — zero parsing failures, deterministic pipeline behavior.
No new tool to adopt. The issue thread becomes a living changelog of every discussion that touched it.