Repository navigation
Deltic leg: the conformance suite runtime-linked on stock Deno - #40
Merged
Merged
Conversation
First leg of the jco-replacement migration in this repo (polymorph-components/polyengine#14), side by side with the existing targets - nothing jco-side changes. - js/deltic/websocket.ts: the deltic-native host module - js/jco/websocket.js ported to deltic's embedder API (typed streams, WitError), upstreamed from deltic's ports/websocket reference; the one behavioral delta (Deno's abnormal-close code 0) documented in its README. Unit tests against a local echo server. - conformance/driver-ct/deltic/: the deltic-deno target - no transpile step, no generated tree, no engine flag; async exports run on the callback ABI. run.ts mirrors jco/run-node.mjs (same bounds, same echod protocol, same WS_CONFORMANCE_* env). - The pin: deltic release pre-66a6b8c in two import maps (deno.lock enforced --frozen) + fetch-translator.ts (translator-shim release asset by sha256, cached under target/deltic/), cross-checked at run time. - Matrix: 55/55 on all five targets (275 results, 0 failing). - CI: the conformance job gains pinned Deno 2.9.5; deltic-module-check joins gha::conformance-checks.
The aggregate composite action re-runs aggregation for the job summary with its own results input; with targets.toml now declaring five targets, four results fail its validation (target `deltic-deno`: no results). The just-recipe gate earlier in the job already passed on all five legs.
lann
pushed a commit
that referenced
this pull request
Aug 10, 2026
… the demo (#42) * retire jco: deltic carries every JS-host row, the parity carrier, and the demo The deltic legs (#40 deno, #41 browser) have run green beside the jco legs across the full 55-case matrix. This removes the jco driver tree, the jco host module (js/jco/websocket.js — provenance citations in js/deltic/websocket.ts now read against its last revision, c9252be), the jco demo, and the shared transpile wrapper. The WPT parity gate keeps its exact semantics — baseline vs round trip, per-engine loss ratchets — with the carrier swapped: the runner component is runtime-linked by deltic against js/deltic/websocket.ts (one bundled carrier module for both engine drivers; no transpile tree, no JSPI flag). componentize-js, the guest toolchain, is untouched. Both loss sets were empty under jco and stay empty under deltic — the new carrier loses nothing against either baseline. The demo runs under Deno through the same single pin site (conformance/driver-ct/deltic): just demo::deltic. * ci: drop the parity lock from the setup action's pins gate The parity tree no longer carries a component-test-js pin (the dep was unused and removed with the jco carrier), so the action's pins gate fails on a lock with nothing to check — the justfile's _ct-tools gate already made this move; ci.yml missed it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First leg of the jco-replacement migration in this repo (lann/deltic#14), side by side with the existing targets — nothing jco-side changes. Follows the pattern polymorph-test merged in #75.
What: a fifth conformance target
deltic-deno— the suite runs runtime-linked under deltic on stock Deno: no transpile step, no generated tree, no--experimental-wasm-jspi; async exports run on the callback ABI.js/deltic/websocket.ts— the deltic-native host module:js/jco/websocket.jsported to deltic's embedder API (typed streams,WitError), upstreamed from deltic'sports/websocketreference where this suite already ran 55/55. The one behavioral delta (Deno's abnormal-close code 0) is documented in its README. Unit tests against a local echo server.conformance/driver-ct/deltic/run.ts— the leg: mirrorsjco/run-node.mjsexactly (same bounds — 256 KiB inbound / 5 s connect / 3 s close / 60 s case wall — same echod LISTENING scrape, sameWS_CONFORMANCE_*env,DENO_CERTas the analogue ofNODE_EXTRA_CA_CERTS). All 55 cases run, incl. the threewebsocket/tls/*.Pinning: deltic release
pre-66a6b8c, in two import maps (conformance/driver-ct/deltic/deno.json+js/deltic/deno.json; integrity via committeddeno.locks, enforced--frozen) andfetch-translator.ts(TAG + sha256 for the translator-shim release asset, cached undertarget/deltic/) — cross-checked at run time, incl. the module-identity constraint on the shared@deltic/runtime/embedderURL. Bump procedure inconformance/driver-ct/deltic/README.md.Gates run locally:
just conformance-ct(full five-target matrix: build, lock-check, wasmtime, jco-node, jco-browser, composed, deltic-deno, aggregate, matrix-check) —5 targets, 275 results, 0 failing;deltic-deno55/55 in ~15 s.just checkand thejs/delticunit tests green. CI gains a pinneddenoland/setup-denostep in the conformance job;deltic-module-checkjoinsgha::conformance-checks.