Automatic project memory for Claude Code. Also works with Cursor and Codex. Now in Anthropic's Claude plugin directory. - Avinash-jetwani/jevmem

62 points•avinashjetwani•5 days ago•41 comments•

41 comments

anthuswilliams5 days ago
One interesting quirk of the AI-written READMEs these days is how they can include every detail on how it works, thoroughly document every optional flag, known limitation, experimental result, and still not communicate the essence of the project and the problem it solves.

I have read through the project and I still don't understand what this thing is for and why it is to be preferred over the harness's native memory management tools.

simonw5 days ago
Yeah, I've started dialing back my use of AI for READMEs because of this.

My previous rule was that I never use AI for writing that expresses my own opinions or tries to be convincing (anything on my blog for example) but I'll let it do technical documentation.

The top of a README is about convincing and explaining why I built something though, which means it should fit my no-AI policy after all.

Marha015 days ago
Just prompt the AI to keep README concise and to the point, and to remove any implementation details that don't belong in README-style documents. I regularly run such debloating/decluttering prompts on my docs.
ttul5 days ago
The AI language really stands out, too. "What is automatic and what depends on the agent". A human might write, "jevmen watches your coding session with Claude Code or Codex and picks just the right moment to remember important things that you decided along the way. There are some differences in how jevmem works, depending on which coding harness you are using. The table below summarizes these differences:"

I don't know why the models were generally trained to be so brief, but it's definitely not the way anyone I know actually writes. A second pass is always a good idea to clean this stuff up. And, thankfully, the models are all pretty good at that.

SOLAR_FIELDS5 days ago
The big tell for me is assuming the reader has context straight out the gate. "What is automatic and what depends on the agent" assumes the reader, like the LLM at the time it wrote that sentence, has all of this pre-context available. That sentence makes more sense as an h3 header further down in some detailed list where the human has all of the knowledge of how the system works. Whereas a human obviously does not, so they lead with the important context of why you give a shit
sobellian5 days ago
My pet theory is that while the pretraining -> RL pipeline achieves very impressive results, it does not reward clarity of thought or elegance. It's not obvious whether it even should for most tasks, but it does grind on me as a human who needs elegance in order to keep everything under control. You give astra/codex many tasks, it retires them all more efficiently than I could by hand. But you look under the hood and every bugfix is another codepath, it just hammers away at things with admirable persistence and vigor until the tests pass. Similarly in discussions and docs, I've noticed many LLMs like to "beat around the bush."
octoberfranklin5 days ago
it does not reward clarity of thought or elegance.

Well duh. RL can only train behaviors that can be defined. Clarity and elegance are damn subjective.

Also, I doubt we'll ever get AI to understand what clarity is to a human. They have such enormous contexts that what's clear to them is not clear to us.

gchamonlive5 days ago
I once told the agent explicitly not to write like it's trying to impersonate Hemingway and it started writing like a normal human being. It's surprising how a writing style that was once revolutionary is now a hallmark of sloppyness.

Maybe give it a try next time you write a readme with agents. That and giving it an example of good README in real world repos can increase dramatically the likelihood of synthesizing a serviceable README.

senderista5 days ago
I don't recall Hemingway ever using semicolons or em-dashes.
squeegeeninja5 days ago
It's a function of scarcity. Generation (or "writing" as it used to be known back in the day) is now cheap, so judgement and taste are the new bottleneck and therefore the difference between slop and effort.
majkinetor5 days ago
AI readme should be a starting point. I typically remove at least 50% of the details (without any particular skill use, it goes into extremes like "x clears the edit" and writes a related wall of text in the middle of the important explanation).
rafram5 days ago
> When you change your mind, the old line is marked superseded, not deleted

To me, this seems like a design error. You're polluting context with false/outdated information (even if the LLM is instructed to ignore it). The biggest issue with the memory systems built into Claude et al. is that they're terrible at pruning old/conflicting information as the project evolves, so I'd hope a replacement would do something to improve that.

stuaxo5 days ago
It's such a Claudism.

Everything is inundated with info about other things tried.

Comments and docs flooded with things found out in the process when you want something about the info you need to know now.

airstrike5 days ago
I've recently started trying out a little approach that half makes me cringe as I think of gastown, but sharing FWIW

- All decisions get logged to DECISIONS.md, sequentially

- Before writing a decision, read through past decisions to see if any conflicts

- If no conflicts, encode the decision into the CODE.md

- If any conflicts, ask a Tribunal of 3 agents to find a resolution—each of them should be prompted in slightly different ways

I've only done this for one pretty big project but so far it seems to be working well

rearclabs5 days ago
Keeping history and using history are two different things though

You may want the old decision in the audit trail so you know why something changed without putting that old decision back into the model context every time

I think memory systems need a pretty strict separation between active memory and historical memory

jergason5 days ago
From reading the readme, it looks like superseded decisions are not added to context.

> Next session, the relevant lines are added to Claude's context.

At least that's how I interpret it? If it is adding superseded decisions, that does seem bad.

majkinetor5 days ago
Is it outdated? Its an avenue already visited, tried and abandoned, so valuable info regarding architectural decisions.
stronglikedan5 days ago
> Its an avenue already visited, tried and abandoned

I suppose if you could guarantee that the nondeterministic model can not only know all of those disparate pieces of information, but connect them together in that order, and arrive at a decision that it was abandoned because it was already visited and tried, every time.

joshumax5 days ago
I’m looking at the LLM-generated SECURITY.md and this thing seems to pump a LOT of information back to some place called TypeSafe AI. That and the AI-generated comments from OP here make a few red flags go up for me.
jon-wood5 days ago
TypeSafe AI are the providers for Jev. This complaint is like saying it’s a red flag that Claude Code sends lots of information to somewhere called Anthropic.
joshumax5 days ago
Ah, well that makes a bit more sense. Admittedly I haven’t really looked into Jev and thought it was an open decision model rather than a proprietary product from TypeSafe.
octoberfranklin5 days ago
I really don't undertstand the jev-hype.

Just start a cheap chinese agent in a context where it has only one tool, and JSON-schema constrain that toolcall to the response shape you want. Prompt the agent to make only one tool call and not speak. Done.

alex7o5 days ago
The people that run local jev like models do sth similar. Train a seperate nn adapter on top of qwen 4b so it has balanced probabilities whatever that means and apparently it works quite well.

Side note: conspiracy theorists say that jev is a qwen model fine tuned but who know if true

alpineman5 days ago
a supercollision of 2024 hype with 2026 hype

Read the full thread on Hacker News →

Related stories