fix: replying to a thought no longer mislabels it 'surfaced'

'surfaced' means SHE raised it with Brian (chat lead / ping). record_response was
also setting it on Brian's reply, so every thread he touched looked surfaced even
though she never brought it to him. Replying now just stores the pending response;
status stays honest (only her surfacing sets 'surfaced').

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-22 20:18:12 +00:00
parent 3dd9eb5a3e
commit cf4238911e
+4 -3
View File
@@ -289,12 +289,13 @@ def decay() -> int:
def record_response(thread_id: int, text: str) -> bool: def record_response(thread_id: int, text: str) -> bool:
"""Brian's reply to a surfaced thread. Stored as pending feedback; next `think` """Brian's reply to a thread. Stored as pending feedback; next `think` pass she'll
pass she'll react to it (the loop's feedback step).""" react to it (the loop's feedback step). Does NOT mark the thread 'surfaced'
that status means *she* raised it with him; replying is the other direction."""
text = (text or "").strip() text = (text or "").strip()
if not text or not get_thread(thread_id): if not text or not get_thread(thread_id):
return False return False
update_thread(thread_id, last_response=text, responded_at=_now(), status="surfaced") update_thread(thread_id, last_response=text, responded_at=_now())
logbus.log("info", "thought response", thread=thread_id, chars=len(text)) logbus.log("info", "thought response", thread=thread_id, chars=len(text))
return True return True