contracts: refresh upstream JS-API draft annotations after its redesign (#115) - #253
Merged
Merged
Conversation
…gn (#115) The upstream draft tracked in #115 was redesigned from a WebIDL web embedding to a JS-API (2026-08-21). Three annotations in contracts/embedder-api.md referenced the old draft's facts: - terminology note: the { kind, value } variant dictionary survived the redesign, and its nested-option boxing now matches our option rule - Error model: the draft's exception converged on our shape (extends Error + structured payload; DOMException gone) but renamed itself to ComponentError; our rename is deferred, tracked in #115 - platform-class pattern: the draft's import story is now normatively this pattern (constructor + prototype reads, @@isWasmResourceOf brand) Behavior-neutral; issue #115's watchlist rewritten in the same pass.
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.
Docs-only refresh of the three
contracts/embedder-api.mdannotationsthat described the upstream draft tracked in #115, stale since that PR's
2026-08-21 redesign from WebIDL web-embedding to JS-API (refs kept
non-linkifying deliberately — no backlink noise upstream):
{ kind, value }dictionarysurvived the redesign, and the draft's
option<option<T>>boxing nowmatches our option rule exactly — the note now says so.
DOMExceptionand matches our exception name; both are now false. Theredesign converged on our shape (
extends Error+ structuredpayload) but renamed the class. Dated correction note: renamedeferred (breaking runtime+protocol), tracked in Track upstream CM PR 686 (JS-API redesign): post-A10 alignment watchlist #115; the draft's
convert-any-thrown-value rule is called out as a retained divergence.
normatively this pattern (constructor satisfies the type import,
tagged imports read off
.prototype,@@isWasmResourceOfbrandcheck); the mechanism description is updated from the old
"interface object" wording.
Behavior-neutral: no code, no goldens, no version bump, no breaking
labels. Issue #115's watchlist was rewritten against the new draft in
the same pass (rows closed: s64/u64,
list<u8>, disposal; rename andnull-as-none decisions deferred per operator).
Gates:
just version-guard-local(PASS); docs-only otherwise, CI corecovers the rest.