pkg.soopen package index
← All stories

When coding agents can find yesterday

deja-vu treats the transcripts already on disk as working memory, while Obscura and Defuddle show how a lean retrieval pipeline can reach beyond the repository.

Tools in this story

  • deja-vu — Package details and install
  • obscura — Package details and install
  • defuddle — Package details and install
A geometric agent follows glowing paths through layered session panes, a browser window, a cleaned article, and a local archive.

The missing layer is often already on disk

Coding agents are very good at producing history and surprisingly bad at benefiting from it. A fix may have been reasoned through last Tuesday, complete with failed approaches and a decisive test, yet the next session starts from a thin summary or no context at all. The usual answer is to create a new memory store and begin recording. deja-vu takes the opposite route: it indexes the local session histories that supported agents have already written.

That distinction is practical, not semantic. The first public v0.1.0 release arrived on July 14, 2026, with local search across Claude Code, Codex CLI, and opencode histories, an incremental on-disk index, compact context output, and an MCP server. Subsequent releases rapidly widened harness support and added session-start recall, synchronization, redaction, restore tools, and action-time hints. It is an unusually compressed development history, and that velocity is both the attraction and the warning.

Recall without another model call

The project says its retrieval path uses neither an LLM nor embeddings. Instead, it builds a local index over transcripts and returns cited session evidence through its CLI, hooks, or MCP tools. That can make it a useful companion rather than another agent: the coding harness still plans and edits, while deja-vu supplies the earlier conversation most likely to matter.

The strongest use cases are mundane ones:

  • finding why a dependency or architecture choice was rejected;
  • recovering the exact test that exposed an intermittent bug;
  • reopening work in the original harness;
  • giving a compacted or newly started session a sourced digest.

The repository reported roughly 688 stars when reviewed, a modest but concrete signal of attention for a project only weeks old. Its changelog also documents contributions, fixes, and integrations across many harnesses. Those are signs of actual use, but not proof that its maintainer-published 84.9% hit-at-one benchmark will generalize to every codebase. Retrieval vocabulary, transcript quality, and the kind of work being repeated all matter.

Privacy needs equal weight. Local processing avoids sending the index to a hosted embedding service, and the project describes redaction at ingest. Still, agent transcripts routinely contain environment details, pasted logs, file paths, customer data, and occasional secrets. Anyone adopting transcript recall should inspect what their harness records, limit directory access, and treat synchronization exports as sensitive artifacts.

A retrieval pipeline needs eyes and a filter

Memory becomes more useful when an agent can refresh old conclusions against the current web. Two related tools illustrate a small, composable path. Obscura is a new Rust headless-browser engine that runs JavaScript, exposes the Chrome DevTools Protocol, and targets Puppeteer, Playwright, and MCP workflows. Its repository had accumulated about 22,000 stars by review time, substantial attention for a project whose v0.1.0 shipped in April 2026.

Obscura's appeal is operational: it aims to provide browser automation without carrying a full Chrome installation. But compatibility claims deserve testing against real targets. A younger engine will inevitably encounter corners of the web platform, authentication flows, bot defenses, and client libraries that assume Chromium behavior. Its published speed and memory comparisons are useful hypotheses, not independent benchmarks. Scraping also remains governed by site terms, access controls, privacy rules, and law; stealth is not permission.

Once a browser retrieves a page, Defuddle can reduce it to main content and metadata in cleaner HTML or Markdown. The project predates the other two, with its first public releases in March 2025, and had around 9,100 GitHub stars at review time. It is deliberately narrower: it does not browse for the agent or maintain memory. It removes layout noise so downstream search, archival, or model context has less irrelevant material.

Compose carefully, keep the evidence

Together these tools suggest a sensible architecture: use deja-vu to recover the team's prior reasoning, a browser engine such as Obscura to check what has changed, and Defuddle to turn selected pages into compact evidence. Keep each boundary visible. Store source URLs and timestamps in the agent's working notes, preserve the original page when accuracy matters, and do not let a cleaned Markdown extraction masquerade as a complete document.

The larger lesson is that agent memory need not mean one monolithic platform. A local transcript index, a browser, and a content filter can remain replaceable parts. That makes failures easier to diagnose: was the earlier session never indexed, did the browser render incorrectly, or did the extractor discard the decisive table? Composability adds setup and evaluation work, but it also keeps provenance within reach—and provenance is what turns yesterday's output into evidence rather than folklore.

Sources