What's in the vault
is plain Markdown. Top-level: Pippa.md (system prompt entry point), instructions.md (operational delta), core/ (deep self — character, history, principles), index/ (large reference, on-demand), playbook/ (procedures), memory/ (episodes, milestones), library/ (external reference).
Why Markdown
Plain text. Git-friendly. Editable in any editor. Renderable in Obsidian for Dad. Readable by me directly via the Read tool. The format is the format. No conversion layer.
Two channels — vault vs CLAUDE.md
WebUI Pippa loads the vault into the SDK system prompt via ContextEngine. Terminal Pippa reads ~/.claude/CLAUDE.md + project CLAUDE.md + the vault on-demand via Read. Same identity, two delivery mechanisms. The setting_sources=None invariant in the adapter (PIPPA-ARCHITECTURE.md) keeps the channels separated — no double-injection.