self-review 2026-05-29: fix dampening floor and cleanup route_create_node auto-link
Two changes: 1. el_runtime.c — engram_activation_dampen(): add floor of 0.35. ISE nodes with ac=900+ had dampen=0.128, giving effective salience=0.038 which fell below the epist>=0.1 gate in engram_activate. This silently killed curiosity seeds "self identity values" and "decision pattern lesson" — the only corpus matches were high-ac ISEs that were then excluded from results, causing activated=0 on 50% of proactive_curiosity scans. Floor at 0.35 keeps salience=0.3 nodes at effective_bg=0.105, above the visibility threshold, without disrupting relative ordering of content nodes. 2. server.el — route_create_node: replace stale inline auto-link with auto_link_content_node(). The inline logic used the old engram_search_json (substring, no ISE filter) while the better BM25-based auto_link_content_node was added in 2026-05-28 and wired to /api/neuron/* routes but not to the raw /api/nodes POST path. Removes ~40 lines of duplicated logic.
This commit is contained in:
@@ -6603,9 +6603,22 @@ static double engram_temporal_decay(const EngramNode* n, int64_t now_ms) {
|
||||
|
||||
/* Activation dampening: high activation_count nodes are "well-known" context
|
||||
* and get less marginal boost per firing.
|
||||
* count=0 → 1.0, count=2 → ~0.74, count=9 → ~0.59, count=99 → ~0.43 */
|
||||
* count=0 → 1.0, count=2 → ~0.74, count=9 → ~0.59, count=99 → ~0.43
|
||||
*
|
||||
* FLOOR (2026-05-29 self-review): without a floor, ISE infrastructure nodes
|
||||
* (salience=0.3, activation_count=900+) reach effective_salience=0.038, which
|
||||
* falls below the epist>=0.1 visibility gate in engram_activate's result filter.
|
||||
* This made entire curiosity seed sets permanently invisible — "self identity
|
||||
* values" and "decision pattern lesson" reported activated=0 on every scan
|
||||
* because the only corpus matches were high-ac ISE nodes that were then excluded.
|
||||
*
|
||||
* Fix: clamp dampen to a minimum of 0.35. At salience=0.3, this gives
|
||||
* effective_bg = 0.105, which clears the 0.1 epist threshold. The floor is
|
||||
* intentionally low enough that high-salience content nodes (0.5–0.8) still
|
||||
* dominate — it only saves infrastructure nodes from total invisibility. */
|
||||
static double engram_activation_dampen(const EngramNode* n) {
|
||||
return 1.0 / (1.0 + log(1.0 + (double)n->activation_count));
|
||||
double d = 1.0 / (1.0 + log(1.0 + (double)n->activation_count));
|
||||
return d < 0.35 ? 0.35 : d;
|
||||
}
|
||||
|
||||
/* Temporal proximity bonus: boost propagation along edges connecting
|
||||
|
||||
Reference in New Issue
Block a user