130 lines
6.3 KiB
Markdown
130 lines
6.3 KiB
Markdown
# The Three-Tier Memory System
|
|
|
|
The core idea is simple: not all information needs the same treatment. Some facts change every day. Some are stable for months. Some are just event logs. I split memory into three tiers:
|
|
|
|
## Tier 1 — Hot Memory (per-session, ~9K characters)
|
|
|
|
This is injected into every conversation turn automatically. It covers things like communication preferences, active projects, recent corrections, and procedural quirks. Think of it as the assistant's working memory — fast to access, but limited in size. When it gets full, something has to move.
|
|
|
|
## Tier 2 — Vault Living Files (stable reference, on-demand)
|
|
|
|
When hot memory hits about 67% capacity, I scan for entries that are stable enough to promote. Things like environment configs, operational context, and known failure patterns get written to markdown files in the SilverBullet vault. The assistant reads these on-demand when deeper context is needed. This keeps the per-turn context window lean while still having access to months of accumulated knowledge.
|
|
|
|
## Tier 3 — Daily Notes (searchable timeline)
|
|
|
|
Every day, a dated note is created with tasks, schedule, and a log section. Events get recorded throughout the day. This creates a searchable history of decisions and actions. The assistant can search past daily notes to recall what happened on a specific date or track how a project evolved over time.
|
|
|
|
---
|
|
|
|
## The Morning Briefing Pipeline
|
|
|
|
This is the workflow that runs every weekday morning and it's the one that shows the system best in action.
|
|
|
|
### 6:50 AM — Data Collection
|
|
|
|
A cron job fires and does three things:
|
|
|
|
- Fetches tasks from Todoist via API, categorizing them by project (work, personal, side business)
|
|
- Fetches calendar events from Google Calendar, filtering out noise like sleep tracking entries
|
|
- Creates or updates the daily note at `Daily/YYYY-MM-DD.md` in the SilverBullet vault
|
|
|
|
The daily note follows a strict format:
|
|
|
|
- Tasks section with checkboxes, priority tags, and overdue tracking
|
|
- Schedule section with time-blocked events
|
|
- Empty log section for recording things during the day
|
|
- Wins section for end-of-day wrap-up
|
|
- Context section with backlinks to people, decisions, and files
|
|
|
|
### 7:00 AM — Delivery
|
|
|
|
A second cron job reads the cached data and delivers a formatted briefing directly to my Telegram. It's clean — no checkboxes, just bullets organized by category with an overdue count. I wake up, check my phone, and know exactly what the day looks like.
|
|
|
|
---
|
|
|
|
## The Finance Briefing
|
|
|
|
Every weekday at 9 AM, another cron job runs:
|
|
|
|
- Navigates to Yahoo Finance for each tracked ticker
|
|
- Extracts current price, daily change, and recent headlines
|
|
- Classifies each headline's sentiment (bullish, neutral, bearish)
|
|
- Delivers a summary table to Telegram
|
|
|
|
The output looks like a mini market report. If there's nothing new for a ticker, it says so. The whole thing runs autonomously — no prompting needed.
|
|
|
|
---
|
|
|
|
## How Information Moves Through the System
|
|
|
|
Here's the data flow in simple terms:
|
|
|
|
External APIs (Calendar, Todoist, Stocks, Email, Weather) feed into the AI assistant. The assistant processes this data through scheduled cron jobs and interactive skills. The results land in two places:
|
|
|
|
- Hot memory for immediate context (preferences, corrections, active state)
|
|
- SilverBullet vault for persistent storage (daily notes, operational docs, stable reference files)
|
|
|
|
The vault also feeds back — the assistant reads vault files on-demand when it needs deeper context that isn't in hot memory. It's a two-way street.
|
|
|
|
---
|
|
|
|
## Why SilverBullet
|
|
|
|
A few reasons this works well with SilverBullet as the self-hosted platform:
|
|
|
|
- **Plain text markdown** — The AI can read and write notes without any special plugins or APIs. It's just files on disk.
|
|
- **Backlinks and graph view** — SilverBullet supports native backlinks and graph visualization, allowing the assistant to create meaningful connections over time.
|
|
- **Searchable history** — Every daily note is a timestamped record. Need to know what happened last Tuesday? Search the vault. The AI can do the same thing.
|
|
- **Works without the AI** — The vault remains a fully functional note-taking system even if the assistant goes offline. No vendor lock-in.
|
|
- **Self-hosted and standalone** — Runs entirely on the VPS with no dependency on external services or TrueNAS.
|
|
|
|
---
|
|
|
|
## Vault Structure
|
|
|
|
Here's what the folder hierarchy looks like:
|
|
|
|
```
|
|
Vault/
|
|
├── Daily/ # YYYY-MM-DD.md daily notes
|
|
├── System/
|
|
│ └── Assistant/
|
|
│ ├── context.md # Operations overview
|
|
│ ├── preferences.md # Communication style
|
|
│ └── environment.md # Hardware, services, known issues
|
|
├── Work/
|
|
│ ├── Business-A/ # Workplace safety operations
|
|
│ └── Business-B/ # Cleaning services operations
|
|
├── Personal/
|
|
│ ├── Finance/ # Stock tracking, budgets
|
|
│ └── Health/ # Weight, sleep, Steps protocol
|
|
├── People/ # Contacts map of content
|
|
└── Inbox/ # Unclassified incoming
|
|
```
|
|
|
|
The key discipline is the filing rules: operational events go to the daily log, system issues go to a separate troubleshooting log, learned corrections go to hot memory (or vault if stable), and recurring workflows become skill files.
|
|
|
|
---
|
|
|
|
## What This Enables
|
|
|
|
- **Persistent context across sessions** — The assistant remembers corrections, preferences, and project state without me repeating myself
|
|
- **Automated daily standups** — Morning briefing, finance report, and check-in reminders all run on schedule
|
|
- **Searchable decision history** — Every daily note is a timestamped record of what happened, what was decided, and what files were involved
|
|
- **Separation of concerns** — Work and personal contexts are clearly separated in both the vault structure and the briefing output
|
|
|
|
---
|
|
|
|
## Implementation Status
|
|
|
|
This system is currently being implemented using **SilverBullet** as the self-hosted note-taking platform on the VPS.
|
|
|
|
- SilverBullet binary installation in progress
|
|
- Atomic Markdown Memory structure will be layered on top
|
|
- Hermes integration via file access and structured prompts
|
|
|
|
Detailed implementation notes are tracked in the `docs/` folder.
|
|
|
|
---
|
|
|
|
*Last updated: 2026-05-23* |