feat: atomic extract-and-connect + stale PR monitor + response audit #4

Merged
m3taversal merged 70 commits from epimetheus/atomic-connect-and-stale-monitor into main 2026-03-30 11:03:35 +00:00
Showing only changes of commit b90e80ed6c - Show all commits

View file

@ -447,12 +447,8 @@ async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
user.username or "?", unanswered_count[key], CONVERSATION_WINDOW)
await handle_tagged(update, context)
return
else:
# Group: silent context tracking only
history = conversation_history.setdefault(key, [])
history.append({"user": text[:500], "bot": ""})
if len(history) > MAX_HISTORY:
history.pop(0)
# Group: don't track silent messages in history (Ganymede: Option A)
# History should be the actual conversation, not a log of everything said in the group
# Expire window after CONVERSATION_WINDOW unanswered messages
if unanswered_count[key] >= CONVERSATION_WINDOW:
del unanswered_count[key]