diff --git a/quest/README.md b/quest/README.md index 2127f8b33..dd9587851 100644 --- a/quest/README.md +++ b/quest/README.md @@ -9,8 +9,9 @@ grouped into milestones ordered by priority. m0 holds urgent fixes. m1 is the work with a consumer waiting on it now: the UniFFI fork moq switches to, the exporter spike that may replace it, and -the fork's perf work. m2 is research: the TypeScript translator, a track moq -compares against its WASM route, and the fork's gated or speculative work. m3 +the fork's perf work. m2 is research: the TypeScript translator, which moq's +browser package adopts once it matches the handwritten one, and the fork's gated or +speculative work. m3 holds the build-speed tracks, which the [build-speed benchmark](/bench/build/README.md) rescopes before they start, and speculative work. m4 holds long-term research. @@ -22,8 +23,6 @@ Decided with the maintainer on 2026-10-23, when rust2 was planned from moq parts: the nix flake and direnv, just, the quest tree, and agent docs and hooks. - moq is the first consumer of each project, and pins rust2 as a flake input. - moq's browser line still ships WASM first; the translator here does not - replace that plan. - The first quest that adds a crate also adds the Cargo workspace (moq's workspace lints, including a reason on every suppression) and the cargo steps of `just check`. diff --git a/quest/m2/ts-model/README.md b/quest/m2/ts-model/README.md index d93a86d0a..97a8eba07 100644 --- a/quest/m2/ts-model/README.md +++ b/quest/m2/ts-model/README.md @@ -3,16 +3,19 @@ ## Goal [rust2-ts](/ts/README.md) translates moq-net's model layer, with the workspace crates it -calls (kio, moq-clock, moq-pattern), as it translates the codec today, so moq can compare -the source-translator route against its WASM build on the code a browser session runs. +calls (kio, moq-clock, moq-pattern), as it translates the codec today, so moq can ship +`@moq/net` as JavaScript translated from its Rust, in place of the handwritten package. ## Plan -Decided with the maintainer on 2026-10-23: moq still ships WASM first; this is the -research track. Once the model translates, moq compares it on the -[TS benchmark](/ts/README.md#bench), consuming the driver as the `ts` package of -this flake. That comparison adds moq's `js/net/bench/frames.ts`, a group stream read -into a group, to the benchmark's workloads, which hold only its sync frame headers. +Decided with the maintainer on 2026-11-01, after moq removed its WASM build +([moq-dev/moq#7475](https://github.com/moq-dev/moq/pull/7475)): the translated model is +moq's browser route, which moq's [JS-only `@moq/net`](https://github.com/moq-dev/moq/blob/main/quest/m2/rs2ts-js.md) +adopts once it matches the handwritten package in a full browser workload. Once the model +translates, moq measures it on the [TS benchmark](/ts/README.md#bench), consuming the driver +as the `ts` package of this flake. That adds moq's `js/net/bench/frames.ts`, a group stream +read into a group, to the benchmark's workloads, which hold only its sync frame headers. The +codec's WASM route stays in the benchmark as the baseline of compiled Rust in a browser. The codec's differential harness is the pattern to repeat. The shared npm runtime (for checked integer ops and the rest of `rt.ts`) is published only once two