Intent-Aware Memory Layer

everysessionleavesatrace

remembers every decision, every dead end, every reason; no re-briefing, no re-discovery, no starting over.

devlabsdevlabsmomentum
Cohort '26
VILLAGEHACKSWinner
trace logo

Your agent forgets everything when the session ends. Every decision, every dead end, every reason - gone. You pay to rediscover it tomorrow.

• TRACE MAKES THAT IMPOSSIBLE →
[The invisible cost]

Context windows rot. Sessions die.

The reasoning that built your codebase evaporates with them. Agents spend a significant portion of each session rediscovering decisions already made. Context stuffing is a symptom. The disease is having nowhere durable to remember.

TRACE.RECALL() · FAST · RECALL
// yesterday's decision, recalled in one call
{
  "intent": "switch auth to server-side sessions",
  "why": "CSRF gaps in JWT cookie flow",
  "dead_ends": ["supabase.auth.getUser in middleware"],
  "next": "wire iron-session, gate /api/*",
  "confidence": 0.94
}
[How it works]

Set it once. Never brief it again.

Install, work normally. trace observes your session, extracts durable memory, and injects it back on recall - silently.

01Install
Install trace in any project. It connects to your AI coding agent via MCP and watches your sessions. Works with Claude Code, Cursor, Cline, and any agent that speaks MCP.
$ npx trace@latest init ✓ dependencies installed ✓ MCP server configured ✓ watching sessions
02Work normally
Trace runs in the background - automatically extracting memories as you work, and once more when your session ends. Run /save anytime to force it. No workflow changes. No new verbs.
[hook: session active] → monitoring... [hook: session end] tracing... ✓ 2 memories stored ✓ 1 dead end logged
03Extract
Every extraction finds the signal in the noise - what was resolved, what was ruled out, where the work stands - and writes it to memory. Nothing gets lost between sessions.
[trace] session.close() → distilling session → structured memory → embedding... indexing... done → memories stored ✓
04Inject
At the start of every session, trace injects the most relevant memories before your agent answers anything. Mid-session, it queries memory before tackling anything new. Your agent knows where you left off.
[trace] session.open() → querying recall... done → injecting relevant memories → agent starts with: prior_context ✓
05Commands
/traces shows you what's in memory - total, active, superseded, and the most recent. /traceit lets you search directly. The difference: /traces shows what's there. /traceit finds what's relevant.
$ /traces tracing... → Total: 117 | Active: 116 | Superseded: 1 $ /traceit GAP gender detection tracing...

Sound
familiar?

01

"Re-explaining context at the start of every session."

trace injects it before you type the first word.

02

"Re-discovering what already failed, again."

every dead end is logged. your agent won't go there again.

03

"Knowledge living in one person's head."

shared, searchable, always current.

04

"Rereading files just to guess the intent."

every decision stored with the reason it was made.