The current requirements for phase 2 are:
- Precise and complete overview document is available in a forked repo around which a reasonably high level of consensus exists.
- Updates to the actual spec document, test suite, and reference interpreter are NOT yet required.
The current requirements for phase 3 are:
- Test suite has been updated to cover the feature in its forked repo.
- The test suite should run against some implementation, though it need not be the reference interpreter.
- Updates on the actual spec document and reference interpreter are NOT yet required (but can happen earlier).
The purpose of phase 2 is for at least one engine to implement the feature, enough to produce a reasonable test suite for phase 3. On the other hand, the purpose of phase 3 is for all engines to implement the feature - but they are forced to do so without a formal spec, and must make do with a "precise and complete overview document". Personally, having gone through much of the Wasm GC implementation with nothing to guide me but a linked list of Google Docs, I would have MUCH PREFERRED a formal spec to follow.
I presume the lack of spec requirement was because, in the past, the formal spec was very burdensome to update. But these days much of the tedium is handled by SpecTec and we have AIs that can catch bugs and slog through macro minutia. I find it much easier these days to keep the formal spec up to date.
Should we amend the process to require a complete formal spec by phase 3?
The current requirements for phase 2 are:
The current requirements for phase 3 are:
The purpose of phase 2 is for at least one engine to implement the feature, enough to produce a reasonable test suite for phase 3. On the other hand, the purpose of phase 3 is for all engines to implement the feature - but they are forced to do so without a formal spec, and must make do with a "precise and complete overview document". Personally, having gone through much of the Wasm GC implementation with nothing to guide me but a linked list of Google Docs, I would have MUCH PREFERRED a formal spec to follow.
I presume the lack of spec requirement was because, in the past, the formal spec was very burdensome to update. But these days much of the tedium is handled by SpecTec and we have AIs that can catch bugs and slog through macro minutia. I find it much easier these days to keep the formal spec up to date.
Should we amend the process to require a complete formal spec by phase 3?