cf154387ce48bb23d378fb1687d8f29d2aced6ce
This route called engram_save() over ~/.neuron/engram/snapshot.json — the engram server's CANONICAL store — then fs_read it back, to answer a READ query. A read route overwriting the persistence owner's file. This defect was fixed once before (export redirected to a scratch path). It came back tonight in the @route dispatch conversion: the hand-written dispatch block held the FIXED version, the @route-decorated copy held the unfixed one, and the merge kept the decorated copy. Calling the endpoint afterward overwrote the canonical snapshot and immediately preceded an engram crash. Now calls engram_edges_json(limit, offset) — the builtin the route's own TODO asked for — which reads g->edges directly. No file is written or read. Bounded: limit defaults to 1000, offset supported, so the whole-graph read that fell over is not reachable by default. Verified: same request that previously rewrote snapshot.json now leaves it byte-identical (sha256 unchanged before/after), and returns real edge records with every persisted field.
Merge pull request 'Tools + agentic loop on the OpenAI wire — plus two pre-existing bugs that silently break chat' (#122) from feat/soul-openai-tools-v2 into main
fix(soul): restore the soul_identity producer — the chat system prompt has been empty for three months (#137)
neuron
The canonical CGI substrate: the soul (the running agent), the engram (its memory
graph), and the MCP proxy/wrapper that expose it. See AGENTS.md for detail, including
the audit-verified local build/regenerate recipe and known local-build gotchas.
Quick local build
# 1. dist/soul.c must match current .el sources — this refuses otherwise:
bash tools/build-soul-from-dist.sh dist/neuron
# 2. If it refuses (stale amalgam), regenerate first — see AGENTS.md's
# "Build / regenerate dist/soul.c" section for the full, gotcha-laden recipe.
For a full local dev stack (soul + engram + mcp-wrapper + mcp-proxy, wired into Claude
Code) see neuron-dev-setup/README.md instead — this repo alone only builds the soul.
Code vs. Artifact
- Authored source:
*.el+*.elhat the repo root pluscli/,council/,connectd/,mcp-proxy/,mcp-wrapper/— edit here. - Artifacts (do not hand-edit):
dist/soul.c(generated single-TU amalgam — regenerate via the recipe inAGENTS.md, thentools/soulc-stamp.sh --write) and thedist/neuronbinary it compiles to. - Release: git tag
neuron-vX.Y.Zon this repo. Noreleases/folders.
See org policy: docs/CODE-VS-ARTIFACT.md.
Languages
Emacs Lisp
68.6%
Python
15.5%
Shell
14.6%
HTML
0.6%
Go Template
0.4%
Other
0.3%