Intent-Aware Memory Layer

everysessionleavesa•trace

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

devlabsdevlabsmomentum
Cohort '26
VILLAGEHACKSWinner

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.