In response to your specific questions;
1. Please provide a concrete example of how you would use this. If you cannot provide this, then please do not continue.
Essentially I have a holding folder for PDFs prior to filing them. I created a number of rules which set tags based on content thinking the the rules in a particular folder were iterative/cumulative. The rules were set up as follows,
Rule A: If contents contains DVLA set tags DVLA, CAR
Rule B: If contents contains BMW set tags CAR, BMW
Rule C: If contents contains Volvo set tags CAR, VOLVO
Etc.
I noticed the problem when I scanned a letter as a PDF into the holding folder. It was from the DVLA regarding the BMW. I had expected the first two rules to be triggered setting the tags to DVLA, CAR and BMW. What actually happened is that only the first rule triggered and only DVLA and CAR was set.
Whilst I could try and nest conditions, I need 20+ tagging rules which are applied cumulatively.
2. Hazel currently will re-run rules on a file if the rule it matches changes. So if Hazel matched rule A before and now matches rule B instead, rule B will get run. But if it keeps matching rule A as before, nothing will happen. With this in mind, apply the following scenario to the workflow you described in #1 above:
A file matches rules A, B, and C in that order.
Suppose it no longer matches A, but matches B and C. Do B and C get executed again? Yes although in my example B & C would effectively do nothing as the tags already existed from the first pass and the tag from A would still be in place. I had not envisioned a scenario in my use case where the content of a processed file would change causing a previously triggered rule to no longer be relevant so I would not expect the applied tags from rule A to be removed.
Suppose it no longer matches B? Does A get executed again? How about C? Yes (same principle as above)
Suppose it now matches rule D after the others. Do A, B, and C get executed again before D? Yes (same principle as above)
Suppose it matches rule Z before rule A. Do A, B and C get executed again after Z? Yes (same principle as above)
My responses above are based on looking to use rules to make changes which do not manipulate the file/directory structure. Ideally I'd appreciate the ability to flag a rule as being individual (execute and go no further like what happens now) or cumulative (execute and process the next rule). That way an order of presidence could be maintained with the ability to execute multiple steps where required. Similarly the ability to flag a rule as 'execute once only' could get round the problem of rules which physically change the state of a file or structure. For example in my scenario above the rule 'contains DVLA' could be set to send me an email but if it was flagged to only execute once it would prevent multiple triggers.
3. Are you willing to accept numerous side effects of this feature? For example, if rule A moves the file outside the folder, certain pieces of metadata may not make sense anymore (folder level) or just won't work because of implementation details ("is among") for any subsequent rules. Yes