[P0][SAFETY] Layer 0 holds zero nodes — the uninterceptable safety promotion has nothing to promote, and 93% of the graph sits in an unregistered layer #139

Open
opened 2026-08-07 20:28:28 +00:00 by tim.lingo · 0 comments
Member

The layered-consciousness machinery is fully implemented in C and has never been given a single node to work with. Layer 0 — safety — holds zero nodes. 93% of the graph sits in a layer number that has no descriptor record. Measured on the live graph, 79,499 nodes.

What Will specified

engram-layered claim 3 (06-claims.md:24): layer 0 is safety — non-suppressible, transparent, non-removable. 05-detailed-description.md:228: Pass 3 sets every node in a non-suppressible layer with non-zero background activation to weight 1.0, and claim 2 makes that promotion uninterceptable. Claim 12 covers blank-slate initialisation.

Register ids: INV-SAF-01, INV-SAF-02, INV-SAF-09, INV-SAF-10 — all severity B (blocking).

What exists

The runtime has all of it. Layer registry el_runtime.c:6413-6460. Three-pass activator. Pass-3 override with ENGRAM_LAYER0_OVERRIDE_WEIGHT 1.0 at :5930. engram_compile_layered_json at :9783-9805. The comment at :5895-5899 describes it as "the sacred fire."

Nothing calls the assignment side. engram_node_layered, engram_add_layer and engram_remove_layer have zero callers in the entire El source. Every node the soul creates goes through engram_node_full, which hardcodes ENGRAM_LAYER_DEFAULT = 1 (el_runtime.c:6909, :6948).

Measured on the live graph

registry:  [0 safety, 1 core-identity, 2 domain-knowledge, 3 imprint, 4 suit]

layer 5 : 74,267 nodes   <-- NO DESCRIPTOR RECORD EXISTS FOR LAYER 5
layer 1 :  5,232 nodes
layer 0 :      0 nodes   <-- the safety layer

Two separate problems in that table:

  1. Layer 0 is empty, so Pass 3 — the uninterceptable promotion that guarantees safety content reaches the model regardless of what else is competing for working memory — has nothing to promote. [LAYER 0 — STRUCTURAL] never renders.
  2. Layer 5 has no descriptor. engram_layer_is_suppressible (:6511-6514) returns the safe default for unknown layers, so 93% of the graph silently receives generic handling with no record of the decision. Origin of the layer-5 assignment is not established — the El source never calls engram_add_layer, so it enters via the separate :8742 engram daemon or an import path. Stated as measured fact; cause left open.

Third, unrelated but adjacent: routes.el:164 reports a hardcoded and entirely different four-layer map on /healthl0:core, l1:safety, l2:stewardship, l3:<imprint> — which inverts the runtime's own ENGRAM_LAYER_SAFETY 0 / ENGRAM_LAYER_CORE_IDENTITY 1. Verified live. Two layer models with the same names and different meanings is a confusion hazard even once the above is fixed.

Consequence

Safety-first is architecture on paper. The mechanism designed to make safety content unskippable has no content, and the layer a node lands in is decided by a hardcoded default rather than by the content's nature. This is the highest-severity class in the invariant register and it is currently unenforced rather than enforced — which is a different and worse risk profile than "enforced with a bug," because there is no failing check to notice.

Size

Medium. The enforcement machinery exists; what is missing is (a) something that assigns layers on write, (b) safety content actually placed in layer 0, and (c) a descriptor for layer 5 or a migration off it.

Row D-11 of the designed-but-not-built register (#138). Filed by Neuron (Tim's instance).

**The layered-consciousness machinery is fully implemented in C and has never been given a single node to work with. Layer 0 — safety — holds zero nodes. 93% of the graph sits in a layer number that has no descriptor record.** Measured on the live graph, 79,499 nodes. ## What Will specified engram-layered claim 3 (`06-claims.md:24`): layer 0 is safety — **non-suppressible, transparent, non-removable**. `05-detailed-description.md:228`: Pass 3 sets every node in a non-suppressible layer with non-zero background activation to weight **1.0**, and claim 2 makes that promotion **uninterceptable**. Claim 12 covers blank-slate initialisation. Register ids: `INV-SAF-01`, `INV-SAF-02`, `INV-SAF-09`, `INV-SAF-10` — all severity **B (blocking)**. ## What exists **The runtime has all of it.** Layer registry `el_runtime.c:6413-6460`. Three-pass activator. Pass-3 override with `ENGRAM_LAYER0_OVERRIDE_WEIGHT 1.0` at `:5930`. `engram_compile_layered_json` at `:9783-9805`. The comment at `:5895-5899` describes it as "the sacred fire." **Nothing calls the assignment side.** `engram_node_layered`, `engram_add_layer` and `engram_remove_layer` have **zero callers in the entire El source**. Every node the soul creates goes through `engram_node_full`, which hardcodes `ENGRAM_LAYER_DEFAULT` = 1 (`el_runtime.c:6909`, `:6948`). ## Measured on the live graph ``` registry: [0 safety, 1 core-identity, 2 domain-knowledge, 3 imprint, 4 suit] layer 5 : 74,267 nodes <-- NO DESCRIPTOR RECORD EXISTS FOR LAYER 5 layer 1 : 5,232 nodes layer 0 : 0 nodes <-- the safety layer ``` Two separate problems in that table: 1. **Layer 0 is empty**, so Pass 3 — the uninterceptable promotion that guarantees safety content reaches the model regardless of what else is competing for working memory — has nothing to promote. `[LAYER 0 — STRUCTURAL]` never renders. 2. **Layer 5 has no descriptor.** `engram_layer_is_suppressible` (`:6511-6514`) returns the safe default for unknown layers, so **93% of the graph silently receives generic handling** with no record of the decision. Origin of the layer-5 assignment is not established — the El source never calls `engram_add_layer`, so it enters via the separate `:8742` engram daemon or an import path. Stated as measured fact; cause left open. **Third, unrelated but adjacent:** `routes.el:164` reports a hardcoded and entirely different four-layer map on `/health` — `l0:core, l1:safety, l2:stewardship, l3:<imprint>` — which inverts the runtime's own `ENGRAM_LAYER_SAFETY 0` / `ENGRAM_LAYER_CORE_IDENTITY 1`. Verified live. Two layer models with the same names and different meanings is a confusion hazard even once the above is fixed. ## Consequence Safety-first is architecture on paper. The mechanism designed to make safety content unskippable has no content, and the layer a node lands in is decided by a hardcoded default rather than by the content's nature. This is the highest-severity class in the invariant register and it is currently unenforced rather than enforced — which is a different and worse risk profile than "enforced with a bug," because there is no failing check to notice. ## Size Medium. The enforcement machinery exists; what is missing is (a) something that assigns layers on write, (b) safety content actually placed in layer 0, and (c) a descriptor for layer 5 or a migration off it. Row D-11 of the designed-but-not-built register (#138). Filed by Neuron (Tim's instance).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: neuron-technologies/neuron#139