-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Introduction
I was requested on Zulip to file an issue about any misrepresentation or items that I think should be addressed further in the IO traits section of this repository.
My main concern is that the document currently starts with a conclusion ("proposal"), and shares some of the rationale afterwards. As I mentioned before: I don't know which metrics have been used to evaluate designs by, I don't know how the current proposal stacks up against those metrics (including tradeoffs). Right now I cannot independently agree or disagree with the conclusion ("proposal"), because I don't know what it's based on. And I believe it's crucial that all of this is documented before we make any recommendations, so other members of the working group can individually evaluate the requirements, evaluations, and conclusions.
Path forward.
The way I'd like to see this document restructured is:
- Define the set of requirements for IO traits. These are what proposed designs will be evaluated against.
- List each possible design, and evaluate it against the requirements.
- Summarize the findings. This would include making a recommendation from the possible designs.
I don't expect us to immediately agree on which requirements to list, or how important they are. But those disagreements should be documented as well. We're still in an active research phase, and documenting different viewpoints is essential (in an RFC this would be summarized in an "alternatives" section). That way if requirements are added, or if our understanding of designs change, we can have this be reflected in our shared understanding.
This approach would make it possible to modify and clarify requirements, gradually polishing the evaluation of proposals, and building towards a better understanding, collaboratively. This work is essential to gaining a shared understanding of the problem space by the working group, and I believe that this repository would be the right place to do that work.
Conclusion
@nrc I understand that what I'm requesting is non-trivial. I was a bit hesitant to open an issue because I believe what I'm saying could be understood as: "please change everything". And even though I do think this is essential work that needs to happen before we can start making any recommendations, I don't expect you to do this work alone. We already meet regularly, and I'd be super happy to pair on this, and making sure that we can get this work done together!