routes: @route dispatch conversion + latent Bool/String crash fixes + soul.c regen #151
Closed
will.anderson
wants to merge 0 commits from
el-route-decorators into main
pull from: el-route-decorators
merge into: :main
:main
:docs/correspondence-and-ownership-2026-08-16
:fix/engram-is-canonical
:fix/graph-edges-no-canonical-clobber
:docs/architecture-2026-08-14-deep-night
:fix/mcp-wrapper-agentic-routing
:merge-pr154-v2
:merge-pr151-v2
:merge-pr150-v2
:merge-pr149-v2
:build-audit-1786832983
:fix-mcp-wrapper-tool-schemas
:docs-cognitive-architecture
:docs/session-2026-08-13-language-faculty
:docs/geo-operators-el-cutover-reversal-2026-08-13
:docs/engram-cognitive-architecture-2026-08-12
:engram-store-wiring
:el-route-decorators
:fix/bound-session-payload
:rebase/openai-tools-onto-main
:rebase/gate-state-key-reads-onto-main
:feat/gold-set-heldout
:feat/structural-audit
:feat/claim24-unfloored-semantic
:feat/executive-filter-recall
:feat/recall-through-activation
:chore/regen-soul-amalgam-20260807
:reconcile/hotfix-to-main-launch
:salvage/elh-state-20260704
:feat/plan-mode-endpoint
:fix/operator-identity-home-resolution
:fix/prevent-engram-corruption
:improve/recall-context-format
:improve/recall-context-dedup
:improve/recall-cross-session-continuity
:improve/recall-emotional-recall
:improve/recall-activation-seed
:improve/recall-recall-completeness
:improve/recall-temporal-precision
:improve/recall-engram-scoring
:improve/recall-recall-reliability
:docs/conversation-retrieval-design
No Reviewers
Labels
Clear labels
BETA-CRITICAL
blocks-public-beta
HELD
ORTHOGONAL
P0
POST-BETA
security
On the beta critical path — must resolve before ship
Must be fixed before any public beta
Blocked pending an external decision (counsel / dual sign-off)
Parallel workstream (testing/hardening) — safe to assign off critical path
Drop-everything severity
Important but not blocking the beta ship
Security vulnerability
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: neuron-technologies/neuron#151
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "el-route-decorators"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Convert routes.el from ~89 hand-written dispatch branches to 75 @route-decorated handlers with VBD roles (@manager/@accessor/@utility), driven by the modular compiler @route dispatch (el PR feat/el-route-decorators). routes.elh updated.
Latent bugs fixed (surfaced because the modular compiler, unlike the old inlining compiler, faithfully emits every source statement per-module):
dist/soul.c regenerated through the bounded per-module path (modular elc per module + amalgamation embedding dist/elp-c-decls.h), never by folding soul.el through elc (27GB OOM).
Verified on a throwaway snapshot/port (live untouched): boots with awareness active and no segfault; @route dispatch matches the manual dispatcher on all sampled routes + the 4 hazard pairs (distinct, non-shadowing); consolidate returns 200 instead of segfaulting.
NOTE: pushed to top-level branch el-route-decorators because refs/heads/feat/* is blocked server-side (permission denied on the ref lock) on this repo.
Base main. Review only, do not merge.
Convert routes.el from ~89 hand-written dispatch branches to 75 @route-decorated handlers with VBD roles (@manager/@accessor/@utility), driven by the modular compiler's native @route dispatch. routes.elh updated to match. Fix four latent bugs that the modular compiler surfaces (unlike the old inlining compiler, it faithfully emits every source statement, so per-module compilation no longer silently drops code): - safety.el: malformed soft-phrases literal (extra unescaped quote) - sessions.el: str_replace quote arg + topic_tags JSON escaping - memory.el mem_save and neuron-api.el consolidate: engram_save returns a Bool, not a String; str_eq(result, "") dereferenced the Bool value (0x1) as a char*, segfaulting the awareness loop on boot and POST /api/neuron/consolidate. Check it as a Bool (if !save_result). The old compiler dropped these checks, masking the bug in the shipped dist/soul.c. Regenerate dist/soul.c through the bounded per-module path (modular elc per module plus amalgamation that embeds dist/elp-c-decls.h), never by folding soul.el through elc (27GB OOM). Verified on a throwaway snapshot and port: boots with the awareness loop active and no segfault, @route dispatch matches the manual dispatcher across all sampled routes and the four shadowing-hazard pairs, and consolidate returns 200.Pull request closed