This repository has been archived on 2026-08-20. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
el-retired/docs/v1/experiments/evidence/cycles/03-the-wrapper-was-conditional/0223-sec6-figures-source-and-rederivation.out
T
will d3495476f4
El SDK Release / build-and-release (push) Failing after 13m0s
kill: purge old-paradigm dist/platform binaries from tree
The generated C, amalgams, vendored runtime pins, and compiled binaries
from the Claude Code era are removed from the worktree. The El sources
survive; this tree is now source-only for the first-principles rebuild.

Per Principal direction 2026-08-19.
2026-08-19 19:46:15 -05:00

238 lines
16 KiB
Plaintext

=== A. The source of the figures: docs/architecture/el-language-design.md §6, at 4f7568b ===
---
## 6. The residue map
What each construct must absorb, from §18.0 plus measured state:
| Residue | Count | Absorbed by |
|---|---|---|
| persist-after-mutate | 62 sites | `hold` (after-crossing) |
| auth-per-route | 10 sites | `hold` (before-crossing) |
| index-after-append | 9 of 9 failed | `hold` (after-crossing) |
| env var defaults | 20 | configuration declared once |
| process identity | 0 guards | `hold` (before-crossing) |
| `geometry_free` at every call site | every site | ownership follows from `semel` |
| five ingest functions where there is one | 5 → 1 | `protocol` / `impl` |
| `el_runtime.c` | 20,504 lines | faculty decomposition, ordered after `semel` |
---
## 7. Notes carried forward
**`el-architecture.html` §04 needs its numbers sourced or cut.** An audit found the
faculty scoreboard — `Ingest 2 min → 0 nodes`, `Recall self ranked 8th`,
`Body CC 356 / 1,626 ln`, `the verifier answers in 2.9s`, `5 of 13 native suites
failing` — has no supporting evidence in the repository, under a footer asserting
*"nothing is inferred and presented as fact."* Against a corpus whose documents
supersede their own conclusions in place, that is the one file that would not survive
scrutiny. Fix or remove.
**Source as a projection surface is claimed and unimplemented.** `el-architecture.html`
§147/§150: *"if source is a surface, then emitting a corrected file is projection."*
Greps for `surface_profile_code`, `emit_source` → zero hits.
It is not unbacked. **It was demonstrated on 2026-08-14** — three faculties (phonetic,
semantic, procedural) projected into TypeScript, a surface the system had never used,
with the network severed. Recovered at
`~/Development/neuron-technologies/andre-server-recovered/` and copied into
`evidence/03-andre-demo/`. The claim needs bringing home to El, not proving.
**`hold` is the highest-leverage construct after `semel`** — it collapses 62 + 10 + 9
sites and unblocks the runtime extraction. §19.3 names the prologue/epilogue seam as
the prerequisite and its stated blocker has expired.
---
## 8. What is not decided and must not be guessed
=== B. Upstream population statement: lang/spec/language.md §18.0 / §19.1 / §19.2, at 4f7568b ===
El's units of encapsulation are the function and the module. Neither can hold a concern like that. So each one had been expressed the only way it could be — as a **convention**: *call this at every site.* Conventions of that shape do not hold. They are not enforced by anything, they are invisible in review, and they fail silently at the one site somebody forgot.
Measured in this codebase before this section existed:
| Concern | State | What the convention was |
|---|---|---|
| process identity | **zero** guards anywhere — no pidfile, no lock, no already-running check, at any layer | "check nothing is already running first" |
| configuration | **20** distinct environment variables in one program, each with its default written inline at the read site | "remember the right default here" |
| durability | **62** `persist_*` / `engram_save` / `wal_*` / `checkpoint` call sites | "after you mutate, remember to persist" |
| request auth | **10** per-route `_auth` checks | "check the token in this handler too" |
These are not four problems. They are one absence, four times.
That the convention form fails is observed, not predicted. Process identity failed three times in a single day: twice, two engram processes ran simultaneously against the same data directory; twice, a stale binary held a port and answered probes while a fresh build was believed to be under test, because `pkill -f` had silently failed to match its argv — which nearly produced a false "the fix does not work" conclusion. Configuration failed structurally: `ENGRAM_DATA_DIR` was read at six sites, five of them dead bindings, and the sixth defaulted to `/tmp/engram` — contradicting the canonical resolver's `$HOME/.neuron/engram` and landing a pre-destructive safety backup on ephemeral storage.
The `program` block is where a concern of this shape is declared once and enforced by the compiler at the process boundary.
---- §19.1 ----
Sections 19.1 and 19.2 specify the two remaining concerns from the table in 18.0. Both are **designed and deliberately unimplemented.** The reason is stated in 19.3 and it is not difficulty.
### 19.1 Durability as an epilogue effect
**The defect.** 62 call sites carry the convention *"after you mutate, remember to persist."* This is structurally the same defect as the index bug being fixed elsewhere in this tree — *"after you append, remember to index"* — which failed at **9 of 9** sites. A convention that failed at 100% of its sites is the strongest available evidence about what this class of convention is worth.
**Why the existing seam cannot express it.** §9's injection is a prologue. Durability is inherently an *epilogue*: persist after the mutation succeeds, and not at all if it threw. The seam has no epilogue.
**Design.** Extend the decorator seam from prologue-only to prologue/epilogue, then declare durability as an effect on the mutating function:
---- §19.2 ----
**Enforcement, and this is the part that actually fixes it.** Mirroring §9's `#error` for `dharma_emit`: a function that calls a mutating primitive without carrying `@durable` is a **compile error**. Otherwise this is a 63rd thing to remember rather than a replacement for 62.
### 19.2 Request authorization as a route effect
**The defect.** 10 per-route `_auth` checks. The HTTP layer has no concept of authorization, so a new route is unauthenticated by default and silently so — the failure mode is a route that forgot, and nothing anywhere reports it.
**Design.** Authorization becomes an argument to the `@route` decorator, which already takes arguments and already builds a dispatch table:
```
=== C. Attempted re-derivation of '62 persist-after-mutate sites' ===
The stated pattern set is: persist_* / engram_save / wal_* / checkpoint call sites.
No directory, glob, language, commit or call-vs-declaration rule is stated. Trying several scopes:
scope=. all-files=302 (*.el only under it: 69)
scope=engram all-files=151 (*.el only under it: 53)
scope=engram/src all-files=52 (*.el only under it: 52)
scope=lang all-files=122 (*.el only under it: 3)
scope=ql all-files=0 (*.el only under it: 0)
scope=peripheral all-files=5 (*.el only under it: 5)
--- tree-wide, *.el only ---
69
--- tree-wide, *.el only, per-symbol breakdown ---
12 persist_canonical(
10 engram_save(
7 wal_on(
7 persist_node(
6 persist_edges_since(
6 checkpoint(
4 wal_maybe_compact(
3 persist_resume(
3 persist_bulk(
2 wal_node_put(
2 wal_edges_since(
2 persist_now(
2 persist_hebb_batch(
1 wal_hebb_batch(
1 wal_compact(
1 wal_boot(
=== D. Attempted re-derivation of '10 per-route _auth checks' ===
occurrences of _auth tree-wide at 4f7568b:
4f7568b:engram/dist/engram:3
4f7568b:engram/dist/engram.c:4
4f7568b:engram/spec/grounded-edge-propagation/awareness.beat.patch.el:2
4f7568b:engram/spec/grounded-edge-propagation/server.route.patch.el:2
4f7568b:engram/src/server.el:11
4f7568b:ide/vessels/el-ide-server/src/el-ide-server:2
4f7568b:ide/vessels/el-ide-server/src/el-ide-server-asan:2
4f7568b:ide/vessels/el-ide-server/src/el-ide-server-asan.dSYM/Contents/Resources/DWARF/el-ide-server-asan:2
4f7568b:ide/vessels/el-lsp/src/el-lsp:2
4f7568b:ide/vessels/el-plugin-host/src/el-plugin-host:2
4f7568b:ingest/src/ingest.el:2
4f7568b:lang/BOOTSTRAP.md:1
4f7568b:lang/dist/elc-bootstrap.c:1
4f7568b:lang/dist/elc-new.c:1
4f7568b:lang/dist/platform/elb:2
4f7568b:lang/dist/platform/elb-darwin-arm64:2
4f7568b:lang/dist/platform/elb-linux-amd64:1
4f7568b:lang/dist/platform/elc:3
4f7568b:lang/dist/platform/elc-asan:3
4f7568b:lang/dist/platform/elc-asan.dSYM/Contents/Resources/DWARF/elc-asan:2
4f7568b:lang/dist/platform/elc-darwin-arm64:3
4f7568b:lang/dist/platform/elc-linux-amd64:2
4f7568b:lang/dist/platform/elc.20260502-0130-self-host:3
4f7568b:lang/dist/platform/elc.20260502-1104-self-host:3
4f7568b:lang/dist/platform/elc.20260502-1231-self-host:3
4f7568b:lang/dist/platform/elc.20260502-1249-self-host:3
4f7568b:lang/dist/platform/elc.20260502-1256-self-host:3
4f7568b:lang/dist/platform/elc.20260502-1321-self-host:3
4f7568b:lang/dist/platform/elc.20260502-1916-self-host:3
4f7568b:lang/dist/platform/elc.20260503-1555-post-sprint:3
4f7568b:lang/dist/platform/elc.20260503-1603-post-lsp:3
4f7568b:lang/dist/platform/elc.c:1
4f7568b:lang/dist/platform/elc.prelaunch.bak:3
4f7568b:lang/dist/platform/elc.preselfhost:3
4f7568b:lang/dist/platform/elc.prev5:2
4f7568b:lang/dist/platform/elc.prev6:2
4f7568b:lang/dist/platform/elc.prev7:3
4f7568b:lang/dist/platform/elc.prev8:3
4f7568b:lang/dist/platform/elc.prev9:3
4f7568b:lang/el-compiler/src/codegen.el:3
4f7568b:lang/elc-combined.el:1
4f7568b:lang/elc.c:1
4f7568b:lang/examples/browser-auth.el:3
4f7568b:lang/runtime/el_capture_darwin.m:7
4f7568b:lang/runtime/el_runtime.c:4
4f7568b:lang/runtime/el_runtime.h:1
4f7568b:lang/runtime/el_runtime_win32.c:1
4f7568b:lang/runtime/http.el:3
4f7568b:lang/spec/language.md:2
4f7568b:lang/swarm/primitives.el:2
4f7568b:lang/swarm/reshape_surface.el:3
4f7568b:lang/swarm/worktrack.el:1
4f7568b:lang/tests/native/test_compiler.el:8
4f7568b:lang/tools/lsp/dist/el-lsp:2
4f7568b:peripheral/src/organ_cli.el:1
4f7568b:tools/api-reshape/agentic_loop.el:6
4f7568b:tools/api-reshape/parity.sh:3
4f7568b:tools/neuron-sandbox/nsbx:3
4f7568b:ui/examples/native-hello-android/app/src/main/jni/el_runtime.c:2
4f7568b:ui/examples/native-hello-android/app/src/main/jni/el_runtime.h:1
4f7568b:ui/examples/native-hello-ios/NativeHello/el_runtime.c:2
4f7568b:ui/examples/native-hello-ios/NativeHello/el_runtime.h:1
4f7568b:ui/examples/native-hello/build-docker/runtime/el_runtime.c:2
4f7568b:ui/examples/native-hello/build-docker/runtime/el_runtime.h:1
4f7568b:ui/examples/native-hello/build-gtk4/.rt_T.txt:1
4f7568b:ui/examples/native-hello/build-gtk4/.rt_keep.txt:1
4f7568b:ui/examples/native-hello/build-gtk4/el_runtime.o:1
4f7568b:ui/examples/native-hello/build-gtk4/native-hello-gtk4:2
4f7568b:ui/examples/native-hello/build-win32/el_runtime_win32.o:1
4f7568b:ui/examples/native-hello/build-win32/native-hello.exe:2
4f7568b:ui/examples/native-hello/build/.rt_T.txt:1
4f7568b:ui/examples/native-hello/build/.rt_keep.txt:1
4f7568b:ui/examples/native-hello/build/el_runtime.o:1
4f7568b:ui/examples/native-hello/build/native-hello:2
4f7568b:ui/examples/native-hello/build/native-hello-linux-arm64:1
4f7568b:ui/examples/native-hello/build/native-hello-linux-x86_64:1
4f7568b:ui/examples/native-hello/build/native-hello-pi-arm64:1
4f7568b:ui/examples/native-hello/build/native-hello-sdl2:2
4f7568b:ui/vessels/el-aop/src/main.el:3
4f7568b:ui/vessels/el-identity/src/main.el:4
4f7568b:ui/vessels/el-platform/src/main.el:2
4f7568b:ui/vessels/el-services/src/main.el:2
lines matching _auth in engram/src:
4f7568b:engram/src/server.el:49: // Default "" leaves auth DISABLED (check_auth_ok short-circuits to true on an
4f7568b:engram/src/server.el:809:// "preserve_edges": true, "_auth": "<key>"}
4f7568b:engram/src/server.el:899:// Auth: exempt (internal endpoint, soul daemon on same host, no _auth needed).
4f7568b:engram/src/server.el:900:// The soul's ise_post() sends {"content":"..."} without _auth; enforcing auth
4f7568b:engram/src/server.el:950:// Endpoint: POST /api/neuron/knowledge/capture (auth required: "_auth" in body)
4f7568b:engram/src/server.el:953:// "_auth": "<key>"}
4f7568b:engram/src/server.el:1958:fn check_auth_ok(method: String, body: String) -> Bool {
4f7568b:engram/src/server.el:1963: // requests must include "_auth": "<key>" in the JSON body.
4f7568b:engram/src/server.el:1965: let provided: String = json_get_string(body, "_auth")
4f7568b:engram/src/server.el:1982: // ISE posting is auth-exempt (internal soul daemon, same host, no _auth key)
4f7568b:engram/src/server.el:1988: if !check_auth_ok(method, body) {
=== E. Attempted re-derivation of 'index-after-append failed at 9 of 9' ===
--- searching for: index-after-append
4f7568b:docs/architecture/el-language-design.md:199:| index-after-append | 9 of 9 failed | `hold` (after-crossing) |
4f7568b:lang/el-compiler/src/codegen.el:4224:// persist-after-mutate sites and 9-of-9 failed index-after-append sites — every
--- searching for: 9 of 9
4f7568b:design/completing-el.html:97:<tr><td class="f">Index-after-append</td><td class="m">9 of 9 failed</td><td>"after you append, remember to index"</td></tr>
4f7568b:docs/architecture/el-architecture.html:105:<tr><td class="f">Index-after-append</td><td class="m">9 of 9 failed</td><td>"after you append, remember to index"</td></tr>
4f7568b:docs/architecture/el-language-design.md:25:| Index-after-append | 9 of 9 failed | "after you append, remember to index" |
4f7568b:docs/architecture/el-language-design.md:199:| index-after-append | 9 of 9 failed | `hold` (after-crossing) |
4f7568b:lang/spec/language.md:1237:**The defect.** 62 call sites carry the convention *"after you mutate, remember to persist."* This is structurally the same defect as the index bug being fixed elsewhere in this tree — *"after you append, remember to index"* — which failed at **9 of 9** sites. A convention that failed at 100% of its sites is the strongest available evidence about what this class of convention is worth.
--- searching for: 9-of-9
4f7568b:lang/el-compiler/src/codegen.el:4224:// persist-after-mutate sites and 9-of-9 failed index-after-append sites — every
--- searching for: remember to index
4f7568b:design/completing-el.html:97:<tr><td class="f">Index-after-append</td><td class="m">9 of 9 failed</td><td>"after you append, remember to index"</td></tr>
4f7568b:docs/architecture/el-architecture.html:105:<tr><td class="f">Index-after-append</td><td class="m">9 of 9 failed</td><td>"after you append, remember to index"</td></tr>
4f7568b:docs/architecture/el-language-design.md:25:| Index-after-append | 9 of 9 failed | "after you append, remember to index" |
4f7568b:lang/spec/language.md:1237:**The defect.** 62 call sites carry the convention *"after you mutate, remember to persist."* This is structurally the same defect as the index bug being fixed elsewhere in this tree — *"after you append, remember to index"* — which failed at **9 of 9** sites. A convention that failed at 100% of its sites is the strongest available evidence about what this class of convention is worth.
--- searching for: after you append
4f7568b:design/completing-el.html:97:<tr><td class="f">Index-after-append</td><td class="m">9 of 9 failed</td><td>"after you append, remember to index"</td></tr>
4f7568b:docs/architecture/el-architecture.html:105:<tr><td class="f">Index-after-append</td><td class="m">9 of 9 failed</td><td>"after you append, remember to index"</td></tr>
4f7568b:docs/architecture/el-language-design.md:25:| Index-after-append | 9 of 9 failed | "after you append, remember to index" |
4f7568b:lang/spec/language.md:1237:**The defect.** 62 call sites carry the convention *"after you mutate, remember to persist."* This is structurally the same defect as the index bug being fixed elsewhere in this tree — *"after you append, remember to index"* — which failed at **9 of 9** sites. A convention that failed at 100% of its sites is the strongest available evidence about what this class of convention is worth.