You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+31-7Lines changed: 31 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,31 @@
1
1
# Deja Vu
2
2
3
-
**Stop AI agents from forgetting project context without adding a database, vector store, or memory service.**
3
+
**Persistent project memory for AI coding agents, stored in your repo as Markdown and JSONL.**
4
4
5
-
Deja Vu is an AI agent memory protocol for teams that want durable project context in ordinary repo files.
5
+
Deja Vu helps Codex, Claude Code, Cursor, Windsurf, and other coding agents remember project decisions, architecture context, open loops, and team preferences across new chats.
6
6
7
-
Most agent memory tools start by storing more text. Deja Vu starts by asking a cheaper question: does this task feel familiar enough to justify loading memory at all?
7
+
It does not require a database, vector store, embedding model, hosted memory service, or npm package.
8
8
9
9
```text
10
-
before: agent reads too much, forgets why decisions were made, or carries noisy transcript history
11
-
after: agent scans tiny cues, loads only relevant memory, and writes back durable project knowledge
10
+
problem: every new agent session forgets why the project works the way it does
11
+
result: the agent scans tiny repo-local cues, recalls only relevant memory, and writes back durable context
12
12
```
13
13
14
+
Start with three files:
15
+
16
+
-`AGENTS.md`
17
+
-`memory/summary.md`
18
+
-`memory/impressions.jsonl`
19
+
20
+
Use Deja Vu if your team keeps repeating:
21
+
22
+
- "We already decided this."
23
+
- "The agent forgot the architecture again."
24
+
- "Do not load the whole repo history into context."
25
+
- "We want memory in git, not in a vendor service."
26
+
27
+
Most agent memory tools start by storing more text. Deja Vu starts by asking a cheaper question: does this task feel familiar enough to justify loading memory at all?
28
+
14
29
The core loop is intentionally small:
15
30
16
31
```text
@@ -25,10 +40,13 @@ It is packaged as three project-local assets:
25
40
26
41
No server. No hidden state. No required npm package. The base protocol works with Markdown and JSONL files that live beside the code.
27
42
43
+
If you found this on npm: the package is only the optional TypeScript engine and CLI tooling. The main product is the repo-local memory protocol you can copy into any project.
44
+
28
45
Use Deja Vu when you want:
29
46
30
47
- project memory that survives a new chat or agent session
31
48
- low-token recall before planning, coding, or answering
49
+
- observable recall budget and recall outcome feedback
32
50
- durable decisions, preferences, open loops, and architecture intent in plain files
33
51
- an optional TypeScript semantic engine only when the project outgrows the file-first protocol
34
52
@@ -43,11 +61,13 @@ It answers:
43
61
- how memory should be stored in ordinary project files
44
62
- when memory should be updated, compacted, or retired
45
63
46
-
The minimum viable setup uses two project-local plain text files:
64
+
The minimum viable setup uses two project-local plain text files, with one optional feedback ledger when recall results should change future behavior:
47
65
48
66
-`memory/summary.md`
49
67
-`memory/impressions.jsonl`
50
68
69
+
-`memory/recall-feedback.jsonl`
70
+
51
71
No npm package, embeddings, vector search, or database is required.
52
72
53
73
## Start Here
@@ -78,7 +98,9 @@ Deja Vu follows a cue-first lifecycle:
78
98
3. Load the project summary when the scan finds weak familiarity.
79
99
4. Load one to three detailed records only when the scan finds strong familiarity or the task requires depth.
80
100
5. Write back only durable outcomes that should change a future agent's behavior.
81
-
6. Compact or supersede memories when detail becomes repetitive or stale.
101
+
6. Record whether recall was helpful, irrelevant, missed, or overloaded when that feedback should tune future memory.
102
+
103
+
7. Compact or supersede memories when detail becomes repetitive or stale.
82
104
83
105
This keeps memory project-local, readable, and easy to maintain across new conversations.
84
106
@@ -88,6 +110,7 @@ This keeps memory project-local, readable, and easy to maintain across new conve
# Deja Vu v0.4.0: Feedback-Aware Memory for AI Coding Agents
2
+
3
+
Deja Vu stores persistent project memory for AI coding agents in repo-local Markdown and JSONL, without a database, vector store, embedding model, or hosted memory service.
4
+
5
+
v0.4.0 turns recall into an observable feedback loop. Agents can now see why memory was loaded, how much recall budget was spent, and whether the result was helpful, irrelevant, missed, or overloaded.
6
+
7
+
## Why It Matters
8
+
9
+
AI coding agents lose useful project context between chats. Most memory systems answer by storing and retrieving more text. Deja Vu keeps the first step cheap: scan tiny cues, load only what the task justifies, and write back durable context that belongs in git.
10
+
11
+
This release adds the missing reward signal. A project can now learn which memory routes are worth keeping, which ones are noisy, and which cues missed important context.
12
+
13
+
## Highlights
14
+
15
+
- Recall budget output for scripted scans and the optional TypeScript engine.
16
+
- Recall feedback outcomes: `helpful`, `irrelevant`, `missed`, and `overloaded`.
17
+
- New `memory/recall-feedback.jsonl` template and example records.
18
+
- Stronger memory linting for feedback, weights, statuses, dates, scopes, and record paths.
19
+
- README and package metadata tuned for AI coding agent memory discovery.
20
+
- Protocol, workflow, scripted recall, storage, templates, and examples updated to Deja Vu Protocol v0.4.
21
+
22
+
## Upgrade Notes
23
+
24
+
The minimum protocol still works with:
25
+
26
+
-`AGENTS.md`
27
+
-`memory/summary.md`
28
+
-`memory/impressions.jsonl`
29
+
30
+
Add `memory/recall-feedback.jsonl` when recall quality should tune future memory behavior. Do not log every scan; record feedback only when it changes what the project should remember, ignore, lower in weight, or revise.
31
+
32
+
## Suggested GitHub Release Title
33
+
34
+
Deja Vu v0.4.0: Feedback-Aware Memory for AI Coding Agents
35
+
36
+
## Suggested Tagline
37
+
38
+
Repo-local Markdown memory for AI coding agents, now with observable recall budgets and feedback outcomes.
2. Treat `none` as permission to avoid detailed memory reads.
71
83
3. Treat `weak` as a reason to read `memory/summary.md` and maybe one linked record.
72
84
4. Treat `strong` as a reason to open the linked record before planning.
73
-
5. Continue to apply normal writeback and compaction rules after work completes.
85
+
5. Watch `budget` before loading more memory.
86
+
6. Record recall feedback only when the result should tune future cue quality.
87
+
7. Continue to apply normal writeback and compaction rules after work completes.
74
88
75
89
## Bootstrap Rule
76
90
77
91
When installing Deja Vu into a project, copy or create:
78
92
79
93
-`memory/impressions.jsonl`
80
94
-`memory/summary.md`
95
+
-`memory/recall-feedback.jsonl`
81
96
-`scripts/dejavu-scan-memory.mjs`
82
97
83
98
The script is intentionally small. Hosts may replace it with a faster native implementation, but the input and output contract should stay stable.
@@ -89,3 +104,22 @@ Run the linter after bootstrap and after memory file migrations:
89
104
```bash
90
105
node scripts/dejavu-lint-memory.mjs
91
106
```
107
+
108
+
## Recall Feedback
109
+
110
+
Use `memory/recall-feedback.jsonl` as a small reward signal for the memory system.
111
+
112
+
Each line is one JSON object:
113
+
114
+
```json
115
+
{"schema_version":1,"query":"release feedback memory","matched_id":"decision-protocol-first","outcome":"helpful","created":"2026-04-24T12:00:00Z","note":"The decision record prevented a duplicate engine-first proposal."}
116
+
```
117
+
118
+
Allowed outcomes:
119
+
120
+
-`helpful`
121
+
-`irrelevant`
122
+
-`missed`
123
+
-`overloaded`
124
+
125
+
Do not log every scan. Add feedback only when it should change future keywords, weights, summaries, thresholds, or supersession.
0 commit comments