I have a ligature of the same character, e.g. AA, then if I have a general calt as well, then which has precedence? is there a way to specify what the ordering of rules are to find out which one would override the other? (or is this bad practice?)
Does it show an error or show me that there are two (conflicting) scripts when I compile? or is there a way to run checks on the scripts?
The first feature “wins”. So you have to plan carefully. Or you need to include the result from the first feature in the second. So if the first produces an alternate “A” (e.g. “A.swsh”) you need to to add that to the liga features:
sub [A A.swsh] [A] by A_A;
And the title should probably be “Order of substitutions” or “Order of features”.