615f0cee0850c3671931ac2d70d82ac25043714a
Neuron Soul CI / build (pull_request) Has been cancelled
Issues addressed: - #1 ASYMMETRIC PERSIST/LOAD: conv_history_load() now tries engram_get_node_by_label() first (symmetric with the label-based write), falling back to vector search only when label lookup returns nothing. Immune to cold/corrupt vector index. - #2 SILENT LOAD FAILURE: all failure paths in conv_history_load() and conv_history_persist() now emit a println log line rather than silently returning "" or dropping writes. - #3 NO RECOVERY PATH: documented as TODO with explanation of why a full recovery path (retry, ID fallback, orphan cleanup) is too invasive for a targeted fix here. - #4 OVERWRITE WITHOUT DELETE: documented with TODO to replace engram_node_full with explicit delete-then-create once engram exposes a label-scoped delete API. - #5/#10 BROKEN TRIM / OFF-BY-ONE: hist_trim() rewritten to use json_array_len / json_array_get (structural JSON ops) instead of raw str_index_of scanning for '{"role":' markers. Immune to marker strings appearing inside message content. Minimum retained count guard added: never trims below 2 entries. - #6 PARTIAL-WRITE GUARD: conv_history_persist() refuses to write a blob that doesn't contain both '[' and ']'. conv_history_load() requires both before accepting content. - #7 DUAL STORAGE: documented with a comment at the persist call site. - #8 NO MAX SIZE GUARD: documented as TODO with rationale for why a byte-length cap requires a more invasive change (entry truncation or summarisation). - #9 AGENTIC HISTORY NOT PERSISTED: handle_chat_agentic() now calls conv_history_persist() for the default global session (hist_key == "conv_history") after updating state, matching the non-agentic path's durability. Named sessions remain in-process only.
…
Merge pull request 'fix(sessions): unify dual suspension systems, wire approve to agentic_resume' (#18) from fix/agentic-tool-approval-unification into main
Description
Neuron - the canonical CGI substrate. Real soul.el lives here.
22 MiB
Languages
Emacs Lisp
93%
Python
3.3%
Shell
1.8%
HTML
1.3%
Dockerfile
0.6%