Hrmm. That makes expanding this beyond ships without Systems a bit problematical; if the AI doesn't know what the System can / cannot do, and I can't let the System AI, a separate state-machine, make semi-intelligent decisions...
Also, the command to turn Systems on is binary; if I tell it to activate every frame, what happens with Drones?
But mainly this seems like it'd get in the way of efficient code re-use. If this is a Fighter and it's an Interceptor and it has a Phase Cloak, it now needs a special AI just for it- a Fighter that's Support and has a Phase Cloak needs to behave differently. Granted, I'm not anywhere near that point... yet... but it's going to happen, and I suspect once the base code's reasonably bulletproof, a lot of people are going to want to try this out- sort of AI Wars with SS ships, heh.
System AIs got around those hassles somewhat, by providing a framework where the System AI could run the System but the main AI could run movement decisions, firing and all that. That was a kludge, to be sure, vs. customizing everything very specifically (sometimes the System AI made a bad decision, since it couldn't know much about the AI state machine), but that's exponentially more work to do (and boring work, to boot). Vacuum has, like, 25 Wing types and 145 ships atm.
Anyhow, I'll have to think about that one a bit, see what makes sense to do. Maybe I can break it down to a few generic cases that are kludges (after all, I'm not trying to make the AI "brilliant", just behave a little differently and be able to handle a few novel things, like deal with broadside-oriented designs), but are a reasonable fit...