- I have written tests and verified that they fail without my change
- I made pull request as minimal and simple as possible. If change is not small or additional dependencies are required, I opened an issue to propose and discuss the design first
- I have squashed any insignificant commits
- This change has comments for package types, values, functions, and non-obvious lines of code