Is the same for both pipelines (will be slightly different when updated to use maven, but most of the changes will be made above the level of main and test).
It is as follows:
Each of the individual kernels should be described in its own file. Main files (i.e. Main.scala) describe the entire application, and import individual kernels as necessary.
Kernels should go in the 'kernels' directory, and tests for each kernel should go in 'test'. New kernels should enumerate the config parameters they use in a comment at the top of the file, and for any parameter with a vague name, the meaning of that parameter should be clarified. This is encouraged so that we don't end up needing to define 40 different cryptically-named parameters for the same information in each Main file.
IO.md -- Gives inputs and outputs for each kernel