anchor.diff:  For example, if the `OrderModule` depends on (``@Import``s) the `CustomerModule`, then we allow for the `Order` entity to reference the `Customer` entity.
   However, we do not allow the opposite reference.
   
  -To run the test:
  -
  -[source,java]
  -----
  -import static org.apache.isis.testing.archtestsupport.applib.modulerules.ArchitectureModuleRules.*;
  -
  -...
  -
  -public class Architecture_Test {                                // <.>
  -
  -    @ArchTest                                                           // <.>
  -    public static ArchRule code_dependencies_follow_module_Imports =    // <.>
  -        code_dependencies_follow_module_Imports(                        // <.>
  -            analyzeClasses_packagesOf(Architecture_Test.class));        // <.>
  -
  +To run the test, use:
  +
  +[source,java]
  +----
  +@ArchTest
  +public static ArchRule code_dependencies_follow_module_Imports =
  +    code_dependencies_follow_module_Imports(                        // <.>
  +        analyzeClasses_packagesOf(Architecture_Test.class));        // <.>
   }
   ----
   <.> architecture test itself, imported from `ArchitectureModuleRules`
  
positive.code: ** `every_finder_method_in_Repository_must_return_either_Collection_or_Optional()`
  
  
  == Entity Checks
  
  Entity rule checks are provided for both xref:pjpa::about.adoc[] and xref:pjdo::about.adoc[], in `ArchitectureJpaRules` and `ArchitectureJdoRules` respectively.
  
  * ensure conformance of persistence vs Isis annotations:
  
  
negative.code: public enum SimplifiedSubpackageEnum implements Subpackage {
  
      dom(
              singletonList("*"),         // <.>
              emptyList()                 // <.>
      ),
      api(
              singletonList("*"),         // <1>
              singletonList("*")          // <.>
      ),
      spi(
              singletonList("dom"),       // <.>
              singletonList("spiimpl")    // <.>
      ),
      spiimpl(
              emptyList(),                // <.>
              emptyList()                 // <2>
      ),
      ;
  
      final List<String> local;
      final List<String> referencing;
  
      @Override
      public String getName() { return name(); }
  
      @Override
      public List<String> mayBeAccessedBySubpackagesInSameModule() {
          return local;
      }
      @Override
      public List<String> mayBeAccessedBySubpackagesInReferencingModules() {
          return referencing;
      }
      private static String[] asArray(List<String> list) {
          return list != null ? list.toArray(new String[] {}) : null;
      }
  }
  ----
  