Can you confirm if this is my correct reading of this route-map
Networks from Protocol B ‘Jack’ are untagged until they enter Protocol A where they are Tagged - (The first statement is ignored because they are not Tagged)
Jack(config)#route-map TAG permit 20
Jack(config-route-map)#set tag 1
When these now Tagged routes hit ‘John’ Still in Protocol A they are denied from re-entering Protocol B via the First statement.
route-map TAG deny 10
John(config-route-map)#match tag 1
But as you say the route-map has to deny the Tagged routes first or it will allow all routes that is why the deny comes before the permit?