Thanks Ed for your comments and corrections. The clarification added to step 10a was prompted by one of Ed's comments.
Prelims
a) R1C34 = {29/38/47/56}, no 1
b) R1C67 = {16/25/34}, no 7,8,9
c) R23C2 = {16/25/34}, no 7,8,9
d) R23C9 = {79}
e) R3C67 = {39/48/57}, no 1,2,6
f) R34C8 = {29/38/47/56}, no 1
g) R6C12 = {29/38/47/56}, no 1
h) R67C3 = {69/78}
i) R78C2 = {18/27/36/45}, no 9
j) R78C7 = {69/78}
k) R9C34 = {89}
l) R9C67 = {16/25/34}, no 7,8,9
m) 14(4) cage at R1C8 = {1238/1247/1256/1346/2345}, no 9
n) 14(4) cage at R3C3 = {1238/1247/1256/1346/2345}, no 9
o) 15(5) cage at R6C9 = {12345}
p) 38(8) cage at R1C5 = {12345689}, no 7
q) 39(8) cage at R6C5 = {12345789}, no 6
Steps resulting from Prelims
1a. Naked pair {79} in R23C9, locked for C9 and N3, clean-up: no 3,5 in R3C6, no 2,4 in R4C8
1b. Naked pair {89} in R9C34, locked for R9
1c. Killer pair 8,9 in R67C3 and R9C3, locked for C3, clean-up: no 2,3 in R1C4
1d. 6 in N8 only in R79C6, locked for C6, clean-up: no 1 in R1C7
2. 45 rule on R6789 1 innie R6C4 = 7, clean-up: no 4 in R1C3, no 4 in R6C12, no 8 in R7C3
2a. 7 in N4 only in R4C123, locked for R4, clean-up: no 4 in R3C8
3. 45 rule on N7 3 innies R789C3 = 20 = {389/479} (cannot be {569/578} because R79C3 = 15 clashes with R67C3, CCC), no 1,2,5,6, 9 locked for C3 and N7
3a. 3,4 only in R8C3 -> R8C3 = {34}
4. R3C6 = 7 (hidden single in N2), R3C7 = 5, R23C9 = [79], clean-up: no 2 in R1C6, no 2 in R2C2, no 6 in R4C8, no 2 in R9C6
5. 45 rule on N3 2 remaining innies R1C7 + R3C8 = 10 = [28/46], R1C6 = {35}, R4C8 = {35}
5a. 45 rule on N3 2(1+1) outies R1C6 + R4C8 = 8 = {35}, CPE no 3,5 in R1C8 + R4C6
5b. 1,2 in N2 only in 38(8) cage at R1C5, no 1,2 in R2C3 + R4C5
[Note. R1C46 must contain the same numbers as R2C3 + R4C5.]
6. 45 rule on R1234 3 innies R4C679 = 19 = {289/469/568}, no 1,3
7. 7 in N6 only in 23(4) cage at R4C9 = {1679/2678} (cannot be {3578} which clashes with R4C8, cannot be {2579/3479} which clash with 15(5) cage at R6C9, ALS block in C9), no 3,4,5, 6 locked for N6
7a. 7,9 of {1679} must be in R5C78 -> no 1 in R5C78
7b. 5 in C9 only in R6789C9, locked for 15(5) cage, no 5 in R9C8
8. R4C679 (step 6) = {289/469}, 9 locked for R4 and 23(4) cage at R4C5, no 9 in R5C56
8a. 38(8) cage at R1C5 = {12345689}, 9 locked for N2, clean-up: no 2 in R1C3
8b. 2 in C3 only in R345C3, CPE no 2 in R4C2
9. 45 rule on N1 3 innies R123C3 = 1 outie R4C1 + 7
9a. Min R123C3 = 9 (cannot be {125} because 1,2 only in R3C3, cannot be {134} which clashes with R8C3) -> min R4C1 = 2
9b. 1 in R4 only in R4C234, locked for 14(4) cage at R3C3, no 1 in R3C3
9c. Min R123C3 = 10 (cannot be {234} which clashes with R8C3) -> min R4C1 = 3
9d. 1 in C3 only in R45C3, locked for N4
10. 45 rule on R1234 2 outies R5C56 = 1 innie R4C9 + 4
10a. R4C9 = {268} -> R5C56 = 6,10,12 = {15/24/28/48} (cannot be [64] because 6 in R5C789 when R4C9 = 8), no 3,6
11. Consider placements for 3 in R1C6 + R4C8 (step 5a) = {35}
11a. R1C6 = 3 => no 3 in R1C9 -> 3 in C9 only in R6789C3, locked for 15(5) cage at R6C9, no 3 in R9C8
or R4C8 = 3
-> no 3 in R9C8
11b. 3 in 15(5) cage only in R6789C9, locked for C9
11c. 3 in N3 only in R2C78, locked for R2, clean-up: no 4 in R3C2
12. R1C34 = [38/74]/{56}, R1C67 = [34/52] -> combined cage R1C3467 = [38][52]/[74][52]/{56}[34], 5 locked for R1
13. R8C3 = {34} “sees” all 3,4 in N8 except for R79C6, 6 in N8 only in R79C6 -> R79C6 = {346}, clean-up: no 2,6 in R9C7
13a. R9C4 = {89} “sees” all 8,9 in 39(8) cage at R6C5 except for R6C5 -> R6C5 = {89}
13b. R9C4 and R6C5 “see” all cells in C6 except for R2C6 -> R2C6 = {89}
14. Killer triple 6,8,9 in R6C12, R6C3 and R6C5, locked for R6
14a. 6 in R6 only in R6C123, locked for N4
15. R78C78 = {6789} (hidden quad in N9)
15a. R78C7 = {69/78} = 15 -> R78C8 = 15 = {69/78}
15b. Killer pair 6,8 in R3C8 and R78C8, locked for C8
15c. Hidden killer pair 7,9 in R5C8 and R78C8 for C8, R78C8 contains one of 7,9 -> R5C8 = {79}
16. 45 rule on N9 1 outie R6C9 = 1 innie R9C7 -> R6C9 = {134}
17. 23(4) cage at R4C9 (step 7) = {1679/2678}
17a. Hidden killer pair 8,9 in R4C7 and 23(4) cage for N6, 23(4) cage contains one of 8,9 -> R4C7 = {89}
17b. Killer pair 8,9 in R4C7 and R78C7, locked for C7
18. 23(4) cage at R4C5 = {1589/2489}
18a. Killer pair 8,9 in 23(4) cage and R6C5, locked for N5
19. 45 rule on C6789 2 innies R28C6 = 1 outie R5C5 + 8
19a. R28C6 cannot total 16 -> no 8 in R5C5
20. 23(4) cage at R4C9 (step 7) = {1679/2678}
20a. Consider combinations for R4C679 (step 8) = {289/469}
R4C679 = {289} => R4C9 = {28} => 23(4) cage = {2678}
or R4C679 = {469} => R4C9 = 6, R4C7 = 9 => 23(4) cage = {2678}
-> 23(4) cage = {2678}, locked for N6 -> R4C7 = 9, R5C8 = 7, clean-up: no 6 in R78C7, no 8 in R78C8
20b. Naked pair {69} in R78C8, locked for C8 and 29(6) cage at R6C6, no 6 in R7C6 -> R3C8 = 8, R4C8 = 3, R1C7 = 2 (step 5), R1C6 = 5, R5C7 = 6
20c. Naked pair {14} in R12C8, locked for C8 and N3 -> R1C9 = 6, R2C7 = 3, R6C8 = 5, R9C8 = 2, clean-up: no 6 in R6C12, no 4 in R9C6
20d. Naked pair {14} in R6C79, locked for R6
[Cracked; the rest is straightforward.]
21. R6C3 = 6 (hidden single in N4), R7C3 = 9, R9C34 = [89], R78C8 = [69], R6C5 = 9 (hidden single in N5), R2C6 = 9 (hidden single in N2), clean-up: no 2 in R6C12, no 1 in R7C2, no 1,3 in R8C2
21a. R789C3 = 20 (step 3) -> R8C3 = 3, R1C3 = 7, R1C4 = 4, clean-up: no 6 in R8C2
21b. R79C6 = [36] (hidden single in N8), R9C7 = 1, R6C79 = [41], R6C6 = 2
21c. Naked pair {38} in R6C12, locked for N4
22. 23(4) cage at R4C5 (step 18) = {1589} (only remaining combination) -> R4C6 = 8, R5C56 = [51], R4C45 = [64], R8C6 = 4, R9C5 = 7
22a. Naked pair {45} in R9C12, locked for N7
22b. Naked pair {27} in R78C2, locked for C2 and N7 -> R4C2 = 5, R4C9 = 2, R4C3 = 1, R3C3 = 2 (cage sum), R9C2 = 4, clean-up: no 3 in R3C2
and the rest is naked singles.