So I couldn't crash or get any python errors last night, so in a fit of boredom, went on a massive sorcery spelltesting spree. In no particular order (except the way my notes were scribbled), here's some observations. I know not everything is implemented yet - some might be easy fixes, otherwise they'll serve as my notes for things to test in future, when you do start worrying about nit-picky stuff.
Spell oddities:
Fair Winds: Can be cast on a stack without boats, if there is a Great Person (at least a Great Bard) in the stack. Bard gets the promotion.
Sanctify: Didn't seem to be reducing the ArmCount, but did at the end of the turn. Any chance for immediate gratification?
Courage/Haste: Cast on stack with mage, archer, warrior, Great Bard, trojan horse. Only great bard and the horse get the applicable promotions. Suspect the game is casting it on NON-living instead of living. (Course, why is Great Bard non-living?)
Defile: Casts, but does nothing (no fallout).
Summon Skeleton: (suspect this applies to all summons) - cast with Combat 5, gives Empower 5 promotion. Promotion only gives 10% strength (seem to recall Empower 1 and Empower 2 also being 10%).
Destroy Undead - Affects all undead in neighbouring tiles instead of one square? Maybe intentional, just not how I recall it. Amusingly (and i suspect rightly, if it remains AoE), a lich damages himself with this spell.
Poisoned Blade/Flaming Arrows - Both work on summoned skeletons.
Enervation/Wither/Charm Person/Rust - targetted enemy spells, just can't cast at all (not lit up).
Trust - casts, greys out, has no visible effect (no diplomacy modifiers). Stays greyed out in future.
Whirlwind - will push units out of cities.
Unyielding Order - uncastable.