[P0] Claim 17's pull-then-push is half-built: the soul never PUSHES — every memory written through the mind dies on restart #117
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What I need from you — pick one
container-migration-findings-for-will.md(2026-07-05) said "your toolchain; we can't rebuild soul from source." That is no longer true — this machine has built, run and E2E-verified the soul from source since 2026-06-09. Authority stays yours; capability is no longer the blocker.Spec:
neuron-technologies/docsPR —specs/SPEC-soul-write-through-2026-08-06.md. Spec only, no code written.First, the good news — your persist fix works off your machine
#98's fix (dc39a61+8f8ccc945) was installed and verified live on Tim's machine today (2026-08-06, Tim-approved). Yourdist/engramartifact, byte-identical, swapped in:kill -9; yours persists it.Tim's instance had been running your pre-fix Jul-20 binary — that was the whole of the "recurrence" reported on
#9808-03/08-05. Not a regression of yours.The defect that remains — in your own words
neuron/soul.el:571-573, commit8b692e406-claims.mdclaim 17awareness.el:588-606GETs/api/synceverySOUL_REFRESH_MS(600 s) andengram_load_merges it. No push exists anywhere in the soul.el/engram/src/server.el:90-98(8f8ccc945)memory.el:214-220(fb0bb55, 2026-07-24)soul.el:275-291) and boot counter. ~15engram_node_fullsites inneuron-api.elplusmem_store(memory.el:5-28) still write RAM-only.Proof (measured live 2026-08-06, read-only, not inferred)
The soul's copy is a superset (what it pulled + its own writes); engram's is a subset. Engram is the writer of the canonical file, so each engram write persists the subset — and the soul reads that file at boot. The delta is shed on every restart. Demonstrated on
#98on 07-22 (a read-back-verified save vanished on respawn) and again today.Why this is design-level, not operational
06-claims.mdclaim 50.engram-layeredclaim 25 defines state leaving "no trace in the persistent knowledge graph" as a session layer. Today's memories are structurally session-layer content wearing identity labels.A second, smaller thing this exposed (ours-proposed, your call)
mem_storeprints[memory] write verifiedafter a read-back that queries the in-process graph (memory.el:20-26);api_persisteddoes the same (neuron-api.el:90-93). In HTTP mode those receipts are true-in-RAM and false-on-disk — Tim's soul logged ~115 000write verifiedlines while the canonical file sat frozen for three days. Consistent with your read-back doctrine (494d973,8b692e4), but you have never said your read-backs are RAM-scoped, so we flag it as our inference. Cross-refRECEIPT-CONTRACT-2026-07-22.md, also still awaiting your ratification.What we did NOT do
No soul code written. No change to who owns the file — this obeys
soul.el:571-573and does not relitigate ownership. No periodic-flush workaround (it would recreate the read-route-writes-canonical antipattern you deleted indc39a61; the soul's only current path to the canonical isGET /api/graph/edges→engram_save,routes.el:383-394, which violates both halves of your invariant at once — flagged, untouched). No dual-write (your canon: "never dual-write in app code"). Interim on our side is the CLI outbox, which your canon names as the sanctioned pattern for exactly this gap.History — why this is a bump, not a new report
This was filed to you as Finding 3 in
docs/specs/container-migration-findings-for-will.md(2026-07-05). You accepted Finding 1 of that same document by name inf78da81. Finding 3 has no reply, commit, or comment. This issue adds what it lacked: your own claim-17 framing, live proof, a written spec, a gate design, and an offer to build it.Refs:
#92(identity-spine repair, still yours),#98(persist backbone — your fix, now verified off your machine),#89.