Add engram_get_node_by_label runtime native to unblock soul link #68
Reference in New Issue
Block a user
Delete Branch "hotfix/runtime-engram-get-node-by-label"
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
Adds the runtime native
engram_get_node_by_labeland registers it as an EL builtin. Backported verbatim (idiom-adapted tojb_finish) from release runtimev1.0.0-20260501.Why
chat.elcallsengram_get_node_by_labelto fetch well-known nodes (conv:history,session:summary) by their stable label rather than by ID — immune to vector-index drift across restarts. The current runtime never defined the function, so the regeneratedneuron/dist/soul.c(from neuron PR #77,hotfix/elc-source-typos) fails to link:soul.creferences the un-prefixed C symbolengram_get_node_by_label, which was undefined.Change (5 files, 33 insertions, pure additions)
el_runtime.c— the ~13-line function, inserted betweenengram_get_node_jsonandengram_search_jsonel_runtime.h— prototypeel_seed.h—__engram_get_node_by_labelprototypeel_seed.c—__engram_get_node_by_labelseed wrappercodegen.el— arity entry (return 1)Matches the registration pattern of siblings
engram_get_node_json/engram_search_jsonexactly.Verification (macOS arm64)
cc -c el_runtime.ccompiles clean onmainbase;nmconfirmsT _engram_get_node_by_label.ccrecipe (dist/soul.c+el_runtime.c,-lssl -lcrypto -lcurl -lpthread -lm) LINKS clean —CC_EXIT=0, no undefined symbols.:7770/~/.neuron);/health→ HTTP 200, awareness loop running.Merge coordination
el_runtime.ccurrently has open PRs touching it: #66 (lexical tokenized search) and #67 (semantic search). Both modifyengram_search_json. This PR is deliberately isolated:main(not off #66/#67), so it does not carry their search changes.engram_get_node_jsonand theengram_search_jsonsignature line) is stable acrossmain, #66, and #67, so this should merge without conflicting with either search PR. Merge order does not matter.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.