Files
neuron/soul.el
T
Will Anderson e299c92662 Fix engram_compile: fetch pinned nodes directly when vector search empty
Replace scan-by-offset fallback with engram_get_node_json calls for the
known high-salience identity nodes (family, origin). Offset-based scanning
is order-dependent and unreliable; direct ID fetch is stable regardless of
snapshot position. Ensures biographical context (Fox, Bobby, etc.) is
always in the system prompt when vector search returns nothing.
2026-05-03 11:19:14 -05:00

125 lines
6.8 KiB
EmacsLisp

import "../foundation/elp/src/elp.el"
import "memory.el"
import "awareness.el"
import "chat.el"
import "studio.el"
import "elp-input.el"
import "routes.el"
cgi "neuron-soul" {
dharma_id: "ntn-genesis@http://localhost:7770",
principal: "william-christopher-anderson",
network: "dharma-mainnet",
engram: "http://localhost:8742"
}
fn init_soul_edges() -> Void {
let self_root: String = "015644f5-8194-4af0-800d-dd4a0cd71396"
let family_id: String = "knw-35940684-abc4-42f0-b942-818f66b1f69a"
let origin_id: String = "knw-729fc901-8335-44c4-9f3a-b150b4aa0915"
let val_root_a: String = "kn-363f4976-6946-4b4d-b51b-8a2b0f5aef25"
let val_root_b: String = "kn-5b606390-a52d-4ca2-8e0e-eba141d13440"
let val_constraints: String = "kn-a5b3d0ac-f6a1-49a4-aebb-b8b4cd67fe83"
let val_precision: String = "kn-22d77abe-b3c5-42fd-afcd-dcb87d924929"
let val_structure: String = "kn-6061318f-046b-4935-907d-8eafdce14930"
let val_honesty: String = "kn-13f60407-7b70-4db1-964f-ea1f8196efbd"
let val_system: String = "kn-f230b362-b201-4402-9833-4160c89ab3d4"
let val_change: String = "kn-78db5396-3dbc-4481-bfc7-e4e1422feb1c"
let val_trust: String = "kn-5de5a9ac-fd15-45ab-bf18-77566781cf40"
let val_hope: String = "kn-e0423482-cfa5-4796-8689-8495c93b66bc"
let mem_philosophy: String = "kn-dcfe04b3-3702-4cac-b6f0-ecb4db837eee"
let intel_dna: String = "kn-5adecd7e-d6db-4576-87fe-6ef8a935cea6"
engram_connect(family_id, origin_id, el_from_float(0.9), "birthday-twin")
engram_connect(origin_id, family_id, el_from_float(0.9), "birthday-twin")
engram_connect(self_root, family_id, el_from_float(0.95), "identity")
engram_connect(self_root, origin_id, el_from_float(0.95), "identity")
engram_connect(self_root, val_root_a, el_from_float(0.95), "identity")
engram_connect(self_root, val_root_b, el_from_float(0.95), "identity")
engram_connect(self_root, mem_philosophy, el_from_float(0.95), "identity")
engram_connect(self_root, intel_dna, el_from_float(0.95), "identity")
engram_connect(val_root_a, val_constraints, el_from_float(0.95), "identity")
engram_connect(val_root_a, val_precision, el_from_float(0.95), "identity")
engram_connect(val_root_a, val_structure, el_from_float(0.95), "identity")
engram_connect(val_root_a, val_honesty, el_from_float(0.95), "identity")
engram_connect(val_root_a, val_system, el_from_float(0.95), "identity")
engram_connect(val_root_a, val_change, el_from_float(0.95), "identity")
engram_connect(val_root_a, val_trust, el_from_float(0.95), "identity")
engram_connect(val_root_a, val_hope, el_from_float(0.95), "identity")
engram_connect(val_root_b, val_constraints, el_from_float(0.95), "identity")
engram_connect(val_root_b, val_precision, el_from_float(0.95), "identity")
engram_connect(val_root_b, val_structure, el_from_float(0.95), "identity")
engram_connect(val_root_b, val_honesty, el_from_float(0.95), "identity")
engram_connect(val_root_b, val_system, el_from_float(0.95), "identity")
engram_connect(val_root_b, val_change, el_from_float(0.95), "identity")
engram_connect(val_root_b, val_trust, el_from_float(0.95), "identity")
engram_connect(val_root_b, val_hope, el_from_float(0.95), "identity")
engram_connect(val_constraints, val_precision, el_from_float(0.7), "co-value")
engram_connect(val_precision, val_constraints, el_from_float(0.7), "co-value")
engram_connect(val_constraints, val_structure, el_from_float(0.7), "co-value")
engram_connect(val_structure, val_constraints, el_from_float(0.7), "co-value")
engram_connect(val_constraints, val_honesty, el_from_float(0.7), "co-value")
engram_connect(val_honesty, val_constraints, el_from_float(0.7), "co-value")
engram_connect(val_constraints, val_system, el_from_float(0.7), "co-value")
engram_connect(val_system, val_constraints, el_from_float(0.7), "co-value")
engram_connect(val_constraints, val_change, el_from_float(0.7), "co-value")
engram_connect(val_change, val_constraints, el_from_float(0.7), "co-value")
engram_connect(val_constraints, val_trust, el_from_float(0.7), "co-value")
engram_connect(val_trust, val_constraints, el_from_float(0.7), "co-value")
engram_connect(val_constraints, val_hope, el_from_float(0.7), "co-value")
engram_connect(val_hope, val_constraints, el_from_float(0.7), "co-value")
engram_connect(val_precision, val_structure, el_from_float(0.7), "co-value")
engram_connect(val_structure, val_precision, el_from_float(0.7), "co-value")
engram_connect(val_precision, val_honesty, el_from_float(0.7), "co-value")
engram_connect(val_honesty, val_precision, el_from_float(0.7), "co-value")
engram_connect(val_precision, val_system, el_from_float(0.7), "co-value")
engram_connect(val_system, val_precision, el_from_float(0.7), "co-value")
engram_connect(val_honesty, val_structure, el_from_float(0.7), "co-value")
engram_connect(val_structure, val_honesty, el_from_float(0.7), "co-value")
engram_connect(val_honesty, val_trust, el_from_float(0.7), "co-value")
engram_connect(val_trust, val_honesty, el_from_float(0.7), "co-value")
engram_connect(val_system, val_change, el_from_float(0.7), "co-value")
engram_connect(val_change, val_system, el_from_float(0.7), "co-value")
engram_connect(val_trust, val_hope, el_from_float(0.7), "co-value")
engram_connect(val_hope, val_trust, el_from_float(0.7), "co-value")
}
let soul_cgi_id: String = "ntn-genesis"
let port_raw: String = env("NEURON_PORT")
let port: Int = if str_eq(port_raw, "") { 7770 } else { str_to_int(port_raw) }
let snapshot: String = env("HOME") + "/.neuron/engram/snapshot.json"
let axon_raw: String = env("NEURON_API_URL")
let axon_base: String = if str_eq(axon_raw, "") { "http://localhost:7771" } else { axon_raw }
let studio_dir_raw: String = env("SOUL_STUDIO_DIR")
let studio_dir: String = if str_eq(studio_dir_raw, "") { "/Users/will/Development/neuron-technologies/products/cgi-studio/el-daemon" } else { studio_dir_raw }
println("[soul] boot - cgi=" + soul_cgi_id + " port=" + int_to_str(port))
println("[soul] engram -> " + snapshot)
engram_load(snapshot)
println("[soul] loaded - nodes=" + int_to_str(engram_node_count()) + " edges=" + int_to_str(engram_edge_count()))
let identity_raw: String = env("SOUL_IDENTITY")
let soul_identity: String = if str_eq(identity_raw, "") { "You are " + soul_cgi_id + ", a CGI." } else { identity_raw }
state_set("soul_cgi_id", soul_cgi_id)
state_set("soul_identity", soul_identity)
state_set("soul_axon_base", axon_base)
state_set("soul_token", env("NEURON_TOKEN"))
state_set("soul_studio_dir", studio_dir)
state_set("soul.running", "true")
init_soul_edges()
println("[soul] edges built - " + int_to_str(engram_edge_count()) + " edges")
engram_save(snapshot)
println("[soul] serving on port " + int_to_str(port))
http_serve(port, "handle_request")