v1.0.100 — Unified Persistent Memory & Timeline Search
Context-mode now remembers across compactions and sessions. Skills, roles, decisions, and session history survive context resets — no more re-explaining what you were working on.
Unified Timeline Search
ctx_search gains a new sort="timeline" mode that searches across 3 sources chronologically:
- Current session (ContentStore) — tool outputs, indexed content
- Prior sessions (SessionDB) — events from the last 7 days
- Auto-memory (memory/*.md files) — persistent user preferences
ctx_search(queries: ["what were we working on"], sort: "timeline")
Results are tagged by origin and timestamp:
--- [prior-session | 2026-04-27 14:30 | decision] ---
### [decision] user_correction
Always push to next branch, never feature branches
--- [auto-memory | 2026-04-25 | memory/project_analytics.md] ---
Analytics must be separate project, Datadog model
Default sort="relevance" is unchanged — zero behavior change for existing users.
Auto-Injection on Compaction
When context compacts, context-mode now automatically injects critical state as behavioral directives — not informational summaries the LLM ignores:
<behavioral_directive>— active role ("You are acting as a senior engineer")<rules>— key decisions ("DO NOT use mocks in integration tests")<active_skills>— loaded skills ("Re-invoke if relevant: tdd, cloudflare")
500 token hard cap. Fires only on compaction. No mid-session injection.
12 New Event Categories
Phase 1 (session continuity)
| Category | What it captures |
|---|---|
user-prompt
| Every user message, ordered — "what was my first prompt?" |
compaction
| Pre-compaction summary + session state |
rejected-approach
| Denied/modified tool calls — "why didn't we do X?" |
session-resume
| Proof that prior session was resumed |
constraint
| Discovered limitations — "FTS5 doesn't support ALTER" |
Phase 2 (correlation & analytics)
| Category | What it captures |
|---|---|
agent-finding
| Subagent research result summaries |
error-resolution
| Error → diagnosis → fix chains |
external-ref
| Referenced URLs, issues, PRs |
blocked-on
| Pending blockers and their resolution |
iteration-loop
| Stuck loop detection (same tool repeated) |
latency
| Tool call duration (cross-hook timing) |
Bug Fixes
- Role events silently dropped —
snapshot.tswas missingcase "role"in the switch statement. Roles now survive compaction. - Skill priority too low — promoted from P3 to P2 so skills aren't evicted during snapshot trimming.
- Pi extension filter too aggressive —
minPriority: 2dropped all P3 events (skills, roles, git, errors). Changed tominPriority: 3.
Static Reinforcement
- 12 adapter configs updated with Memory section — 4 tiers based on hook support
- Routing block gains
<session_continuity>tag +0. MEMORYin tool hierarchy ctx_searchtool description includes SESSION STATE reminder
Adapter Support
| Tier | Adapters | Memory Features |
|---|---|---|
| Full | Claude Code, Qwen Code, OpenClaw | All categories, full timeline search |
| Partial | Codex, Gemini CLI, VS Code, JetBrains | No user-prompt history |
| Basic | Cursor, OpenCode, Kilo, Kiro, Pi | Decision + constraint search only |
Numbers
- 39 files changed, +3717/-552 lines
- 1902 tests pass, 0 failures
- 8 review rounds, 16+ engineers per round
- TDD-first implementation
Full Changelog: v1.0.99...v1.0.100