Tim Lingo
bcdadb7323
Neuron Soul CI / build (pull_request) Successful in 4m43s
fix(soul): ratio guard against genesis seeding over a populated engram
...
Genesis boot previously seeded a fresh identity and saved it over snapshot.json
whenever the in-memory graph looked empty. Replace the fixed node-count threshold
with a ratio guard: refuse to seed when the on-disk snapshot is large
(>200KB) but the loaded graph is sparse (< disk/16000 nodes).
KNOWN LIMITATION: this gates only the seed/pre-serve-save path. The deeper cause
is a non-atomic engram_save (fopen wb truncates to 0 before writing 47MB), which
creates a window where a concurrent load reads an empty file -> genesis -> and if
guard_disk is read in that same window the guard passes. The real fix is an
atomic engram_save (temp + fsync + rename) in el_runtime.c, tracked separately.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-15 18:21:59 -05:00
..
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-06-15 11:10:33 -05:00
2026-06-15 11:10:33 -05:00
2026-06-15 11:10:33 -05:00
2026-05-03 12:36:42 -05:00
2026-05-03 17:55:37 -05:00
2026-05-03 11:31:04 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-03 11:31:04 -05:00
2026-05-08 19:43:57 -05:00
2026-05-06 22:27:34 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-08 19:43:57 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-08 19:43:57 -05:00
2026-05-08 19:43:57 -05:00
2026-05-08 19:43:57 -05:00
2026-06-15 11:10:33 -05:00
2026-05-06 22:27:34 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-06-15 11:10:33 -05:00
2026-05-06 22:27:34 -05:00
2026-06-15 11:10:33 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-06 22:27:34 -05:00
2026-05-03 04:17:02 -05:00
2026-05-03 11:31:04 -05:00
2026-05-03 11:31:04 -05:00
2026-06-15 18:21:59 -05:00
2026-05-08 19:43:57 -05:00
2026-05-08 19:43:57 -05:00
2026-05-03 17:55:37 -05:00
2026-05-03 11:31:04 -05:00
2026-05-08 19:43:57 -05:00