Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 18e1ab6db1 |
@@ -6031,6 +6031,14 @@ void el_cgi_init(el_val_t name, el_val_t dharma_id, el_val_t principal,
|
|||||||
#define ENGRAM_LAYER_DOMAIN 2u
|
#define ENGRAM_LAYER_DOMAIN 2u
|
||||||
#define ENGRAM_LAYER_IMPRINT 3u
|
#define ENGRAM_LAYER_IMPRINT 3u
|
||||||
#define ENGRAM_LAYER_SUIT 4u
|
#define ENGRAM_LAYER_SUIT 4u
|
||||||
|
#define ENGRAM_LAYER_ACCUMULATION 5u
|
||||||
|
/* New user-facing nodes (memories, knowledge, conversations) are created in the
|
||||||
|
* accumulation layer — the top of the consciousness stack, the engram the user
|
||||||
|
* sees; every layer below shapes behavior but is hidden from the user (Layered
|
||||||
|
* Consciousness architecture, app 64/064,262). ENGRAM_LAYER_DEFAULT stays
|
||||||
|
* core-identity ON PURPOSE: it is the fallback home for LEGACY nodes loaded from
|
||||||
|
* snapshots without a layer_id, so existing data (the originator corpus) is
|
||||||
|
* never migrated out of its established layer. New != legacy. */
|
||||||
#define ENGRAM_LAYER_DEFAULT ENGRAM_LAYER_CORE_IDENTITY
|
#define ENGRAM_LAYER_DEFAULT ENGRAM_LAYER_CORE_IDENTITY
|
||||||
|
|
||||||
/* Pass 3 override floor. Layer 0 nodes that received any background
|
/* Pass 3 override floor. Layer 0 nodes that received any background
|
||||||
@@ -6208,6 +6216,20 @@ static void engram_init_layers(EngramStore* g) {
|
|||||||
.transparent = 0,
|
.transparent = 0,
|
||||||
.injectable = 1
|
.injectable = 1
|
||||||
};
|
};
|
||||||
|
/* Layer 5 — accumulation. The TOP of the consciousness stack: the default
|
||||||
|
* home for all new user-facing nodes. This is the engram the user sees;
|
||||||
|
* every layer below shapes behavior but is hidden from the user. Not
|
||||||
|
* injectable — it is the persistent user accumulation, not a swappable
|
||||||
|
* overlay. transparent=0: its content is surfaced to introspection (it is
|
||||||
|
* the user's own knowledge/memory), unlike the lower behavioral layers. */
|
||||||
|
g->layers[g->layer_count++] = (EngramLayer){
|
||||||
|
.layer_id = ENGRAM_LAYER_ACCUMULATION,
|
||||||
|
.name = el_strdup_persist("accumulation"),
|
||||||
|
.activation_priority = 50,
|
||||||
|
.suppressible = 1,
|
||||||
|
.transparent = 0,
|
||||||
|
.injectable = 0
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
static EngramStore* engram_get(void) {
|
static EngramStore* engram_get(void) {
|
||||||
@@ -6399,7 +6421,7 @@ el_val_t engram_node(el_val_t content, el_val_t node_type, el_val_t salience) {
|
|||||||
n->last_activated = now;
|
n->last_activated = now;
|
||||||
n->created_at = now;
|
n->created_at = now;
|
||||||
n->updated_at = now;
|
n->updated_at = now;
|
||||||
n->layer_id = ENGRAM_LAYER_DEFAULT;
|
n->layer_id = ENGRAM_LAYER_ACCUMULATION; /* new user-facing node → top layer */
|
||||||
g->node_count++;
|
g->node_count++;
|
||||||
return el_wrap_str(el_strdup(n->id));
|
return el_wrap_str(el_strdup(n->id));
|
||||||
}
|
}
|
||||||
@@ -6435,7 +6457,7 @@ el_val_t engram_node_full(el_val_t content, el_val_t node_type, el_val_t label,
|
|||||||
n->last_activated = now;
|
n->last_activated = now;
|
||||||
n->created_at = now;
|
n->created_at = now;
|
||||||
n->updated_at = now;
|
n->updated_at = now;
|
||||||
n->layer_id = ENGRAM_LAYER_DEFAULT;
|
n->layer_id = ENGRAM_LAYER_ACCUMULATION; /* new user-facing node → top layer */
|
||||||
g->node_count++;
|
g->node_count++;
|
||||||
return el_wrap_str(el_strdup(n->id));
|
return el_wrap_str(el_strdup(n->id));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user