# FALSIFY — 30-second demo script A tight, judge-ready narration. Total runtime ~30s of talking over one `python main.py --demo` run. Capture the terminal + the `output/graph.html` for the GIF. --- ## Setup (before recording) - Terminal with a dark theme, font large enough to read on playback. - `.env` has a working `LLM_API_KEY` (so embeddings + recall are real). - Run once beforehand to warm caches; record the second run. --- ## Beat sheet **[0:00–0:05] The hook** > "Every AI memory demo fixes *forgetting*. FALSIFY fixes something worse — an AI that confidently remembers a fact that's been **proven false**." *Run:* `python main.py --demo` **[0:05–0:12] Session 1 — the belief graph** > "We're investigating: *did Company X know about the defect before the recall?* Two hypotheses — a March QA report, and a January supplier email. A conclusion rests on that March report." *On screen:* the **BEFORE** panel — every node tagged `ALIVE` in green. **[0:12–0:20] Session 2 — one contradicting fact** > "Now one line arrives: *a forensic audit found the March report was back-dated.* Watch." *On screen:* the revision log — ``` ✗ refuted: 1 evidence node ✗ invalidated: 1 conclusion hypothesis A → ↓ superseded hypothesis B → ↑ promoted (new frontier) 🗑 forgotten: Company X knew about the defect by March 2021 ``` **[0:20–0:27] The AFTER + scoreboard** > "The March evidence is red. The conclusion built on it collapsed and was **surgically deleted** — from the graph *and* the vector store. Hypothesis B ignites as the new answer." *On screen:* the **SCOREBOARD** — ``` FALSIFY : X knew by Jan 2021 (supplier email) ← revised RAG : X knew by Mar 2021 (QA report) [STALE] ← still cites the refuted fact ``` **[0:27–0:30] The close** > "Same store, same query. FALSIFY revised its belief and the disbelief persists across sessions. Plain RAG can't. **AI revised, not forgot.**" *On screen:* open `output/graph.html` — the red refuted node, the missing orphan, the green frontier. --- ## The single most important line > **"It's not that the AI forgot where the context was — the context was *wrong*, and FALSIFY revised it."** That reframes the hackathon's "Where's My Context?" theme into FALSIFY's exact contribution. --- ## If asked "why can't RAG do this?" > "Refutation is graph traversal over typed edges — *this fact grounds that conclusion three hops away.* A vector index has no edges to walk and no truth-state to filter on. This needs a knowledge graph — which is exactly what Cognee gives us."