I’ve added an explanation for step 6f and corrected a typo in step 1b
Prelims
a) R1C89 = {19/28/37/46}, no 5
b) R2C56 = {19/28/37/46}, no 5
c) R34C1 = {19/28/37/46}, no 5
d) R34C5 = {16/25/34}, no 7,8,9
e) R3C67 = {14/23}
f) R4C23 = {49/58/67}, no 1,2,3
g) R4C67 = {15/24}
h) R4C89 = {29/38/47/56}, no 1
i) R5C34 = {18/27/36/45}, no 9
j) R67C7 = {49/58/67}, no 1,2,3
k) R9C34 = {89}
l) 11(3) cage at R1C1 = {128/137/146/236/245}, no 9
m) 20(3) cage at R2C2 = {389/479/569/578}, no 1,2,3
n) 6(3) cage at R5C1 = {123}
o) 8(3) cage at R8C2 = {125/134}
Steps resulting from Prelims
1a. Naked pair {89} in R9C34, locked for R9
1b. Naked triple {123} in 6(3) cage at R5C1, locked for N4, clean-up: no 7,8,9 in R3C1, no 6,7,8 in R5C4
1c. 8(3) cage at R8C2 = {125/134}, 1 locked for R8
2. R4C23 = {49/58/67}, R4C67 = {15/24} -> combined cage R4C2367 = {49}{15}/{58/24}/{67}{15}{67}{24}
2a. R4C89 = {29/38} (cannot be {47/56} which clash with combined cage)
3. Hidden killer pair 6,7 in R4C145 and R4C23 for R4, R4C23 contains both or neither of 6,7 -> R4C145 must contain both or neither of 6,7
3a. 45 rule on R4 3 innies R4C145 = 15 = {159/249/267/348} (cannot be {258/456} which clash with R4C67, cannot be {168/357} which only contain one of 6,7)
3b. R4C145 = {159/249/267/348}, R4C89 (step 2a) = {29/38} -> combined cage R4C14589 = {159}{38}/{249}{38}/{267}{38}/{348}{29}
3c. R4C23 = {49/67} (cannot be {58} which clashes with combined cage)
3d. 5 in N4 only in R5C3 + R6C23, CPE no 5 in R7C3
4. 45 rule on R34 6(5+1) innies R3C23489 + R4C4 = 38, max R3C23489 = 35 -> min R4C4 = 3
4a. R4C145 (step 3a) = {159/249/267/348}
4b. 1,2 of {159/267} must be in R4C5 -> no 5,6 in R4C5, clean-up: no 1,2 in R3C5
5. 11(3) cage at R1C1 = {128/137/146/236/245}
5a. 7,8 of {128/137} must be in R12C1 (R12C1 cannot be {12/13} which clash with 6(3) cage at R5C1, ALS block), no 7,8 in R1C2
6. Variable hidden pair 8,9 in R78C1 and R9C3 for N7, R9C3 = {89} -> R78C1 cannot contain both of 8,9
6a. 11(3) cage at R1C1 and R34C1 cannot contain both of 8,9 in C1 (11(3) cage = {128} blocks [19/28] from R34C1)
6b. R124C1 cannot contain both of 8,9, R78C1 cannot contain both of 8,9 -> each group must contain one of 8,9
6c. Killer pair 8,9 in R78C1 and R9C3, locked for N7
6d. R124C1 contains one of 8,9 -> R123C1 must contain at least one of 1,2
6e. Killer triple 1,2,3 in R123C1 and R56C1, locked for C1
6f. R123C1 contains one of 1,2, R56C1 = {123} -> 3 in R56C1, locked for C1 and N4, clean-up: no 7 in R4C1
[Note. For step 6f 11(3) cage at R1C1 cannot contain 3 in R12C1 and R34C1 cannot be [37] because R124C1 must contain one of 8,9, step 6b, so either 11(3) cage = {128} or R34C1 = [19/28].]
7. R4C145 (step 3a) = {159/249/267/348}
7a. 7 of {267} must be in R4C4 -> no 6 in R4C4
7b. 6 in R4 only in R4C123, locked for N4, clean-up: no 3 in R5C4
8. R124C1 contains one of 8,9 (step 6b)
8a. 11(3) cage at R1C1 = {128/146/245} (cannot be {137} because R12C1 = {17} clashes with R34C1 = [28] + R56C1, killer ALS block}, cannot be {236} because R12C1 = {26} clashes with R34C1 = [19] + R56C1, killer ALS block), no 3,7
8b. 1,2 of {146/245} must be in R1C2 (R12C1 cannot be {14/16} which clash with R34C1 = [28] + R56C1, killer ALS block, R12C1 cannot be {24/25} which clash with R34C1 = [19] + R56C1, killer ALS block), 8 of {128} only in R12C1 -> R1C2 = {12}
8c. Naked pair {12} in R15C2, locked for C2
8d. 7 in C1 only in R789C1, locked for N7
9. R78C3 = {12} (hidden pair in N7), locked for C3
9a. 8(3) cage at R8C2 = {125/134}
9b. 5 of {125} must be in R8C2 -> no 5 in R8C4
9c. R7C3 = {12} -> 24(4) cage at R6C2 = {1689/2589} (cannot be {2679} which clashes with R4C23), no 1,2,3,4,7 in R6C23 + R7C4
9d. 24(4) cage R6C2 = {1689/2589}, CPE no 8,9 in R6C4
10. R124C1 contains one of 8,9 (step 6b)
10a. 11(3) cage at R1C1 = {128/146/245} (step 8a) -> R12C1 = {18/28/45/46}, R34C1 = [19/28/46/64] -> combined cage R1234C1 = {18}{46}/{28}{46}/{45}[19/28]/{46}[19/28] (cannot be {28}[19] because R124C1 only contains one of 8,9), 4 locked for C1
10b. 3,4 in N7 only in R789C2, locked for C2, clean-up: no 9 in R4C3
11. 20(3) cage at R2C2 = {389/479/569/578}
11a. 3,4 of {389/479} must be in R2C3, 9 of {569} must be in R23C2 (R23C2 cannot be {56} which clashes with R789C2, ALS block), no 9 in R2C3
12. 45 rule on N4 4 innies R4C1 + R5C2 + R6C23 = 26 contains 5 = {4589} (only remaining combination, cannot be {5678} = [67]{58} because R4C159 = [672] clashes with R5C3 = [72]), locked for N4, clean-up: no 4 in R3C1, no 2 in R5C4
12a. Naked pair {67} in R4C23, locked for R4
13. 45 rule on N1 3 innies R1C3 + R3C13 = 14 = {239/257/356} (cannot be {149/158/248} which clash with 11(3) cage at R1C1, cannot be {167} which clashes with R4C3, cannot be {347} because no 3,4,7 in R3C1), no 1,4,8 clean-up: no 9 in R4C1
13a. R3C1 = {26} -> no 6 in R13C3
14. 9 in C1 only in R78C1, locked for N1 -> R9C34 = [89], clean-up: no 1 in R5C4
14a. Naked pair {45} in R5C34, locked for R5
14b. 9 in N4 only in R6C23, locked for R6, clean-up: no 4 in R7C7
15. 9 in R4 only in R4C89 = {29}, locked for R4 and N6, clean-up: no 5 in R3C5, no 4 in R4C67
15a. Naked pair {15} in R4C67, locked for R4, clean-up: no 6 in R3C5
15b. Naked pair {34} in R34C5, locked for C5, clean-up: no 6,7 in R2C6
15c. Killer pair 3,4 in R3C5 and R3C67, locked for R3
15d. 3 in R4 only in R4C45, locked for N5
16. 1 in N1 only in 11(3) cage at R1C1 = {128/146} (step 8a), no 5
16a. 5 in C1 only in R789C1, locked for N7
16b. Naked triple {346} in R789C2, locked for C2 and N7 -> R4C23 = [76]
17. 20(3) cage at R2C2 = {389/578} (cannot be {479 because 4,7 only in R2C3), no 4, 8 locked for N1
18. R4C1 = 8 (hidden single in C1), R3C1 = 2, R1C2 = 1, R5C2 = 2, clean-up: no 9 in R1C89, no 3 in R3C67
18a. Naked pair {14} in R3C67, locked for R3 -> R34C5 = [34], R4C4 = 3, R5C34 = [45], R4C67 = [15], R3C67 = [41], clean-up: no 6,7,9 in R2C5, no 8 in R67C7
18b. R1C89 = {28/37} (cannot be {46} which clashes with R1C1), no 4,6
19. 8(3) cage at R8C2 = {134} (only remaining combination) = [314], R7C3 = 2
20. 24(4) cage at R6C2 (step 9c) = {2589} (only remaining combination) -> R7C4 = 8
21. 45 rule on N3 2 remaining innies R12C7 = 13 = {49/67}
21a. Naked quad {4679} in R1267C7, locked for C7
22. 18(3) cage at R8C6 = {378} (only remaining combination, cannot be {567} because 5,6,7 only in R89C6) -> R8C7 = 8, R89C6 = [73], R59C7 = [32], R56C1 = [13]
22a. 1,2 in N8 only in R789C8, locked for C8 -> R2C5 = 8, R2C6 = 2
22b. Naked pair {67} in R13C4, locked for C4 and N2 -> R26C4 = [12]
22c. Naked pair {59} in R1C56, locked for R1, clean-up: no 4 in R2C7 (step 21)
22d. R8C5 = 2 (hidden single in R8)
23. 6 in R8 only in R8C89, locked for N9 and 21(4) cage at R6C8, no 6 in R6C8, clean-up: no 7 in R7C7
23a. 21(4) cage at R6C8 contains 6 = {1569/3567} (cannot be {3468} because 3,4,8 only in R67C8), no 4,8
23b. R6C8 = {17} -> no 1,7 in R7C8
[I saw this 45 a long time ago but it couldn’t be used until low value candidates in R5C8 had been eliminated.]
24. 45 rule on C89 3(1+2) innies R5C8 + R9C89 = 12
24a. Min R5C8 = 6 -> max R9C89 = 6, no 7
24b. Min R9C89 = 5 -> max R5C8 = 7
24c. R9C89 = {14/15}, 1 locked for R9 and N9
24d. R7C5 = 1 (hidden single in R7), R9C1 = 7 (hidden single in R9)
25. 8 in N6 only in R56C9, locked for C9, clean-up: no 2 in R1C8
25a. 15(3) cage at R5C9 contains 8 = {348} (only remaining combination, cannot be {168} because no 1,6,8 in R7C9) = [843], R6C7 = 6, R7C7 = 7
and the rest is naked singles.