We could split this up to either 1 file per rule or small numbers of related rules grouped in files. Potentially we could also consider sorting the rules into directories.
This issue is to discuss the potential architectural options given the following considerations:
try and keep format easy to use for new users
allow new rules to be added without modifying old files
allow rules to be easily unit tested and CI to cover new additions without obscure registration requirements
Current Situation
Currently we are adding all our community allocation rules to one large file.
Currently when we add a new rule we need to edit the file and (dictionary), which does not align with "software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification".
Suggested refactorings
We could split this up to either 1 file per rule or small numbers of related rules grouped in files. Potentially we could also consider sorting the rules into directories.
This issue is to discuss the potential architectural options given the following considerations: