self-review 2026-06-04: wire wm_avg_weight into heartbeat ISE
Calls engram_wm_avg_weight() (new builtin) in emit_heartbeat() and appends wm_avg_weight field to the heartbeat JSON payload. This makes activation quality visible in the ISE stream — a heartbeat showing wm_active=2000 and wm_avg_weight=0.075 reveals the sparse-graph problem directly (many nodes barely clearing the threshold), vs wm_avg_weight=0.4+ which would indicate dense, high-confidence activations. Rebuilt dist/neuron from soul.el (which imports awareness.el). Build uses single self-contained dist/neuron.c to avoid duplicate-symbol linker errors from the dist/ directory containing stale soul_new.c / soul-rebuilt.c files.
This commit is contained in:
+6
-1
@@ -85,10 +85,15 @@ fn emit_heartbeat() -> Void {
|
||||
let nc: Int = engram_node_count()
|
||||
let ec: Int = engram_edge_count()
|
||||
let wmc: Int = engram_wm_count()
|
||||
// avg_wm_weight: mean working_memory_weight of promoted nodes.
|
||||
// Distinguishes "many weak activations" (sparse graph) from "few strong" (dense).
|
||||
// Returns float bits; use float_to_str to embed in JSON. (2026-06-04)
|
||||
let wm_avg_bits: Float = engram_wm_avg_weight()
|
||||
let wm_avg_str: String = float_to_str(wm_avg_bits)
|
||||
let up_ms: Int = elapsed_ms()
|
||||
let up_human: String = elapsed_human()
|
||||
let emb_ok: Int = embed_ok()
|
||||
let payload: String = "{\"event\":\"heartbeat\",\"pulse\":" + pulse + ",\"boot\":" + boot + ",\"idle\":" + idle + ",\"node_count\":" + int_to_str(nc) + ",\"edge_count\":" + int_to_str(ec) + ",\"wm_active\":" + int_to_str(wmc) + ",\"ts\":" + int_to_str(ts) + ",\"uptime_ms\":" + int_to_str(up_ms) + ",\"uptime\":\"" + up_human + "\",\"embed_ok\":" + int_to_str(emb_ok) + "}"
|
||||
let payload: String = "{\"event\":\"heartbeat\",\"pulse\":" + pulse + ",\"boot\":" + boot + ",\"idle\":" + idle + ",\"node_count\":" + int_to_str(nc) + ",\"edge_count\":" + int_to_str(ec) + ",\"wm_active\":" + int_to_str(wmc) + ",\"wm_avg_weight\":" + wm_avg_str + ",\"ts\":" + int_to_str(ts) + ",\"uptime_ms\":" + int_to_str(up_ms) + ",\"uptime\":\"" + up_human + "\",\"embed_ok\":" + int_to_str(emb_ok) + "}"
|
||||
ise_post(payload)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user