feat(el-runtime): native Windows port of el_runtime.c (+ engram_node_full corruption fix) #55

Open
tim.lingo wants to merge 2 commits from feat/windows-el-runtime into stage
Member

Native Windows port of el_runtime.c plus the engram_node_full corruption fixes the port was based on (2026-06-15).

Commits (not yet in main):

  • Fix engram_node_full wrapper field corruption + add node_type/tier validation
  • allow SessionSummary node_type in validation allowlist
  • native Windows port of el_runtime.c (winsock/dlsym/CreateProcess)
  • promote http_handler typedefs to el_runtime.h (cross-module + Windows)

The first two are engram data-integrity fixes; the last two are the Windows runtime port. Opening for Will to review.

🤖 Generated with Claude Code

Native Windows port of el_runtime.c plus the engram_node_full corruption fixes the port was based on (2026-06-15). Commits (not yet in main): - Fix engram_node_full wrapper field corruption + add node_type/tier validation - allow SessionSummary node_type in validation allowlist - native Windows port of el_runtime.c (winsock/dlsym/CreateProcess) - promote http_handler typedefs to el_runtime.h (cross-module + Windows) The first two are engram data-integrity fixes; the last two are the Windows runtime port. Opening for Will to review. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
tim.lingo changed target branch from main to stage 2026-06-17 18:32:34 +00:00
tim.lingo added 2 commits 2026-06-17 18:32:35 +00:00
Compiles for Windows x64 via mingw-w64 and still compiles clean on POSIX
(darwin/linux) — all Windows code is behind #ifdef _WIN32, POSIX path unchanged.

- el_platform_win.h (new): winsock2 + auto WSAStartup, el_closesocket(),
  dlsym->GetProcAddress, popen/_popen, mkdir/_mkdir, setenv/_putenv_s,
  timegm/_mkgmtime, localtime_r/gmtime_r. Threading unchanged — mingw
  winpthreads supplies <pthread.h> + -lpthread.
- el_runtime.c: include block guarded; 10 socket-close sites -> el_closesocket();
  setsockopt arg4 cast; tm_zone guarded; exec_bg fork/exec -> CreateProcess.

Part of feat/windows-port. Core-el change, for Will's review.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
fix(el-runtime): promote http_handler typedefs to el_runtime.h (cross-module + Windows)
El SDK Release / build-and-release (pull_request) Failing after 13m0s
a36a62ca14
http_handler_fn / http_handler4_fn were defined only inside el_runtime.c, so soul
modules (routes/chat/...) that reference them via cross-module forward declarations
couldn't see the types — which broke the Windows link of every module. Moving the
public function-pointer types to the shared header is the correct home and unblocks
the build on all platforms (identical typedef, C11-safe redefinition in el_runtime.c).

With this, the soul links into a native Windows neuron.exe (mingw, static) that boots
and serves HTTP on :7770 — verified /health → 200 {"status":"alive",...} in a Win11 VM.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Some required checks failed
El SDK Release / build-and-release (pull_request) Failing after 13m0s
This pull request has changes conflicting with the target branch.
  • lang/el-compiler/runtime/el_runtime.c
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/windows-el-runtime:feat/windows-el-runtime
git checkout feat/windows-el-runtime
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: neuron-technologies/el#55