alexcrichton opened PR #4479 from tiers
to main
:
This commit adds documentation of a Tiers-based system for classifying
how supported a component is within Wasmtime. This was somewhat
pioneered in the [Wasmtime 1.0 RFC][rfc] but the documentation here is
expanded to include more than just API stability but additionally other
components. Inspiration for this is drawn from Rust's definition of
[support tiers][rust] as well.The motivation for this is to help clarify what exactly it means to live
at each tier and what is expected. For example one thing this document
clarifies is the requirements necessary for landing new major changes in
Wasmtime at all. Additionally this helps clarify what it means to have
the highest level of support vs "otherwise well supported".[rfc]: https://github.com/bytecodealliance/rfcs/blob/main/accepted/wasmtime-one-dot-oh.md#tier-1---api-stable-production-quality
[rust]: https://doc.rust-lang.org/rustc/target-tier-policy.html<!--
Please ensure that the following steps are all taken care of before submitting
the PR.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
abrown submitted PR review.
abrown created PR review comment:
I think wasi-nn could arguably be in tier 2.
jameysharp created PR review comment:
The distinction between "turned off" and "removed" isn't clear in this paragraph. I think you mean that, first, failing CI/fuzz tests will be disabled, and then if the issue still isn't addressed we'll merge a commit removing the implementation entirely. (Although of course that can be reverted later if somebody commits to maintaining it again.) Do I have that right?
jameysharp submitted PR review.
jameysharp created PR review comment:
For a little more clarity, is this edit accurate?
* Complete implementations for anything that's part of Tier 1. For example all Tier 2 targets must implement all of the Tier 1 WebAssembly proposals, and all Tier 2 features must be implemented on all Tier 1 targets.
jameysharp created PR review comment:
I think this rewrite means the same thing but it confuses me less:
* Major changes affecting this component may require help from maintainers with specialized expertise, but otherwise it should be reasonable to expect most Wasmtime developers to be able to maintain Tier 1 features.
jameysharp created PR review comment:
I assume security is part of the requirement for tier 1 targets, not just features?
in features and targets.
jameysharp submitted PR review.
alexcrichton submitted PR review.
alexcrichton created PR review comment:
Indeed! I'll try to clarify here.
alexcrichton updated PR #4479 from tiers
to main
.
alexcrichton submitted PR review.
alexcrichton created PR review comment:
Given the current list of requirements sketched out I believe that
wasi-nn
is still largely missing tests. There's one example that is compiled and run but I think that we'd want more of a unit-test-like-suite otherwise.At least personally this sort of tracks with my gut feeling about
wasi-nn
andwasi-crypto
where they're present but don't feel all-that-well integrated/first-class. WASI itself isn't really all that first-class by requiring an extrawasmtime-wasi
crate which hasn't had much time put into its API design for stability too, though. I don't know how best to think about WASI proposals myself.
jameysharp submitted PR review.
alexcrichton updated PR #4479 from tiers
to main
.
alexcrichton has marked PR #4479 as ready for review.
alexcrichton updated PR #4479 from tiers
to main
.
alexcrichton has enabled auto merge for PR #4479.
alexcrichton merged PR #4479.
Last updated: Dec 23 2024 at 12:05 UTC