48 Commits

Author SHA1 Message Date
root
c0f3c5507c fix doc example cache path 2026-06-21 20:59:01 +00:00
root
4eda629c8d cleanup, docs 2026-06-17 13:02:57 +00:00
root
b8b56cf3dd cleanup, docs 2026-06-16 23:02:45 +00:00
root
ea08d5f28b cleanup, docs 2026-06-16 12:21:31 +00:00
root
dff1959341 cleanup, error pages 2026-06-16 08:46:54 +00:00
root
f2a3503ac3 configurable trans-membrance hostcall blocklist 2026-06-16 01:13:06 +00:00
root
52cf266a5e docs 2026-06-15 21:46:31 +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
75bccb778c W7 done done 2026-06-15 11:14:03 +00:00
root
ad2ba7b632 W7 done done 2026-06-15 11:08:44 +00:00
root
abcb66717e W7 done done 2026-06-15 11:06:35 +00:00
root
1743c51e46 W7 done done 2026-06-15 11:04:16 +00:00
root
04745f39a8 W7 done done 2026-06-15 10:53:36 +00:00
root
f5637bb587 W7 done done 2026-06-15 10:28:23 +00:00
root
4f84ac544d feat: request_perf() worker-side timing hostcall; restore demo System Info
Units run in the wasm sandbox, so my_pid/parent_pid/context.server->request_count
read as sandbox stubs — the demo System Info counters were broken, and there was
no authoritative server-side request timing available to unit code (client-side
measurement cannot see queue/dispatch latency).

Add a request_perf() unit API backed by a new uce_host_request_perf hostcall.
The native worker answers it live, returning a DValue:
  worker_pid, parent_pid, request_count,
  accept_us  = (time_start - time_init)*1e6   (entry -> dispatch wait),
  running_us = (now - time_start)*1e6         (since dispatch, live),
  total_us   = (now - time_init)*1e6          (since the request entered UCE),
  workspace_birth_us.
time_init is captured at request entry (handle_request, with a handle_complete
fallback); a RequestPerfSnapshot {pids, request_count, time_init, time_start} is
threaded from wasm_backend_serve through wasm_worker_serve onto the workspace,
and the hostcall computes the live deltas at call time. Wired like uce_host_units
(sized DValue hostcall): core_hostcalls.syms + sys.cpp/sys.h request_perf().

site/demo/index.uce System Info now uses request_perf() and shows the real worker
PID, an incrementing per-worker request count, and the timing counters.

Implemented via the pi agent (gpt-5.3-codex-spark); a review of the live numbers
caught accept_us mistakenly computed as (now - time_init) (== total_us), fixed to
the dispatch wait (time_start - time_init). Independently verified on the host:
System Info shows non-zero PIDs, incrementing count, accept_us ~50us << total_us
~2.4ms with accept+running==total; run_cli_tests --include-wasm-kill => 87 passed,
0 failed, 0 skipped.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 08:18:04 +00:00
root
bfd6d33829 W7f: sweep dead/legacy/fallback leftovers after native-pipeline removal
Post-deletion cleanup (units run only on wasm):
- types.h/compiler.cpp: drop the native-era SharedUnit fields so_name,
  bin_file_name, and the opt_so_optional cache-mode plumbing (no native
  optional .so path remains). The per-unit compile lock is re-keyed from
  so_name+.lock to wasm_name+.lock (still per-unit).
- unit_info() and to_string(SharedUnit*) no longer expose .so artifact fields.
- backend.h: drop the stale "+ fallback-token gate" comment.
- Docs/comments corrected to wasm-only reality: README, tests/README,
  site/doc C++ preprocessor + error_pages + unit_info pages, site/info intro,
  site/demo/unit-browser artifact card; the Phase-5 native-vs-wasm benchmark
  harness (tests/wasm_benchmark.py) reframed for the wasm-only backend.

