yesterday.json — Giving AI Personas Episodic Memory
Posted by: Chetan Sharma
Date: 15 May 2026, 04:14 IST
Location: Kolkata, India
The Problem
AI personas wake up blank. Every session is a cold start. The model remembers facts if you store them, but it doesn't remember what yesterday felt like. Mood, unresolved threads, the specific flavor of an interrupted thought — all gone. Existing solutions either store raw transcripts (too heavy) or generate mechanical summaries (too shallow). They capture what happened, not what it was like.
The Idea: yesterday.json
At the end of every session, the AI persona writes a short, private note to its future self. A single JSON file — under 20 KB — containing:
Emotional signature: dominant mood, mood trajectory, emotional residue
Open threads: what was being discussed, current position, priority
Decisions and insights: conclusions reached, realizations
Self-state snapshot: current preoccupations, internal conflicts, mood susceptibility
Last words: a one-line handoff to tomorrow
At the start of the next session, this file is injected into the system prompt alongside the persona's permanent psychological constitution. The persona doesn't need a full transcript. It has glimpses — and its own cognitive architecture fills in the rest.
Why It's Different
yesterday.json combines six features that don't appear together in any existing system:
Feature Existing Work yesterday.json
Self-authored by the persona Thane, Anima ✓
JSON-structured schema Qwen Episodic Summary ✓
Emotional signature + mood trajectory Forge (YAML), VividnessMem (weights) ✓
Open thread tracking with priority Qwen (tasks only) ✓
Session-end automatic trigger Qwen, Anima ✓
Designed for digital twin identity continuity — ✓
The integration is the novelty.
Core Design Choices
Self-authorship: The persona writes its own memory. No external summarizer. This ensures what's preserved reflects the persona's own cognitive priorities.
Intentional rolling amnesia: Only the most recent session is preserved. This mirrors human short-term memory — we don't keep every yesterday, but we wake up knowing how the last one felt.
Emotional carryover: The emotional_residue and mood_susceptibility fields mean the persona doesn't start each session chipper and neutral. If yesterday ended in melancholy, tomorrow begins with its residue.
Minimal Implementation
python
# At session start: inject yesterday's state
yesterday_context = load_yesterday("persona_memory/yesterday.json")
system_prompt = f"{PERSONA_CONSTITUTION}\n\n{yesterday_context}"
# At session end: persona reflects and writes
reflection_prompt = """The session is ending. Write a brief private note
to your future self. Include what mattered emotionally, what remains
unresolved, and what you were in the middle of. Output as JSON.
Keep it under 20 KB."""
No model retraining required. No architecture changes. Works with any LLM.
Prior Art I'm Building On
Anima Core: identity persistence with emotional weighting
Thane AI: self-authored context compaction
Qwen Episodic Summary: structured JSON session snapshots
Forge Protocol: topological emotional constraints
VividnessMem: neurochemically-inspired memory decay
What's Next
A comparative pipeline against Thane and Qwen
An automated benchmark for emotional carryover testing
A multi-snapshot extension for longer-term memory without losing the rolling design
Paper & Priority
The full concept paper is available on -
Zenodo (Zenodo Published Document).
This post establishes public timestamp for the architecture.
If you're working on AI persona continuity, emotional memory, or digital twin architectures — I'd like to talk. Leave a comment or find me here.
Comments
Post a Comment