Prelims
a) R12C5 = {18/27/36/45}, no 9
b) R89C5 = {19/28/37/46}, no 5
c) 20(3) cage at R1C1 = {389/479/569/578}, no 1,2
d) 10(3) cage at R2C1 = {127/136/145/235}, no 8,9
e) 11(3) cage at R4C6 = {128/137/146/236/245}, no 9
f) 19(3) cage at R5C3 = {289/379/469/478/568}, no 1
g) 21(3) cage at R6C8 = {489/579/678}, no 1,2,3
h) 7(3) cage at R7C4 = {124}
i) 9(3) cage at R6C6 = {126/135/234}, no 7,8,9
j) 10(3) cage at R8C2 = {127/136/145/235}, no 8,9
1a. Naked triple {124} in R7C4, locked for C4 and N8, clean-up: no 6,8,9 in R89C5
1b. Naked pair {37} in R89C5, locked for C5 and N5, clean-up: no 2,6 in R12C5
1c. 9(3) cage at R7C6 = {126/135} (cannot be {234} because R6C6 only contains 5,6), no 4, 1 locked for C7 and N9
1d. R6C6 = {56} -> no 5,6 in R78C7
2a. 45 rule on N1 3 innies R123C3 = 15
2b. 45 rule on N7 3 innies R789C3 = 21 = {489/579/678}, no 1,2,3
2c. 45 rule on C3 3 remaining innies R456C3 = 9 = {126/135/234}, no 7,8,9
2d. 45 rule on N5 5(3+2) outies R456C3 + R37C5 = 19, R456C3 = 9 -> R37C5 = 10 = [19/28/46]
2e. 45 rule on C5 5 innies R34567C5 = 26, R37C5 = 10 -> R456C5 = 16
2f. 45 rule on N5 R456C5 = 16, 11(3) cage at R4C6 -> 3 remaining innies R456C4 = 18
2g. 45 rule on C4 R456C4 = 18, 7(3) cage at R7C4 -> 3 remaining innies R123C4 = 20 = {389/569} (cannot be {578} which clashes with R12C5), no 7, 9 locked for C4 and N2
2h. Killer pair 5,8 in R123C4 and R12C5, locked for N2
2i. R456C4 = 18 = {378/567}, 7 locked for N5
2j. 5 in N8 only in R789C6, locked for C6
2k. 9 in C6 only in R89C6, locked for N8, clean-up: no 1 in R3C5
2l. Killer pair 4,8 in R12C5 and R37C5, locked for C5
2m. 4 in N5 only in 11(3) cage at R4C6 = {146} (only remaining combination), locked for C6 and N5 -> R7C6 = 5, R78C7 = {13}, locked for C7 and N9
2n. R7C5 = 6 (hidden single in N8) -> R3C5 = 4
2o. R12C5 = {18} (hidden pair in C5), locked for N2
2p. R456C4 = {378} (hidden triple in N5), locked for C4
2q. 16(4) cage at R3C5 contains 4 in R3C5 = {2347} (only possible combination, cannot be {1249/1456} because R4C4 only contains 3,7,8, cannot be {1348} because R4C5 only contains 2,5,9) -> R4C345 = [372]
2r. 18(4) cage at R6C3 contains 6 in R7C5 = {3456} (only remaining combination, cannot be {1269/1467} because R6C4 only contains 3,8, cannot be {1368/2367} because R6C5 only contains 5,9) -> R6C345 = [435]
2s. R5C45 = [89] -> R5C3 = 2 (cage sum)
2t. 45 rule on N6 2 innies R46C8 = 10 = [19/46]
2u. R789C3 = 21 = {579/678}, 7 locked for C3 and N7
2v. 1 in C3 only in R123C3, locked for N1
2w. 10(3) cage at R2C1 = {235}, locked for N1
2x. R123C3 = 15 = {168}, locked for C3 and N1
2y. Naked triple {579} in R789C3, locked for N7
2z. 10(3) cage at R8C2 = {136}, locked for N7
2aa. R7C47 = [13] (hidden pair in R7), R8C7 = 1
2ab. 21(3) cage at R6C8 = {489/579/678}, R6C8 = {69} -> no 6,9 in R78C8
2ac. 45 rule on N9 4 remaining innies R7C78 + R8C8 + R9C7 = 28 = {4789} (only possible combination, cannot be {5689} which clashes with 21(3) cage), locked for N9
2ad. 21(3) cage = {489/678}, 8 locked for C8 and N9
2ae. 2 in R7 only in R7C12, locked for N7
2af. 45 rule on C8 3 innies R159C8 = 10 = {127/235} (cannot be {136} which clashes with R46C8, cannot be {145} which clashes with R4C8), no 4,6,9, 2 locked for C8
2ag. R46C8 = [19/46], 21(3) cage = {489/678} -> combined half-cage R4678C8 = [19]{48}/[46]{78}, 4 locked for C8
2ah. R159C8 = {235} (only remaining combination, cannot be {127} which clashes with combined half-cage), locked for C8
2ai. 13(3) cage at R8C9 = {256}, 6 locked for C9
2aj. R9C6 = 8 (hidden single in R9), R8C6 = 9
3. 18(3) cage at R4C9 = {189/279/378} (cannot be {459} which clashes with R46C8), no 4,5
3a. 1 of {189} must be in R5C9 -> no 1 in R46C9
3b. 1 in N6 must be in R46C8 (step 2t) = [19] or in 18(3) cage = {189} -> 18(3) cage = {189/378} (cannot be {279}, locking-out cages), no 2, 8 locked for C9 and N6
3c. 3 of {378} must be in R5C9 -> no 7 in R5C9
3d. R6C7 = 2 (hidden single in N6)
3e. 17(4) cage at R4C7 = {2357/2456}, no 9
3f. 7 of {2357} must be in R5C7 -> no 5 in R5C7
[Ed pointed out that step 3b is locking-out cages, rather than blocking cages, because one of the combinations being used is in the same cage as the one in which a combination is being eliminated.]
4. 12(3) cage at R1C8 = {129/237/345} (cannot be {147} because R1C8 only contains 2,3,5)
4a. 3 in C8 only in 12(3) cage = {237/345} or 3 in R5C89 = [31] -> 12(3) cage = {237/345} (cannot be {129}, blocking cages), no 1,9, 3 locked for N3
4b. 5 of {345} must be in R1C8 ({345} gives naked pair {35} in R15C8, locked for C8, R9C8 = 2 => naked pair {56}, locked for C9), no 5 in R12C9
4c. 14(3) cage at R2C8 = {149/167}
4d. 17(3) cage at R2C7 = {278/359/368/467} (cannot be {269} which clashes with 14(3) cage at R2C8, cannot be {458} because R3C6 only contains 2,3,7)
4e. Variable hidden killer triple 5,7,9 for N3, 12(3) cage contains one of 5,7, 14(3) cage at R2C8 contains one of 7,9 -> 17(3) cage = {278/368/467} (cannot be {359} which contains both of 5,9 in R23C7), no 5,9
4f. 2 in N3 only in 12(3) cage = {237} or in R3C9 -> 17(3) cage {368/467} (cannot be {278}, blocking cages), no 2, 6 locked for C7 and N3, clean-up: no 7 in 14(3) cage
4g. Naked pair {19} in R23C8, locked for C8 and N3 -> R46C8 = [46], R45C7 = [57], R5C89 = [31], R46C9 = {89}, locked for C9
4h. R78C8 = {78}, locked for N9 -> R7C9 = 4
4i. 12(3) cage = {237} (only remaining combination) -> R1C8 = 2
and the rest is naked and hidden singles.
Thanks Ed for pointing out a couple of typos and that step 3b is locking-out cages, not blocking cages. I've also clarified step 4b.