Skip to content

polyengine 0.5.0; @polymorph/webrtc-datachannels 0.5.0 - #166

Merged
lann merged 1 commit into
mainfrom
polyengine-0.5.0
Aug 23, 2026
Merged

polyengine 0.5.0; @polymorph/webrtc-datachannels 0.5.0#166
lann merged 1 commit into
mainfrom
polyengine-0.5.0

Conversation

@lannbot

@lannbot lannbot commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Adopt the A22 protocol/runtime split: polyengine-impl (the published
host module) depends on @polyengine/protocol alone
(jsr:@polyengine/protocol@^0.2.2). Vocabulary imports move to protocol,
and recognition goes brand-predicate per the A22 rule that instanceof
against engine classes is not contract behavior: "stream instanceof
Stream" becomes isStream(stream), "error instanceof ComponentException"
becomes isComponentException(error).

The driver-ct configs (deno + browser) bump the lockstep pins to 0.5.0
and exact-pin @polyengine/protocol@0.2.2; signaling.ts's
ComponentException import moves to protocol.

check-polyengine-pin.sh learns the two-line world: one runtime-line
version across the two driver locks that still load the embedder, one
protocol version across all three locks, and polyengine-impl names no
@polyengine/runtime specifier at all.

Gates: polyengine-check (pin gates + impl check/tests 13/13 + driver
check), conformance loopback matrix all pass (24 solo + 13x2 pair
cases, node-datachannel backend).

Adopt the A22 protocol/runtime split: polyengine-impl (the published
host module) depends on @polyengine/protocol alone
(jsr:@polyengine/protocol@^0.2.2). Vocabulary imports move to protocol,
and recognition goes brand-predicate per the A22 rule that instanceof
against engine classes is not contract behavior: "stream instanceof
Stream" becomes isStream(stream), "error instanceof ComponentException"
becomes isComponentException(error).

The driver-ct configs (deno + browser) bump the lockstep pins to 0.5.0
and exact-pin @polyengine/protocol@0.2.2; signaling.ts's
ComponentException import moves to protocol.

check-polyengine-pin.sh learns the two-line world: one runtime-line
version across the two driver locks that still load the embedder, one
protocol version across all three locks, and polyengine-impl names no
@polyengine/runtime specifier at all.

Gates: polyengine-check (pin gates + impl check/tests 13/13 + driver
check), conformance loopback matrix all pass (24 solo + 13x2 pair
cases, node-datachannel backend).
@lann
lann enabled auto-merge August 23, 2026 03:43
@lann
lann merged commit db187f4 into main Aug 23, 2026
4 checks passed
@lann
lann deleted the polyengine-0.5.0 branch August 23, 2026 03:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants