pre_commit signal