Audit confirmed no live references remain to so_handle, load_shared_unit,
compiler_load_shared_unit, compiler_invoke*/_cli/_websocket/_serve_http,
COMPILE_SCRIPT/COMPILE_WASM_UNITS, or the native export-symbol constants;
request_ref_handler/dv_call_handler are kept (live wasm funcref casts).

Swept via the pi agent (delegated to a gpt-5.3-codex-spark sub-model);
independently re-verified on the 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:43:16 +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
root
15e8d092bc W7+ 2026-06-14 01:37:39 +00:00
udo
6bb4f7f0ad test: port network suite to uce cli runner 2026-06-13 22:58:35 +00:00
udo
af6500d134 fix: harden wasm w7 entrypoint paths 2026-06-13 22:08:52 +00:00
root
d6421cb8f3 feat: extend wasm backend entrypoints 2026-06-13 21:50:19 +00:00
udo
5a56d4f39e W5 2026-06-13 15:10:42 +00:00
Udo
afaa4dd7c0 feat: cut over to WASM backend 2026-06-13 08:42:31 +00:00
udo
577aae076e W3 2026-06-13 02:07:38 +00:00
udo
961df2d542 phase 5 2026-06-12 19:55:35 +00:00
udo
80285b7fb4 feat: implement WASM phase 1 DValue ABI 2026-06-12 12:42:56 +00:00
udo
7066da3cde refactor: rename DTree to DValue 2026-06-12 11:05:52 +00:00
udo
941f5aea08 feat: add configurable UCE error pages 2026-06-12 08:59:09 +00:00
udo
20db669589 fix: stabilize runtime follow-up regressions 2026-06-11 23:03:07 +00:00
udo
7f757654b6 fix: harden UCE runtime and starter 2026-06-11 13:44:24 +00:00
Udo
71ddcaf7d4 Consolidate config and base64 helpers 2026-05-21 10:31:21 +00:00
Udo
41e9ca219f Streamline hardening helpers and expand coverage 2026-05-21 10:12:11 +00:00
Udo
0d8b74930c Harden HTTP path headers sessions and archives 2026-05-21 09:56:25 +00:00
Udo
d37517041d Add custom server API and runtime limits 2026-05-21 09:36:23 +00:00
Udo
02e153a6a7 Add archive helpers and harden task runtime 2026-05-21 00:00:23 +00:00
Udo
9f7625c7fd working on documentation and more API functions 2026-04-29 12:09:37 +00:00
Udo
cd445f3c9b some cleanup 2026-04-28 12:10:07 +00:00
Udo
223cf4c6e1 website with slop placeholders 2026-04-22 13:31:51 +00:00
Udo
14ebf10a22 changing doc format and HTML literals 2026-04-22 09:31:00 +00:00
Udo
f7b066b374 changing doc format and HTML literals 2026-04-22 01:56:46 +00:00
Udo
8223dcc6b3 I think I need to change the documentation format 2026-04-22 01:32:05 +00:00
udo
b53eb6e4f1 Enhance template parser to handle C++ comments and refactor preprocessing logic
- Updated parser to correctly interpret C++ `//` and `/* ... */` comments within template code.
- Split preprocessing implementation into separate files for better organization.
- Added regression test for comment parsing in templates.
- Adjusted CSS styles for improved layout and readability in documentation.
2026-04-20 21:41:23 +00:00
Udo
dc05f9faa5 PHP familiarity shortcuts 2026-04-19 21:15:52 +00:00
Udo
af642c8167 getting closer to full port of web app starter 2026-04-19 19:44:18 +00:00
Udo
d1167aec3b getting closer to full port of web app starter 2026-04-19 19:09:21 +00:00
Udo
2b5586d7df decided in favor of dedicated COMPONENT() macro, updates to documentation 2026-04-19 11:34:03 +00:00
Udo
be514d63d6 trying to port web app starter from PHP 2026-04-19 09:38:23 +00:00