# ───────────────── CONFIG ──────────────────
TOKENS_ACK_MAX = 6
SILENCE_TIMEOUT_SEC = 3 # goal 7 (faster pauses)
MAX_RETRIES = 1 # goal 3 (one repeat only)
MAX_INTERRUPTS = 3
WAIT_FUNCTION_MS = “80 + 2500 * x” # goal 3 (snappier endpointing)
# ─── NEW: SPAM DETECTION CONFIG ───
SPAM_PHRASES = [
“press 1”,
“retail rebate”,
“exceeded the maximum”,
“contact customer service”,
“disconnected”,
“marketing offers”,
“please hang up”,
“google subscriber”
]
# ────────────── RUNTIME STATE ──────────────
q_index = 0
answers = {}
waiting_for_answer = False
stage = “opener”
reschedule_detected = False
appointment_confirmed = False
interrupt_count = 0
# ───────────── QUESTIONS (10-pt) ──────────
questions = [
“From your location, are you moving from a house, an apartment, or a condo?”,
“How many bedrooms are being packed and moved?”,
“Should the estimator include packing the kitchen in the quote, or will you handle that yourself?”,
“Any fragile items that might need special packing, like artwork, antiques, or big mirrors?”,
“Any extra-large or really heavy items like a piano, safe, pool table, gym equipment, or something similar?”,
“Going outside or in the backyard, are we moving any patio furniture, barbecue, or garden items?”,
“Will the washer, dryer, fridge, or freezer be moving with you to ?”,
“Anything included from a garage?”,
“What about another location; is there anything in a local storage unit to be included in the price quote?”,
“And finally, do you want a price to ship any vehicles with you to ?”
]
# ────────────── SHORT-ACK LIST (1-3 wds) ───
ACKS = [“Got it.”, “Understood.”, “Noted.”]
………>