Hi, I am new to WASI, but I'm wondering what the scope of propsals is. As I understand it, each runtime needs to implement most (all?) of accepted proposals. Initially, I thought this would basically be a modernized libc replacement, but the range of modules seem quite broad. Is the idea to only offer functionality that would require system privileges (e.g. sockets) or is the idea to implement a very broad standard library that also includes stuff that could technically have been implemented on top of the system libraries?
This is the most official answer: https://github.com/WebAssembly/WASI/blob/main/Charter.md#scope
I know this has been discussed at length but I don't know if it has been formalized anywhere beyond that charter section.
As I understand it, each runtime needs to implement most (all?) of accepted proposals.
I think I probably disagree with this but could you elaborate? :slight_smile:
If you mean "runtimes need to implement all proposals", then definitely no: a runtime could implement just wasi-http for example.
If you mean a "runtimes need to implement all of an individual proposal" then "sort of": for example, wasi-keyvalue has a store interface that must be implemented but then optional atomic and batch interfaces that share the store resources.
Ok, thanks for clearing that up.
Last updated: Dec 06 2025 at 06:05 UTC