Thanks Ed for another challenging Assassin. I found it hard going at one stage but that was mainly because of a silly oversight by me; once I reworked that area it got a lot easier.
Here is my walkthrough; simplified a bit more than usual but I won't claim that it's optimised.
Prelims
a) R23C1 = {39/48/57}, no 1,2,6
b) R23C9 = {29/38/47/56}, no 1
c) 17(2) cage at R3C3 = {89}, CPE no 8,9 inR3C4 + R4C3
d) 10(2) cage at R3C7 = {19/28/37/46}, no 5
e) R56C5 = {59/68}
f) 10(2) cage at R6C4 = {19/28/37/46}, no 5
g) 12(2) cage at R6C6 = {39/48/57}, no 1,2,6
h) R9C23 = {29/38/47/56}, no 1
i) R9C78 = {19/28/37/46}, no 5
j) R1C123 = {125/134}, 1 locked for R1 and N1
k) 26(4) cage in N2 = {2789/3689/4589/4679/5678}, no 1
l) 13(4) cage at R3C4 = {1237/1246/1345}, no 8,9
m) 27(4) cage in N4 = {3789/4689/5679}, no 1,2
1. 45 rule on R1 1 outie R2C5 = 7, clean-up: no 5 in R3C1, no 4 in R3C9
1a. R1C456 = 19 = {289/469/568}, no 3
1b. 13(4) cage at R3C4 = {1246/1345}, CPE no 4 in R1C5
1c. 7 in R1 locked in R1C789, locked for N3, clean-up: no 4 in R2C9, no 3 in R4C6
1d. R1C789 = {279/378/567}, no 4
2. 45 rule on C1 1 outie R5C2 = 1 innie R1C1 + 8 -> R1C1 = 1, R5C2 = 9, clean-up: no 5 in R6C5, no 2 in R9C3
2a. R456C1 = 18 = {468/567} (cannot be {378} which clashes with R23C1), no 3, 6 locked for C1 and N4
2b. 2 in C1 locked in R789C1, locked for N7, clean-up: no 8 in R6C4, no 9 in R9C3
3. Killer pair 8,9 in R4C4 and R56C5, locked for N5, clean-up: no 1,2 in R3C7, no 1 in R7C3, no 3,4 in R7C7
4. 45 rule on C9 1 outie R5C8 = 1 innie R1C9 + 1, no 1,2,5 in R5C8, no 8,9 in R1C9
5. 45 rule on N1 1 innie R3C3 = 2 outies R2C4 + R4C2 + 5
5a. R3C3 = {89} -> R2C4 + R4C2 = 3,4 = {12/13} (cannot be [22] because R2C4 + R4C2 both in 20(5) cage at R2C2)
6. 45 rule on N8 2 innies R8C46 = 8 = {17/26/35}, no 4,8,9
7. 45 rule on R1234 4 innies R4C1379 = 26 = {4679/5678} (cannot be {2789/3689/4589} which clash with R4C4), no 1,2,3, 6,7 locked for R4, clean-up: no 3,4 in R3C7
7a. Killer pair 8,9 in R4C1379 and R4C4, locked for R4
8. 6 in N1 locked in R2C23 + R3C2
8a. 45 rule on N1 4 innies R23C23 = 25 = {2689/3679/4678}, no 5
9. 20(5) cage at R2C2 must contain both of 1,6 = {12368/12467}, no 9
9a. 7 of {12467} must be in R3C2 -> no 4 in R3C2
9b. R23C23 (step 8a) = {2689/4678} (cannot be {3679} which clashes with combinations for 20(5) cage at R2C2), no 3, 8 locked for N1, clean-up: no 4 in R23C1
[When considering the rating for this walkthrough, step 9b can be ignored since step 13 gives the same eliminations using simpler steps.]
10. 1,4 in N3 locked in R2C78 + R3C8, locked for 19(5) cage at R2C6, no 1,4 in R2C6 + R4C8
10a. 45 rule on N3 4 innies R23C78 = 16 = {1249/1348/1456}
10b. R3C7 = {689} -> no 6,8,9 in R2C78 + R3C8
11. 1,4 locked in 19(5) cage at R2C6 = {12349/13456}, no 8
11a. 6,9 only in R2C6 -> R2C6 = {69}
11b. CPE no 3 in R1C8
12. 8 in N2 locked in R1C456, locked for R1, clean-up: no 3 in R1C79 (step 1d), no 4 in R5C8 (step 4)
12a. 8 locked in R1C456 (step 1a) = {289/568}, no 4
13. R1C23 = {34} (hidden pair in R1), locked for N1, clean-up: no 9 in R23C1
13a. R23C1 = [57], clean-up: no 6 in R3C9
13b. Naked triple {468} in R456C1, locked for C1 and N4
13c. Naked triple {239} in R789C1, locked for N7, clean-up: no 1,7 in R6C4, no 8 in R9C23
14. Killer pair 6,9 in R1C456 and R2C6, locked for N2
14a. 13(4) cage at R3C4 (step 1b) = {1345} (only remaining combination), no 2, CPE no 5 in R1C5
14b. 4 in N2 locked in R3C456, locked for R3 and 13(4) cage at R3C4, no 4 in R4C5
15. 1 in N7 locked in R7C2 + R8C23, locked for 23(5) cage at R6C2, no 1 in R6C2+ R8C4, clean-up: no 7 in R8C6 (step 6)
16. 45 rule on N9 2 outies R6C8 + R8C6 = 1 innie R7C7 + 6
16a. Min R7C7 = 5 -> min R6C8 + R8C6 = 11, no 1,2,3,4 in R6C8, no 1 in R8C6, clean-up: no 7 in R8C4 (step 6)
17. 45 rule on N6 2 innies R46C8 = 1 outie R5C6 + 9
17a. Max R46C8 = 14 -> max R5C6 = 5
[At this stage I spotted a nice “clone and non-clone” move
Hidden killer pair 6,9 in R1C456 and R2C6 for N2, hidden killer pair 6,9 in R1C456 and R1C789 for R1 -> the value of R2C6 must be in R1C789 -> R3C7 not equal to R2C6
45 rule on N3 2 outies R2C6 + R4C8 = 1 innie R3C7 + 3
R2C6 not equal to R3C7 -> no 3 in R4C8
However I’ve decided to see if I could find simpler steps to make this elimination.]
18. 45 rule on N3 3(2+1) outies R2C6 + R4C68 = 13 = 6[25/43]//9[13], no 2 in R4C8
[Due to an oversight I had to re-work step 11 and add steps 12 and 13 but I’ve left the next step until now so that I could include the comment about the “clone and non-clone” move.]
19. R3C3 = 9 (hidden single in N1), R4C4 = 8, clean-up: no 2 in R2C9, no 1 in R4C6, no 6 in R56C5
19a. R56C5 = [59], clean-up: no 7 in R7C7
20. R2C6 + R4C68 = 13 (step 18)
20a. R4C6 is even, R4C8 is odd -> R2C6 must be even -> R2C6 = 6 (or from permutations in step 18), clean-up: no 5 in R1C46 (step 12a), no 5 in R3C9
20b. Naked pair {28} in R2C23, locked for R2 and 20(5) cage at R2C2 -> R3C2 = 6, R3C7 = 8, R4C6 = 2, R4C8 = 5 (step 18), R4C3 = 7, clean-up: no 3 in R23C9, no 3 in R6C4, no 4 in R6C6, no 8 in R7C3, no 2,6 in R8C4 (step 6), no 4 in R9C2, no 5 in R9C3, no 2 in R9C8
20c. R23C9 = [92]
21. Naked pair {46} in R4C19, locked for R4 -> R4C7 = 9, R7C7 = 5, R6C6 = 7, clean-up: no 1 in R9C8
21a. Naked pair {46} in R6C4 + R7C3, CPE no 4,6 in R7C4
21b. Naked pair {35} in R8C46, locked for R8 and N8
22. R1C9 = 5 (hidden single in R1), R5C8 = 6 (step 4), R1C78 = [67], R4C9 = 4, R4C1= 6, R6C8 = 8, R56C1 = [84], R6C4 = 6, R7C3 = 4, R1C23 = [43], R9C3 = 6, R9C2 = 5, clean-up: no 2,3,4 in R9C7, no 4 in R9C8
23. R6C8 + R8C6 = R7C7 + 6 (step 16)
23a. R7C7 = 5, R6C8 = 8 -> R8C6 = 3, R8C4 = 5
24. R4C9 + R5C8 = [46] = 10 -> R56C9 = 10 = [73]
25. Naked triple {168} in R789C9, locked for N9 -> R9C7 = 7, R9C8 = 3
26. R6C2 = 2 -> R56C3 = [15], R8C3 = 8, R56C7 = [21], R8C7 = 4, R5C46 = [34], R4C5 = 1, R23C4 = [14]
27. Naked pair {29} in R8C18, locked for R8 -> R8C5 = 6, R89C9 = [18]
27a. Naked pair {29} in R9C14, locked for R9 -> R9C56 = [41], R9C4 = 9 (cage sum)
and the rest is naked singles.