Skip to content

Office library + memory

The office library is the second architectural pillar alongside orchestration. While the substrate explains how agents work, the library explains how the office remembers.

The three feeders

Each agent has a small memory folder (~10–20 .md files) fed by three streams:

FeederWhat it givesSource
Office libraryStories built from emails, PDFs, photos, ERP rows — through 5 perspectivesThe user’s computer + cloud connectors
Chat reflectionThe agent’s own working thoughts from past conversationsClaude Code JSONL session files
Pinned factsAtemporal rules the agent must always knowHand-curated, lasting truths

All three converge into the agent memory folder, which loads at every cold-start (~10K tokens of “where I am in life right now”).

The 5-stage pipeline

StageWhat happensModelLive rows
1. PullersFetch raw files from connectors (Gmail, Outlook, WhatsApp, ERP)scheduled38,205 emails · 71K threads
2. ConvertersRead PDFs, XLSX, photos → emit readable .md sidecarsHaikupopulating
3. Perspective analyzers5 agents read each .md → write 5 post-its with different lensesSonnet × 516,105 post-its
4. Story-builderClusters post-its by casefile → rewrites story.md dailySonnet480 case files
5. Person-watcherWeaves all active stories into one daily final-story.mdOpusrebuilt 6:00 IST

Multi-perspective discipline

The most important idea: the same file gets 5 post-its from 5 different lenses.

📧 ONE inbound email
Stage 2 Converter
📄 readable .md sidecar
Stage 3 — 5 Sonnet agents in parallel
┌──────────┬──────────┬──────────┬──────────┬──────────┐
▼ ▼ ▼ ▼ ▼
┌─────┐ ┌──────┐ ┌──────┐ ┌─────────┐ ┌───────────┐
│ CA │ │LAWYER│ │COACH │ │ FOUNDER │ │ ARCHITECT │
└──┬──┘ └──┬───┘ └──┬───┘ └────┬────┘ └─────┬─────┘
▼ ▼ ▼ ▼ ▼
5 post-its with the same source_url and casefile_anchor,
but different perspective values.

Same evidence. Five readings. Each row recallable separately. Cross-cutting recall by lens is what tags cannot do — tags say what a file is about; perspectives say who is reading and what they see.

Provenance backbone

Every claim traces back to a raw byte:

Final story ──► final-story.md
│ cites story:42
Story ──► story.md
│ cites note_paths[postit:12345, postit:12346]
Post-it ──► agent_postits row
│ source_row_ids=[emails:7891, conversation_turns:55432]
Evidence ──► incidents:7891 → file:///incidents/raw/2026-05-18_INC-2026-0142.jsonl
conversation_turns:55432 → session.jsonl:421:198432
Raw bytes ──► absolute ground truth — never moves

If you ask the agent “where did you get this?” it walks back to the bytes. Nothing in the system stores claims that cannot be verified.