Repository navigation
Does a decision recorded in Claude Code reach Codex on your machine? #16
Replies: 5 comments 2 replies
|
I have not run your setup, so this is not a test report. But I have hit the same handoff problem from the other side, so here are the cases I would try first, because they are where a decision memory usually breaks in practice:
One limit of the local approach, in case it matters to you: a stdio server on one machine cannot be reached from a second machine or from a chat app, so the handoff stops at the edge of the laptop. I took the other route with Cloud Alter Ego, which I built. It keeps rules, a profile and per project notes as plain files in your own cloud and serves them through a remote MCP connector, so any assistant that supports MCP reads the same files. Docs: https://cloudalterego.cafeboon.com/docs.html and the open source template: https://github.com/SebastiaanBoon/cloud-alter-ego. It is a different trade-off (a hosted connector instead of a local process), not a replacement for what you are building. |
|
Thanks, this is more useful than a test report would have been, because three of your four cases are exactly where I already know it is weak:
On the laptop edge: agreed, that is the trade-off I chose. Thanks for the pointer to Cloud Alter Ego; a shared plain-file store behind a remote connector is a reasonable other side of it. |
|
Correction to my point 2 above: repo scope does not work the way I said. I tested it properly while building 0.18: a decision recorded in repo A does come back from What 0.18.0 (PR open, not yet published) does change:
|
|
0.18.0 is on npm. Two of the four cases above are now in the product: Still as stated in the correction: memories come back across repos on one machine,
|
Linksee Lint Weekly #1 (2026-11-05)Weekly check of one real linksee-memory database (package v0.18.0). Section 1 comes from a read-only query of 1. Warnings this week
By layer (this week):
First report: there is no "last week" column yet. From #2 on, "Change" is this week minus last week; a negative number on a warning row is good. 2. Fixed this weekThree things happened to this DB this week. None of them needed a schema change; everything went through the public tools (
The drain exposed four product gaps. They are 0.18.x candidates; issue numbers will be added here once filed.
If you want to check the same things on your DB: 3. Added by othersThis section is empty. If you add a lint rule or a test case, your name goes here. 4. Next week
How each row is counted (SQLite, read-only)
-- Memories (total)
SELECT count(*) FROM memories;
-- New in the last 7 days
SELECT count(*) FROM memories WHERE created_at >= unixepoch() - 604800;
-- Rewrite pending (needs_distill=1, not superseded)
SELECT count(*) FROM memories WHERE CASE WHEN json_valid(content) THEN json_extract(content, '$.needs_distill') = 1 AND coalesce(mem_state, '') <> 'superseded' ELSE 0 END;
-- Rewrite queue as recall({dream:true}) sees it
SELECT count(*) FROM memories WHERE layer IN ('learning', 'caveat') AND created_at < unixepoch() - 1800 AND CASE WHEN json_valid(content) THEN json_extract(content, '$.distill_verdict') IS NULL AND (json_extract(content, '$.needs_distill') = 1 OR json_extract(content, '$.why') = 'Decision detected by pattern match — may need agent enrichment' OR json_extract(content, '$.why') = 'User-stated warning/prohibition — auto-extracted by caveat pattern match') ELSE 0 END;
-- Superseded (state=superseded)
SELECT count(*) FROM memories WHERE mem_state = 'superseded';
-- No title (valid JSON, title missing)
SELECT count(*) FROM memories WHERE CASE WHEN json_valid(content) THEN json_extract(content, '$.title') IS NULL ELSE 0 END;
-- Broken JSON (json_valid=0)
SELECT count(*) FROM memories WHERE NOT json_valid(content);
-- Missing axis (altitude/type/state)
SELECT count(*) FROM memories WHERE json_valid(content) AND (altitude IS NULL OR mem_type IS NULL OR mem_state IS NULL);Generated by |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
I wrote linksee-memory, a local MCP memory server. The part I trust least is the
handoff between Claude Code and Codex: a decision recorded in one should be there
when the other starts work on the same repo. It works on my Windows machine and on
one Mac. That is all the evidence I have.
If you use both tools on one repo (0.17.1, published today):
~/.claude/settings.json, then runnpx -y linksee-memory setup(it edits that file, and keeps a
settings.json.bak-<timestamp>next to it).codex mcp add linksee -- npx -y linksee-memoryworkspace scripts assume it".
Then write here what happened. "Nothing happened" is the reply I need most.
What it does not do yet: the warning before an edit only fires in Claude Code,
because it runs on Claude Code hooks. Codex can read the decision, but nothing
stops it. Until 0.17.1 the hook also took several seconds to start through npx;
setup now writes a direct node call instead, but I have only measured that on my
own machine.
I'll answer in this thread within a day and post whatever I change.
Update, 2026-11-05 (0.17.2): if your install is from April or May, the database is an old
schema and 0.17.x refuses to open it.
npx -y linksee-memory@0.17.2 migratecopies it aside,migrates the copy, and only then swaps it in; the original stays as a backup. Close every
client before running it. The hook also now calls
nodedirectly instead ofnpx, so itstarts in well under a second here.
All reactions