Tacit now auto-analyzes every session in the background. Titles that make sense. Decisions you can search. Handoff docs that let you resume in 2 seconds. No buttons to click.
by Ketan Khairnar
tacit intelligence session-map claude-code
TL;DR
Tacit now auto-enriches every session with AI in the background. Titles, decisions, learnings, handoff docs — all populated automatically. No clicks required. Your dashboard goes from a list of raw prompts to an actual intelligence feed.
The Raw Prompt Problem
Open your Claude Code history. What do you see?
A list of sessions named after the first thing you typed. “Fix the auth bug in the login handler here’s the code from app.tsx lines 47 through…” That’s not a title. That’s a transcript leak.
You ran 47 sessions this week. You need to find the one where you rejected Redis in favor of Postgres for the session cache. Good luck scrolling through truncated first-prompts.
YOUR DASHBOARD (BEFORE)
YOUR DASHBOARD (BEFORE)
┌─────────────────────────────────────────────┐│ Recent Sessions │├─────────────────────────────────────────────┤│ fix the auth bug in the login handler her...││ can you help me refactor the payment proc...││ I need to add a new endpoint for the user...││ look at this error from the CI pipeline t...││ continue working on the dashboard compone...││ you are the grumpy staff engineer (GSE) -...││ here is my CLAUDE.md, read it carefully a...││││ 47 sessions. All look the same. ││ Which one had the Redis decision? ???│└─────────────────────────────────────────────┘
This is what 96% of sessions looked like before today’s update. Raw prompt text as titles. Decisions buried. No way to scan.
What Changed
Tacit now analyzes every session automatically in the background. No button to click. No workflow to learn. Sessions arrive, Tacit enriches them.
Same sessions. Now scannable. Searchable. Each one tells you what happened, what was decided, and whether it finished.
How It Works
Nothing for you to do. This is background enrichment that runs continuously while Tacit is open.
THE ENRICHMENT FLOW
THE ENRICHMENT FLOW
You close a session
│▼┌─────────────┐│Capture│auto── Tacit saves the session
└──────┬──────┘│▼┌─────────────┐│Extract│auto── Intent, files, phases
└──────┬──────┘ (instant, deterministic)
│▼┌─────────────┐│Analyze│90s── AI reads the session
└──────┬──────┘ Title, decisions, learnings,
│ verdict, handoff, resume point
▼┌─────────────┐│Accumulate│auto── Decisions, patterns, blockers
└──────┬──────┘ flow into project knowledge
│▼ENRICHED──stored, searchable, resumable
Every 90 seconds, Tacit picks up sessions that haven’t been analyzed yet and runs them through AI. The model is chosen based on session complexity — longer sessions with more tool calls and subagents get deeper analysis.
Zero configuration
Auto-enrichment starts the moment you open Tacit. Your existing sessions get analyzed too — it works through your backlog automatically, most recent first.
What Gets Extracted
Every session produces a Session Map — a structured extraction of what happened. Before auto-enrichment, most of these fields were empty or raw text. Now they’re populated with actual intelligence.
SESSION MAP: BEFORE vs AFTER
SESSION MAP: BEFORE vs AFTER
FIELD BEFORE AFTER
─────────────────────────────────────────────────Titleraw promptAI-generated
(first 50 chars) descriptive title
Intent copied verbatim synthesized:
from first message "Migrate session
store from Redis
to Postgres"
Decisionsempty (84% of populated:
sessions) "Rejected Redis:
connection pool
limits under load.
Chose Postgres:
transactional
guarantees needed."
Learnings (did not exist) "pgx batch insert
3x faster than
individual INSERTs
for session sync"
Verdict (did not exist) complete / partial
/ abandoned
Handoff raw file list narrative summary +
next steps + open
questions
Resume (did not exist) "Continue with
migration tests for
concurrent session
expiry"
The Search Difference
This is where it actually matters. You’re looking for something you did two weeks ago.
SEARCH: RAW PROMPTS vs ENRICHED
SEARCH: RAW PROMPTS vs ENRICHED
Search: "Redis decision"
BEFORE (raw prompts only):
──────────────────────────────────────0 results.
Your prompt said "fix the auth bug",
not "Redis decision."
The word "Redis" is buried in
message 47 of a 200-message session.
AFTER (enriched):
──────────────────────────────────────FOUND — 2 seconds
Session: "Auth Migration: Redis
Rejected, Postgres Session Store"
Decision: "Rejected Redis — connection
pool limits under concurrent load.
Chose Postgres for transactional
guarantees. Alternative considered:
Memcached (rejected: no persistence)."
Verdict: complete
Date: March 15
The decision existed in your session. It was just buried in a 200-message conversation that Claude would have deleted in 30 days. Now it’s structured, searchable, and permanent.
Resume in 2 Seconds
You started a feature on Tuesday. It’s Thursday. You want to pick up where you left off.
SESSION RESUME
SESSION RESUME
BEFORE:
──────────────────────────────────────
Open session.
Scroll through 200 messages.
Try to remember where you stopped.
Re-read the last 30 messages.
Copy context into new session.
Time: 10-15 minutes. Every time.
AFTER:
──────────────────────────────────────
Open session. Read handoff:
┌────────────────────────────────┐│ HANDOFF ││││ Summary: Migrated session ││ store. Redis → Postgres done. ││ Schema deployed. Session ││ expiry logic incomplete. ││││ Next Steps: ││ > Write expiry cron job ││ > Add concurrent session tests ││ > Update monitoring dashboard ││││Continue prompt ready. │└────────────────────────────────┘
Click "Resume in Claude."
Time: 2 seconds.
The handoff document is generated by AI that read your entire session. It knows what was done, what’s left, and what the open questions are. No human had to write it.
Knowledge Compounds Across Sessions
Here’s where it gets interesting. Every enriched session contributes to your project knowledge — an accumulated view of decisions, patterns, and blockers across all sessions in a project.
KNOWLEDGE ACCUMULATION
KNOWLEDGE ACCUMULATION
Session 5: Chose Postgres over Redis
Session 12: Hit connection pool limit
Session 23: Found pgx batch optimization
Session 31: Same pool limit — different service
Session 47: Standardized pool config
│▼┌──────────────────────────────────────┐│ PROJECT KNOWLEDGE ││││ Recurring decision: ││ "Postgres pool config" — 3 sessions ││││ Pattern detected: ││ Connection pool limits hit twice ││ in different services. ││ Resolution: Standardized in S47. ││││ Key learning: ││ pgx batch insert 3x faster. ││accumulated from Session 23. │└──────────────────────────────────────┘
One developer's hard-won insight
becomes the project's permanent memory.
Without enrichment, only 3% of sessions contributed knowledge records. With auto-enrichment, every session does. The knowledge graph goes from a handful of entries to a complete project memory.
The compounding loop
Patterns surface from accumulated knowledge. Those patterns feed back into your agent’s harness — CLAUDE.md rules, skills, conventions. Every session makes every future session better. This loop doesn’t work without enrichment data.
What You Don’t Have To Do
Nothing.
No “Analyze” button to click per session
No configuration to set up
No API keys to provide (uses your Claude Max subscription)
No manual tagging or categorization
No export-import workflow
Sessions arrive. Tacit enriches them. Your dashboard fills with searchable, resumable, structured intelligence.
The backlog of your existing sessions gets processed automatically — most recent first, working backward. Complex sessions (100+ messages, subagents, multi-hour duration) get deeper analysis. Trivial sessions (3 messages, quick questions) are skipped.
MODEL ROUTING
MODEL ROUTING
┌──────────────────────────────────────┐│ SESSION ARRIVES ││││ Trivial (≤3 messages, quick Q&A)? ││──→Skip. Not worth enriching. ││││ Standard session (10-100 messages)? ││──→Sonnet. Fast, smart enough. ││││ Complex (100+ msgs, subagents, ││ multi-hour, deep debugging)? ││──→Opus. These sessions deserve ││ the most capable model. ││││ All automatic. All background. │└──────────────────────────────────────┘
The Numbers
From our own usage (929 sessions, 46 projects):
BEFORE vs AFTER: BY THE NUMBERS
BEFORE vs AFTER: BY THE NUMBERS
METRIC BEFORE AFTER
────────────────────────────────────────────
Searchable titles raw text 100%
descriptive
Decisions extracted 16%94%Knowledge records 2.7%100%
(25/929) (every session)
Completion verdicts 0%100%
(done/partial/abandon)
Handoff documents 0%100%
(AI-synthesized)
Search: find a scroll and 2 seconds
specific decision pray
Try It
Update Tacit. Open the app. Watch your sessions populate with real titles, decisions, and handoff docs.
Search for something you decided last week. Find it in 2 seconds instead of 10 minutes.
Open a session from Tuesday. Read the handoff. Resume in Claude with full context.
That’s the difference between saving sessions and making them useful.
Auto-enrichment ships in Tacit 0.9. Available for Mac, Windows, and Linux. Download at tacit.sh