Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

- Runtime semantics: the pinned Component Model spec and
`third_party/component-model/design/mvp/canonical-abi/definitions.py`.
Wasmtime is corroborating evidence, not the tie-breaker. The single named
corpus exception is defined in
Wasmtime is corroborating evidence, not the tie-breaker. The authority policy
is defined in
[architecture §1](docs/architecture.md#1-goals).
- Interfaces: `contracts/`. Semantic contract changes are versioned events owned
by the orchestrator; implementation tracks report conflicts rather than
Expand Down
120 changes: 57 additions & 63 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ publish = false

[workspace.dependencies]
# wasmtime-environ and wit-parser ride together: the pinned wasmtime rev
# (main, 49.0.0-dev) links wasmparser 0.258, and wit-parser 0.258 is the
# (main, 50.0.0-dev) links wasmparser 0.259, and wit-parser 0.259 is the
# same wasm-tools release train (docs/architecture.md §4.1, §9). Bump both
# here, together — and third_party/component-model to the rev wasmtime's
# own tests/component-model submodule pins; `just test-rust` asserts the
# crates still agree.
wasmtime-environ = { git = "https://github.com/bytecodealliance/wasmtime", rev = "4675ee16b703b33948073a5ff6b961367371e7a1", features = ["component-model", "compile", "anyhow"] }
wit-parser = { version = "=0.258.0", features = ["serde"] }
# here together. The spec submodule is pinned independently to merged #719,
# including idle-drop semantics beyond Wasmtime's own corpus pin.
# `just test-rust` asserts the crates still agree.
wasmtime-environ = { git = "https://github.com/bytecodealliance/wasmtime", rev = "cc546eee265b805dda0f034b2007d110a541093d", features = ["component-model", "compile", "anyhow"] }
wit-parser = { version = "=0.259.0", features = ["serde"] }
5 changes: 3 additions & 2 deletions contracts/descriptor-ir.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,9 @@ plan-format.md): `stringEncoding` (`utf8` | `utf16` | `latin1+utf16`), nullable
`memory`, `realloc`, `postReturn`, `callback`, plus `async`, `cancellable`, and
the expected flat `coreType` (`{params, results}` of `i32|i64|f32|f64`). This
mirrors `wasmtime_environ::component::CanonicalOptions` minus runtime-irrelevant
fields; `data_model` is fixed to linear memory (the GC data model is rejected by
the shim).
fields, except the retained `cancellable` wire slot is always `false` and has no
execution meaning. `data_model` is fixed to linear memory (the GC data model is
rejected by the shim).

## Flattening

Expand Down
5 changes: 4 additions & 1 deletion contracts/embedder-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -364,10 +364,13 @@ runtime/tests/embedder/platform_class_test.ts):
`result`-typed import. Bridge: catch and rethrow
`new ComponentException(payload)`.

### Getters and setters (pre-ruling — not yet implementable)
### Getters and setters (specified upstream; frontend support pending)

Getter/setter forms from component-model#701 are not implemented in the facade
([#254](https://github.com/polymorph-components/polyengine/issues/254)). The
merged spec includes them, but pinned wasmparser/wit-parser 0.259 do not expose
getter/setter function kinds. Updating the spec pin therefore does not enable
accessors in translation or bindgen. The
intended mapping below is a design decision, not a supported API. Forms include
`[get]foo`/`[set]foo`, instance members such as `[method][get]r.foo`, and static
members such as `[static][set]r.foo`.
Expand Down
Loading
Loading