The image shows my general and naive structure for a Workbench Project. One of the Workbench videos recommends defining the main package (CausalInference`) to simply be a sequence of Needs, which I took to mean that I can reference the sub-packages with the simple command
<<CausalInference`
in the manual testing file CausalInference.nb and the regression testing file CausalInference.mt. The CausalInference.m file is in the included image.
However, none of the functions defined in either GraphPrimitives.m or GraphSeparation.m are found when I execute the .nb or .mt file, and therefore do not run properly. The .nb and .mt files do execute properly when I "Needs" both sub-packages explicitly. Functionally, this should be doable.
How do I get this to work as I expect?