* 'fin2' and 'fin3' are alternate versions of 'isol' when appearing at the
end of the word.
* 'med2' is an alternate version of 'fina' when not appearing at the end of
the word.
How confusing...
The descriptions of 'fin2' and 'fin2' say “The Syriac letter alaph (U+0710) has multiple final forms”. Although this is true, it is not relevant to 'fin2' and 'fin3', which are not final forms in the topographical sense.
'fin2' selects an alternative isolated form, but its example string is “ܒܐ”, in which the alaph has a final form.
The description of 'med2' says “The Syriac letter alaph (U+0710) is not normally a joining character but can join to the right in the middle of a word if the preceding character is right-joining.” In fact, the Syriac alaph is a right-joining letter, just like an Arabic alef.
The examples use Noto Sans Syriac, which uses the Estrangela style by default. Estrangela is relatively simple: it does not distinguish its 'med2' and 'fina' forms, nor its 'fin2', 'fin3', and 'isol' forms. It is therefore a bad font for the examples. A West Syriac font would make the examples clearer.
Some of your processing phase assignments don’t make sense to me, especially the ‘Common’ phase features, which include both GPOS and GSUB features (and those GSUB features includes ccmp and locl, which should be in the pre-processing phase).
I would expect to see all GSUB processed before any GPOS, and for that to be the case for all scripts.
If I select a script that is processed by USE, I am confused because your processing phases do not correspond to the USE processing phases.
If I select dev2 script, nothing shows up in any of the processing phases except Orthographic. Spot checked bng2 and found the same issue, so suspect this might be a problem for all the Indic shaping engine scripts?