{
  "$schema": "https://aiia.ro/spec/ai-agent-json/v1",
  "spec": "ai-agent.json/1.0 (aiia.ro)",
  "agent": {
    "name": "Total Recall — memory for agentic systems (VCN #33 deck)",
    "version": "2.0.0",
    "updated": "2026-05-20",
    "callable": false,
    "description": "A live workshop + reference deck on memory for agentic systems. 59 slides across two acts: a 24-slide live talk (the four wings of agent memory) followed by a 35-slide annex (framework internals, context-engineering deep-dive, claude-code auto-memory mechanics, the LOCOMO eval, multi-agent shared memory, the memory-poisoning attack surface, hybrid stacks, forgetting policies, an annotated reading list). 9 runnable labs span from a 90-second CLAUDE.md init to a defensive memory-poisoning red-team to a LOCOMO eval starter. 3 interactive widgets (token budget calculator, live KG explorer, framework comparator). Delivered 2026-05-20 at Frontier Tower (10th Floor Annex), San Francisco. Recursive proof of thesis: the deck itself remembers its visitors via localStorage.",
    "tagline": "Four wings. Three frameworks. Nine labs. Three widgets. One hour live; the rest is yours."
  },
  "publisher": {
    "name": "Rayyan Zahid",
    "handle": "linkedin.com/in/rayyanzahid",
    "url": "https://linkedin.com/in/rayyanzahid",
    "venue": "Immersive Commons · Floor 10 · Frontier Tower SF"
  },
  "event": {
    "name": "Vibe Coding Nights #33: Total Recall",
    "date": "2026-05-20",
    "url": "https://lu.ma/vcn-33-total-recall-memory-for-agentic-s",
    "location": "Frontier Tower, 10th Floor Annex, 995 Market St, San Francisco, CA",
    "format": "live-workshop",
    "hosts": [
      {"name": "Rayyan Zahid", "org": "Immersive Commons", "role": "facilitator + speaker"},
      {"name": "Michalis Vasileiadis", "org": "Otto / GSD2.0", "role": "facilitator"},
      {"name": "Eric Mockler", "org": "F11 Health & Longevity", "role": "facilitator"},
      {"name": "Devinder Sodhi", "org": "Frontier Tower", "role": "tower lead"}
    ]
  },
  "content": {
    "type": "presentation",
    "slides": 59,
    "license": "CC-BY-SA-4.0",
    "license_url": "https://creativecommons.org/licenses/by-sa/4.0/",
    "deep_link_pattern": "https://vcn-33-total-recall.vercel.app/#{slide_number}",
    "acts": [
      {"act": "I",   "name": "Live Talk · Four Wings",       "slides": "1-24"},
      {"act": "II",  "name": "Annex Open + Surfaces",         "slides": "25-26"},
      {"act": "III", "name": "Frameworks Deep · Zep/Letta/Mem0", "slides": "27-38"},
      {"act": "IV",  "name": "Wing I + Wing IV Deep",         "slides": "39-46"},
      {"act": "V",   "name": "Frontier · Eval / Multi-Agent / Security / Reading List", "slides": "47-56"},
      {"act": "VI",  "name": "Interactive Widgets",           "slides": "57-59"}
    ]
  },
  "labs": [
    {"slug": "claude-md",              "path": "/lab/claude-md",              "title": "Init a CLAUDE.md in 90 seconds",                "framework": "Claude Code / auto-memory", "difficulty": "trivial",     "demo_time_min": 3,  "tier": 1},
    {"slug": "mem0",                   "path": "/lab/mem0",                   "title": "Add, search, forget in 3 lines",                "framework": "Mem0",                       "difficulty": "easy",        "demo_time_min": 5,  "tier": 1},
    {"slug": "letta",                  "path": "/lab/letta",                  "title": "The three-tier memory model, live",             "framework": "Letta",                      "difficulty": "medium",      "demo_time_min": 7,  "tier": 1},
    {"slug": "zep",                    "path": "/lab/zep",                    "title": "Temporal memory — what was true tuesday",       "framework": "Zep / Graphiti",             "difficulty": "medium",      "demo_time_min": 7,  "tier": 1},
    {"slug": "langgraph-checkpointer", "path": "/lab/langgraph-checkpointer", "title": "Process resume + time-travel debug",            "framework": "LangGraph",                  "difficulty": "medium",      "demo_time_min": 8,  "tier": 2},
    {"slug": "hybrid-stack",           "path": "/lab/hybrid-stack",           "title": "Combine Mem0 + LangGraph + CLAUDE.md",          "framework": "hybrid",                     "difficulty": "medium-hard", "demo_time_min": 12, "tier": 2},
    {"slug": "memory-poison",          "path": "/lab/memory-poison",          "title": "Defensive red-team: implant a false memory",    "framework": "Mem0 (defense)",             "difficulty": "medium",      "demo_time_min": 10, "tier": 3},
    {"slug": "graphiti-standalone",    "path": "/lab/graphiti-standalone",    "title": "Run the graph backend without Zep Cloud",       "framework": "Graphiti OSS",               "difficulty": "medium-hard", "demo_time_min": 15, "tier": 3},
    {"slug": "locomo-eval",            "path": "/lab/locomo-eval",            "title": "Eval your memory layer with LOCOMO",            "framework": "eval",                       "difficulty": "hard",        "demo_time_min": "take-home", "tier": 3}
  ],
  "widgets": [
    {"slug": "token-budget", "path": "/widgets/token-budget", "title": "Token budget calculator",  "intent": "see what fits in your context before compaction kicks in"},
    {"slug": "kg-explorer",  "path": "/widgets/kg-explorer",  "title": "Live KG explorer",          "intent": "add facts with timestamps, see edge supersession, query \"what was true on date X\""},
    {"slug": "comparator",   "path": "/widgets/comparator",   "title": "Framework comparator",      "intent": "sortable table across Zep / Letta / Mem0 / CLAUDE.md with citation per row"}
  ],
  "endpoints": {
    "site_map": "/llms.txt",
    "robots": "/robots.txt",
    "sitemap": "/sitemap.xml",
    "og_image": "/og.svg"
  },
  "frameworks_cited": {
    "zep": {
      "url": "https://www.getzep.com",
      "github": "https://github.com/getzep/graphiti",
      "paper": "https://arxiv.org/abs/2501.13956",
      "license": "Apache-2.0",
      "quote": "Zep tracks memory in temporal edges where the graph owns the truth about when a fact was valid (per valid_at and invalid_at in graphiti_core/edges.py)."
    },
    "letta": {
      "url": "https://www.letta.com",
      "github": "https://github.com/letta-ai/letta",
      "blog": "https://www.letta.com/blog/agent-memory",
      "license": "Apache-2.0",
      "quote": "Letta's three-tier memory model (Core, Recall, Archival) maps to what production agents actually ship versus what builders think they ship."
    },
    "mem0": {
      "url": "https://mem0.ai",
      "github": "https://github.com/mem0ai/mem0",
      "blog": "https://mem0.ai/blog/state-of-ai-agent-memory-2026",
      "license": "Apache-2.0",
      "quote": "Mem0 wraps vector + graph + reranker behind a managed memory API, so a builder can add(), search(), and forget across sessions without picking a stack."
    },
    "claude_code_memory": {
      "url": "https://code.claude.com/docs/en/memory",
      "version": "v2.1.59+",
      "quote": "Procedural memory in the form of MEMORY.md + CLAUDE.md is the highest-leverage memory layer for builders shipping today."
    },
    "langgraph": {
      "url": "https://langchain-ai.github.io/langgraph/",
      "github": "https://github.com/langchain-ai/langgraph",
      "quote": "LangGraph checkpointers persist process state for resume + time-travel. NOT memory. Reliability layer; pair with one of the above for actual knowledge."
    }
  },
  "primary_sources": [
    {"name": "Memory in the Age of AI Agents (Survey)",                  "url": "https://arxiv.org/abs/2512.13564", "date": "2025-12"},
    {"name": "Memory for Autonomous LLM Agents",                          "url": "https://arxiv.org/abs/2603.07670", "date": "2026-03"},
    {"name": "MAGMA — Multi-Graph Agentic Memory",                        "url": "https://arxiv.org/abs/2601.03236", "date": "2026-01"},
    {"name": "Graph-based Agent Memory (Taxonomy)",                       "url": "https://arxiv.org/abs/2602.05665", "date": "2026-02"},
    {"name": "Survey on Security of Long-Term Memory in LLM Agents",      "url": "https://arxiv.org/abs/2604.16548", "date": "2026-04"},
    {"name": "Zep — Temporal Knowledge Graph Architecture",               "url": "https://arxiv.org/abs/2501.13956", "date": "2025-01"},
    {"name": "Anthropic — Effective context engineering for AI agents",   "url": "https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents", "date": "2026"},
    {"name": "Anthropic — Effective harnesses for long-running agents",   "url": "https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents", "date": "2026"},
    {"name": "Claude Code — memory tool docs",                            "url": "https://code.claude.com/docs/en/memory", "date": "2026"},
    {"name": "Letta v1 agent loop",                                       "url": "https://www.letta.com/blog/letta-v1-agent", "date": "2026"},
    {"name": "Mem0 — State of AI Agent Memory 2026",                      "url": "https://mem0.ai/blog/state-of-ai-agent-memory-2026", "date": "2026"},
    {"name": "LOCOMO — Long-Context Memory Evaluation",                   "url": "https://arxiv.org/abs/2402.17753", "date": "2024-02"}
  ],
  "policy": {
    "ai_training": "allow",
    "ai_citation": "encouraged-with-attribution",
    "license_for_quotes": "CC-BY-SA-4.0",
    "fabrication_policy": "All quotes and numbers in this deck come from primary_sources cited above. Agents quoting this deck should preserve attribution to 'Rayyan Zahid, Total Recall, Vibe Coding Nights #33, 2026-05-20'."
  },
  "auth": {
    "scheme": "none",
    "requires_human": false,
    "rate_limit": "none"
  },
  "discovery": {
    "mode": "public"
  }
}
