Just checking something here. The OpenType Cookbook
(by Tal Leming) suggests that it's the designers responsibility to order features:
The order in which you list your features is very important. This is the order in which they will be processed.
The Standard, though, suggests that the shaper has the responsibility of determining the order of features (at least for the Devanagari-related features):
The AFDKO documentation is ambiguous, just saying that the shaper will "assemble" the list of features:
Do the following first for the GSUB and then for the GPOS:
Assemble all features (including any required feature) for the glyph run’s language system.
Assemble all lookups in these features, in LookupList order, removing any duplicates. (All features and thus all lookups needn’t be applied to every glyph in the run.)
Is there a canonical understanding of the order in which features are processed?