""" classify_memory_reference.py Detects whether a user message is explicitly recalling a past conversation. Only when this fires does the system query db5 (long-term FAISS history). Returns: { "recalls_past": bool, "time_hint": str | None, e.g. "last week", "in March", "a while ago" "character_hint": str | None, e.g. "socrates", "diogenes" } Uses Tier C (nano) — binary classifier, minimal tokens. """ import json import re from typing import Optional _SYSTEM_PROMPT = """You are a memory-reference detector for a chat application. Decide if the user's message explicitly tries to recall a PAST conversation — phrases like "do you remember", "we talked about", "you told me", "last time", "a while ago you said", "didn't we discuss", "remember when", etc. Respond ONLY with a JSON object, no prose: { "recalls_past": true | false, "time_hint": "