Experimental Folder: Contract - xdslproject/xdsl GitHub Wiki

In xDSL, we have an experimental folder set up to allow fast iteration without extensive reviews and testing. Here, we note down the "contract" for using this folder.

  • Any commits to files in the xdsl/dialects/experimental/-folder do not have to be tested or reviewed thoroughly. Developers of these individual subparts are free to merge PRs with minimal reviews.
  • In order to move something out of experimental, it needs to be thoroughly tested as well as a more extensively reviewed.
  • Code in experimental can be tested in the CI-workflows to allow incrementally adding tests when preparing to move out of experimental.
  • However, if a core change/refactor leads to crashing tests in experimental dialects, the tests and the code in experimental are free to be aggressively removed. If this case occurs, the authors of the experimental code will be notified in the refactoring PR. They can then add their tests and code back once they fixed it.
  • All other CI elements (e.g. Pyright, code formatting etc.) must pass for the code being committed to experimental.