Version '2019.09.3'
I am just noting this strange behavior where the intramolecular reaction does not seem to be allowed when disconnecting a bond to an atom that is part of a separate double bond.
Example to reproduce
mol = Chem.MolFromSmiles('Cc1ccc(C(=O)/C=C/c2cnc3ccccc3n2)cc1')
rxn = AllChem.ReactionFromSmarts('[c:1][C:2](=[O])[C:3]>>([*:1][C:2]#[N].[*:3][Mg][Cl])')
p = rxn.RunReactants((Chem.AddHs(mol),))
gives
RuntimeError: Pre-condition Violation
bgnIdx not connected to begin atom of bond
Violation occurred on line 283 in file Code/GraphMol/Bond.cpp
Failed Expression: getOwningMol().getBondBetweenAtoms(getBeginAtomIdx(), bgnIdx) != nullptr
RDKIT: 2019.09.3
BOOST: 1_67
Though removing the outer parentheses to give rxn = AllChem.ReactionFromSmarts('[c:1][C:2](=[O])[C:3]>>[*:1][C:2]#[N].[*:3][Mg][Cl]') makes the reaction work perfectly fine. I am somewhat confused by this and appreciate any help with the issue. Thanks!

Interesting, thanks. So the main difference seems to be the version?
Interesting, thanks. So the main difference seems to be the version?
You could try to run the code in the different version.
This does look like a bug, but it isn't with the components, it appears to be with chirality:
This fails:
mol = Chem.MolFromSmiles('C(=O)/C=C/C')
rxn = AllChem.ReactionFromSmarts('[C:2](=[O])[C:3]>>[C:2]#[N][*:3]')
rxn.RunReactants([mol])
This passes:
mol = Chem.MolFromSmiles('C(=O)C=CC')
rxn = AllChem.ReactionFromSmarts('[C:2](=[O])[C:3]>>[C:2]#[N][*:3]')
rxn.RunReactants([mol])
@greglandrum Chirality issues should get auto assigned to you :)