← back to Rentv Sheet Enrich
__pycache__/guards.cpython-314.pyc
34 lines
+
�Mj�
� �. � R t ^ RIt0 RkRkRkRkRkRkRkR kR
kRkRkR
kRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkR kR!kR"kR#kR$kR%kR&kR'kR(kR)kR*kR+kR,kR-kR.kR/kR0kR1kR2kR3kR4kR5kR6kR7kR8kR9kR:kR;kR<kR=kR>kR?ktR@ tRA t0 RDmtRB tRC tR# )EuV
guards.py — safety filters for recovered-email quality (Cody gate, 2026-08-14).
Two hard gates that every recovered email must pass before it is staged OR written:
bad_name(name) -> True if the Contact Name is NOT a plausible human name
(placeholder text like "Prop Not"/"Right People", <2 alpha
tokens, or a token on the placeholder stoplist). The parts()
parser blindly takes toks[0]/toks[-1], so "Prop Not" became
prop.not@metlife.com — this stops that class at the source.
blocked_domain(dom) -> True if the domain is a large institutional / government /
franchise employer where a first.last guess is likely WRONG
(Goldman uses its own convention; a .gov uses a different one).
MX-valid means the domain accepts mail; it says nothing about
whether first.last@ is the right local-part. For these we hold
rather than guess.
Pure/stdlib. Same input -> same output.
N�prop�props�property�people�contact�contacts�for�not�none�tbd�nazn/a�unknown�orig�email�is�the�legacy�arcg�arch�team�info�admin�office�front�desk�leasing�sales�group�corp�inc�llc�test�sample�new�old�asst� assistant�jr�sr�vp�svp�evp�avp�dr�mr�mrs�ms�ceo�cfo�coo�cto�cmo�pres� president�dir�director�mgr�manager�broker�agent�repc � � \ P ! R T ;'