Observations
LLM-compressed conversation summaries with priority routing
Observations
Observations are LLM-compressed summaries of conversation transcripts. They're the bridge between raw chat history and structured memory — the observe pipeline reads conversations, extracts what matters, assigns priority, and routes findings to the right vault categories.
How Observations Work
Conversation transcript
↓
observe (LLM compression)
↓
Priority assignment (critical / notable / routine)
↓
Auto-routing to categories (decisions/, lessons/, preferences/, etc.)
↓
Stored in observations/ with scored frontmatterThe Pipeline
- Input: Raw conversation files (OpenClaw sessions, ChatGPT exports, Claude exports)
- Compression: An LLM reads the conversation and extracts key information — decisions made, lessons learned, preferences stated, commitments given
- Priority scoring: Each observation gets a priority level
- Routing: High-value items are auto-routed to typed categories (decisions, lessons, etc.)
- Storage: The compressed observation lands in
observations/with frontmatter
Scored Importance System
Updated in v2.2.0
Observations use scored importance tags with the format [type|c=confidence|i=importance]:
| Importance | Score | Retention | Examples |
|---|---|---|---|
| Structural | >= 0.8 | Permanent | Decisions, version releases, client demos, blockers |
| Potential | 0.4–0.79 | Long-term | Deploys, tools built, preferences, architecture discussions |
| Contextual | < 0.4 | Decays after 7 days | Routine tasks, intermediate steps, minor fixes |
Available types: decision, preference, fact, commitment, milestone, lesson, relationship, project.
File Structure
Observations are stored in observations/ with date-based filenames:
---
title: "Session 2026-02-15 — Auth system redesign"
priority: 8
source: openclaw/clawdious/main
created: 2026-02-15T14:30:00Z
tags: [auth, security, jwt]
---
## Decisions
- Switching from session tokens to JWT for stateless auth
- Using RS256 signing with key rotation every 90 days
## Lessons
- Session-based auth doesn't scale well with multiple agents
- JWT refresh token flow needs careful error handling
## Action Items
- Implement JWT middleware (assigned to clawdious)
- Update auth docs before v2.5 releaseCLI Commands
observe
Run the observation pipeline.
# Watch active OpenClaw sessions
clawvault observe --active
# One-shot compression of a specific file
clawvault observe --compress ~/transcripts/session-2026-02-15.md
# Watch a directory for new files
clawvault observe --watch ~/transcripts/
# Dry run — see candidates without compressing
clawvault observe --active --dry-run
# Run as background daemon
clawvault observe --daemon| Flag | Description |
|---|---|
--watch <path> | Watch a file or directory |
--active | Observe active OpenClaw sessions incrementally |
--agent <id> | OpenClaw agent ID (default: OPENCLAW_AGENT_ID) |
--min-new <bytes> | Minimum new-content threshold in bytes |
--sessions-dir <path> | Override OpenClaw sessions directory |
--dry-run | Show candidates without compressing |
--threshold <n> | Compression token threshold (default: 30000) |
--reflect-threshold <n> | Reflection token threshold (default: 40000) |
--model <model> | LLM model override |
--compress <file> | One-shot compression for a single file |
--daemon | Run in detached background mode |
-v, --vault <path> | Vault path |
reflect
Promote stable observations into weekly reflections — a higher-level summary of patterns across multiple sessions.
clawvault reflect
clawvault reflect --days 7
clawvault reflect --dry-run| Flag | Description |
|---|---|
--days <n> | Observation window in days (default: 14) |
--dry-run | Show candidates without writing |
-v, --vault <path> | Vault path |
Auto-Routing
When the observer compresses a conversation, it doesn't just dump everything into observations/. High-value items are routed to typed categories:
- Decisions →
decisions/(e.g. "We decided to use Postgres instead of MongoDB") - Lessons →
lessons/(e.g. "Never deploy on Friday without rollback plan") - Preferences →
preferences/(e.g. "Pedro prefers dark mode in all tools") - Commitments → tasks or
commitments/(e.g. "I'll have the report ready by Monday")
You can customize routing rules with clawvault route add:
# Route anything mentioning "security" to the decisions category
clawvault route add "security" decisions
# Test a route
clawvault route test "We decided to enable 2FA for all users"For deeper theory on how observational memory works, see Observational Memory.