I want to preface this with: I don't know Lua, so I could be wrong about this, but I looked at the source code just to check. In prototypes > technologies > buildings.lua, the K2/K2SO (what I incorrectly called K2SA) compatibility section on GitHub reads as:
-- Changes for K2
if mods["Krastorio2"] or mods["Krastorio2-spaced-out"] then
table.insert(ingredients, {"kr-matter-tech-card", 1})
table.insert(ingredients, {"kr-advanced-tech-card", 1})
table.insert(prerequisites, "kr-energy-control-unit")
table.insert(prerequisites, "kr-advanced-tech-card")
end
If I had to make a guess, the weirdness here is coming from the fact that in base K2, the advanced tech card requires matter, but it is the other way around in K2SO. I tried testing this by adding the line "table.insert(prerequisites, "kr-matter-tech-card")" which both fixed the issue in K2SO and did not affect anything in base K2. Is that a fine fix, or would it break something somewhere else that I am not seeing?