In epidemic simulator's run method here:
https://github.com/dburov190/risk-networks/blob/ecaf3369ef7e45b6d51a8a73330cde52808d0aa5/epiforecast/epidemic_simulator.py#L142-L166
it seems a bit inconsistent that there's some sort of filtering done for the edges that are then passed to contact simulator, but not for the edges that are added/removed from the contact network. Seems weird