DONE
Full WordPress suites at effective oracle parity.
The single-site suite runs 30,472 tests and multisite 31,278. Each has one declared name-diff, caused by an intentionally honest wrapper list.
ROADMAP
The sequence follows technical gates, not arbitrary dates. Each phase must preserve oracle behavior and unlock a measurable use case.
DONE
The single-site suite runs 30,472 tests and multisite 31,278. Each has one declared name-diff, caused by an intentionally honest wrapper list.
DONE
The performance arc reduced full-suite CPU from roughly 4.1× to a current 2.06–2.11× reference band. WP-72 closed the measured per-request residual to 0.0010 KiB/request and unblocked the Axum route.
NOW
Because a VM contains Rc-based state and is !Send, each long-lived worker is pinned to its own OS thread. Axum dispatches requests through mpsc message passing; the explicit request lifecycle is wired, while a bounded queue and backpressure remain shipping gates.
NEXT GATE
The thread-persistent RetainSet and its two-request opening gate have landed. Next come a truly reused VM, K=10 amplification, a fresh-vs-reuse oracle pair and lifecycle-order checks before any persistent-VM claim.
AFTER THE BOUNDARY
Once the reuse boundary is byte-faithful and memory-bounded, the project can measure queueing and throughput honestly, continue hardening, validate Laravel and close high-value extension gaps.
LONG-TERM VISION
The VM remains synchronous. A per-thread driver can later suspend and resume Fibers around real non-blocking I/O, after the resident lifecycle and relevant network/database drivers are proven.
ARCHITECTURAL NOTE
The rejected task_local route could not provide genuine reuse for a non-Send VM. The design converges on php-fpm-style worker actors: dedicated OS threads, mpsc dispatch, one owner, and a Zend-ordered request_start → run → request_shutdown → request_end boundary. The implementation must still move from its unbounded channel to explicit backpressure before shipping.
Fresh and reused request paths must produce the same named outcomes as PHP.
Request state must reset without residual growth under amplification and sustained workloads.
Claims require paired oracle runs, user CPU and footprint ladders—not isolated wall-clock anecdotes.
Exceptions, shutdown handlers, buffers, destructors and sessions must execute in the correct order.
A bounded worker queue must fail predictably rather than creating unbounded tasks or threads.
Pools, preload and async ship only when a real workload proves both the need and the implementation.
Current route: NEXT_SESSION_WORDPRESS.md ↗ · performance evidence: GAP_TREND.md ↗ · async and distribution architecture ↗