Cross-session memory, synthesized from local data
amplifier-tui piles up work as many small, focused sessions. But today each one is an island — Friday's session has no memory of what Tuesday solved.
And that isolation isn't a small problem — it's happening at scale.
The island problem is real and large. On one machine, the local Amplifier session store already holds thousands of transcripts — none of them talking to each other.
The data is clearly there. So why can't a session remember?
Transcripts, metadata, tags, and scanner state all live on disk — but nothing synthesizes them into project-level understanding.
The gap isn't collection. It's synthesis. That's exactly what shipped next.
PR #2 (commit eb8ee2e, merged 2026-02-12) landed the whole answer at once: an ordered set of phases that turn isolated sessions into collective memory.
The first design choice is what makes it cheap: no new datastore.
A stateless ProjectAggregator runs on demand, treating the working directory as the project boundary. It reads the tags and sessions already loaded — a view over existing data, not a new store.
With the data aggregated, one engine turns it into answers.
ProjectIntelligence uses claude-sonnet-4-20250514 for quality synthesis; background auto-tagging uses the cheaper claude-haiku-4-20250506. All data stays local — no new data leaves the machine.
Which means you can finally just ask.
Answered from your own local sessions and cached for 5 minutes — with dedicated weekly, attention, focus, and search subcommands beside it.
Isolated sessions became queryable collective memory.
Five files, built by one developer, connected the sessions — because the data was there all along. The value came from synthesis, not collection.
Wire up the local data you already have, and isolation dissolves.
Data as of: verified against ramparte/amplifier-tui (git@github.com:ramparte/amplifier-tui.git)
Feature status: SHIPPED · Phases 1–4
Research performed — commands run in a fresh session:
git show -s --format='%an | %ci | %s' eb8ee2e · gh pr view 2 --json number,title,author,mergedAt,state — PR #2 squash merge eb8ee2e, merged 2026-02-13T05:21:03Z (2026-02-12 PT)grep -n '^## Phase' project_design/IMPLEMENTATION.md — four-phase design (plus Phase 5 Web)grep -rn 'island' project_design/ — "Today each session is an island" (DESIGN.md:5, CONTEXT.md:11)find ~/.amplifier/projects/*/sessions -maxdepth 2 -name transcript.jsonl | wc -l · ls -d ~/.amplifier/projects/*/ | wc -l — 3,324 transcripts across 375 project dirs (dynamic local metric)grep -n 'model' .../project_intelligence.py .../auto_tagger.py — sonnet claude-sonnet-4-20250514 / haiku claude-haiku-4-20250506grep -n '_CACHE_TTL_SECONDS' .../project_intelligence.py — 300s (5-minute) answer cachewc -l across auto_tagger.py, project_aggregator.py, project_intelligence.py, project_search.py, project_cmds.py — 1,790 lines totalgit log --format='%an' | sort | uniq -c | sort -rn — 283 of 284 commits by Sam Schillace (GitHub login ramparte); span 2026-02-05 to 2026-04-23Gaps: Transcript/project counts are dynamic local-machine metrics (drift upward as background scanning adds sessions). No dedicated unit tests for the aggregator/intelligence/auto-tagger/search modules were found; the feature is not claimed to be unit-test-covered. Phase 5 (Web) is designed/directional, not independently verified.
Primary contributor: Sam Schillace (GitHub login: ramparte) — 283 of 284 commits.