obra / obra/episodic-memory

Feature: Always show summaries in search results + timeline view

Open
#74 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area:search enhancement
Dominant language
TypeScript
Stars
478
Forks
139
Avg merge
8h 14m
Merged PRs (30d)
3

Description

Problem

The summarizer already generates per-conversation summaries via Haiku calls (stored as -summary.txt files), but search results only display them when summary.length < 300 characters. In practice, most summaries are silently omitted, wasting the compute that generated them.

Additionally, there's no way to get a chronological overview of recent sessions — e.g., "what did I work on this past week?" — without running broad searches and mentally stitching results together.

Proposal

1. Always show summaries in search results

When a -summary.txt exists for a matched conversation, always include it in the search result (truncated to ~300 chars if needed). The current < 300 check silently drops most summaries. Suggested change in search.ts result formatting:

// Instead of: if (summary && summary.length < 300)
// Use: if (summary) { display truncated to 300 chars }
2. Timeline view (optional, lower priority)

A mode: 'timeline' parameter for the search tool that returns a chronological list of recent session summaries without requiring a specific query. Useful for:

  • "What did I do last week?"
  • Onboarding a new session with recent context
  • Progressive disclosure: scan timeline → pick interesting sessions → read details
Design reference

This is inspired by claude-mem's Progressive Disclosure pattern (compact index → timeline → full details), which achieves ~10x token savings vs. loading full conversations. The episodic-memory plugin already has the building blocks (search with snippets + read with line-range pagination) — surfacing summaries and adding a timeline view would complete the three-layer pattern.

Environment

  • episodic-memory v1.0.15
  • macOS, Claude Code CLI
  • ~155 MB index DB, 1587 conversations in primary project

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in search.ts result formatting and trace how -summary.txt files are loaded for matched conversations. Ensure existing summaries are included with output truncated to about 300 characters, then inspect the search tool entry point for the proposed optional timeline mode. Done means search results show available summaries and, if attempted, timeline results are chronological recent session summaries.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
search
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.