Leren, I've now caught up with you.
JE3 Examples No 2: Typos agreed and edited.
JE4 Examples No 1: Typos you spotted edited along with quite few others.
I missed the mirror node inferences you spotted and 2 more. For completeness I've added them even though none of them would survive the cascade of follow-on eliminations from the others
The amended part solution now reads:
=> r3c5 <> 1, r2c7 <> 5, r2c3 <> 6 (non-base digits in target cells)
=> r1c7,r2c46,r3c3 <> 3489 (known base digits that see all base cells or all target cells)
=> r1c4 <> 5, r2c1 <> 6, r2c89 <> 9, r3c46 <> 6 (either (1) or (7) are locked as the non-base digit in these mirror nodes)
=> r4c2489 <> 349, r6c1489 <> 348, r9c289 <> 89 (known base digits in non-'S' cells in their cover houses)
Regarding your comments on complexity my feeling is that generally solvers should avoid using complex methods when they aren't needed unless they are forewarned about a puzzles difficulty. However once a complex method has been employed why not make use of all the power it provides?
Although your program looks for the component JE2 patterns separately, I believe that a manual solver should notice when there is a double JE in the puzzle. This will obviously influence the order of the steps taken following the initial JE eliminations. Manual solvers would tend to milk the pattern for what its worth before spreading their nets wider which is what I tried to do. However it's all a matter of taste.
JE4 Examples No 4
Missing T corrected in the grid
Your grid has (167)r1c1 which should be (127), and (35)r6c1 which should be (357) according to me.
I agree the chain you find problems with is unsound.
(2)r2c7 = (2-34)r78c7 = (4)r2c7 => JE:r2c7,r3c46 <> 17
I'm clearly treating (234)r78c7 as an Almost Hidden Pair with (3) locked in the cells but that’s wrong as (3)r6c7 exists.
It's such a long time back that I can't recall the circumstances, perhaps it was an oversight or perhaps my grid was wrong at the time. I do vaguely remember being pleased to find the (false) opening in a tough puzzle.
I've spent some time looking for an alternative linear continuation but haven't found one yet. I'll look again tomorrow but if I fail I'll have to admit that from that point on it seems net methods become necessary.
DPB
[edit typo pointed out by Ronk corrected]