19 Commits

Author SHA1 Message Date
udo
d7f4749f9f test: label expected source read failures 2026-07-14 06:23:50 +00:00
udo
afb17fc334 test: retry transient doc gate reads 2026-07-14 04:34:52 +00:00
udo
2a1400b78c test: run CLI gates by group 2026-07-14 04:04:55 +00:00
udo
9d707a1c04 Document source read failures 2026-07-14 02:52:36 +00:00
udo
096138d6a1 Fix wasm compile source race 2026-07-13 22:47:48 +00:00
root
8da6cad305 fix: retain resolved component paths 2026-07-13 21:26:01 +00:00
udo
92baaa6299 fix: prevent stale mutation execution 2026-07-13 20:17:48 +00:00
udo
a288b539c6 Reject unreadable UCE source units 2026-07-13 15:28:35 +00:00
udo
cd2fa163e6 keep CLI units current during rebuilds 2026-07-13 14:20:29 +00:00
udo
97ecc6edd6 keep web requests off rebuild path 2026-07-13 12:25:42 +00:00
udo
5195ebeb25 avoid request stalls during proactive rebuilds 2026-07-13 12:12:14 +00:00
udo
fe88d4143e Keep warm wasm workers alive 2026-07-13 08:59:11 +00:00
udo
f7e9c5a4ec Exclude cold module loads from guest deadlines 2026-07-13 08:51:46 +00:00
udo
73a2671112 Invalidate warmed wasm modules precisely 2026-07-13 08:36:55 +00:00
root
991a0f62b4 harden runtime config and docs 2026-06-27 20:58:07 +00:00
root
99cd92fb4a docs 2026-06-15 21:42:50 +00:00
root
1a5c6547b9 post-W7 cleanup 2026-06-15 12:00:46 +00:00
root
cf51336873 W7e: delete the native unit pipeline (.so compile + dlopen execution)
Units now run exclusively on wasm; the native generated-C++ -> clang -> .so ->
dlopen path and its request-time fallback are removed.

- Dispatch (linux_fastcgi.cpp): the 4 handle_complete branches + the CLI-socket
  path route every request through wasm (wasm_ready compiles cold/stale on
  demand); a wasm-unavailable unit now yields a clean error page
  (fail_wasm_unavailable / render_request_failure) instead of native execution.
  compiler_invoke / _cli / _websocket / _serve_http deleted.
- compiler.cpp (-1274): removed the native .so compile (COMPILE_SCRIPT),
  load_shared_unit, dlopen/dlsym/dlclose, compiler_load_shared_unit, and the
  SharedUnit .so function-pointer fields (on_setup/on_render/on_component/
  on_websocket/on_cli/on_once/on_init) in types.h/types.cpp. compile_shared_unit
  now builds only the .wasm side-module; the .uce preprocessor/parser front-end
  is kept (it emits the C++ the wasm compile consumes).
- unit_call()/component()/once/init now resolve across units through the wasm
  host component resolver (uce_host_component_resolve) instead of native dlsym;
  configured runtime error pages render through the wasm backend.
- Dropped the WASM_BACKEND_ENABLED feature flag and dead COMPILE_SCRIPT /
  COMPILE_WASM_UNITS config; unit ABI freshness tied to UCE_UNIT_ABI_VERSION;
  guard against serving a stale .wasm for a deleted source; retired the obsolete
  W5 native-vs-wasm toggle script. Docs updated.

Implemented via the pi agent (with 3 delegated sub-reviews); independently
re-verified on the build host: run_cli_tests --include-wasm-kill => 87 passed,
0 failed, 0 skipped.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 23:20:50 +00:00
root
8587fbc5aa wasm runtime: central WS broker, unified handlers, W7d holdouts, membrane completeness
- WS: a dedicated broker process owns HTTP_PORT + every connection; it forwards
  renders to the worker pool over uce.sock (non-blocking) and applies ws_*
  command batches flushed back at workspace teardown. Removes the now-dead
  per-worker websocket executor (-509 lines).
- Dispatch: unify CLI / WebSocket / serve_http / page render through one
  serve_via_wasm(entry_unit, handler) path; handler string -> __uce_<handler>
  export symbol.
- W7d: rewrite zip.uce to the membrane return-value error contract (no C++
  try/catch), error-reporting.uce to genuine wasm traps instead of throw, and
  sharedunit.uce to unit_info(); empty the native-only token gate.
- Membrane: wire ls / mkdir / file_mtime through new uce_host_file_list /
  uce_host_file_mkdir / uce_host_file_mtime hostcalls (resolve_guest_file gains
  directory support). Fixes /doc/index.uce listing nothing; adds a regression
  assertion that the index enumerates items.
- Docs: add docs/wasm-runtime-architecture.md; record the W7e staged native-
  deletion plan in WASM-PROPOSAL.md.

Verified: scripts/run_cli_tests.sh --include-wasm-kill -> 87 passed, 0 failed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 17:51:51 +00:00