For now, I'd go with the following bullets:
1.1 Identify cases where a variable is visible in the outer scope (bindings are produced), but is not bound within the inner scope (no binding producers) and therefore is not visible when evaluating in a FILTER or similar expression in the inner scope.
1.2 Identify cases where a variable is bound using BIND() but not projected into a UNION (or other nested subgroup) and hence the subgroup runs with the variable unconstrained and then applies the BIND.
10. Mark patterns where statement pattern (or other group nodes) cannot be moved in front of optional -> this might be an ill designed pattern
11. Mark patterns where MINUS is used in an unsatisfiable/always satisifed way -> this might not be the query the author wanted to write
12. Mark FILTERs where the variable is out of scope (and thus will never be bound)
Examples for all cases and the relevant code hooks where these potential mis-specifications are observed is available at (first + second table shee):
Will also post this into main ticket and close this one.