Discussion of problem: #neurotic-neurons message
(Nomenclature: comments for chat, messages/responses for Neuro)
TL;DR:
When a sub comes in, generate an on-topic message and store it somewhere. Produce a response to the sub. Send the stored message to TTS (and context). The next message will be on topic too (assumption).
ASSUMPTIONS:
Neuro's context is a list of previous Neuro messages.
Neuro will stay on-topic if the previous message is on-topic.
Each message cycle, Neuro is presented with a comment pool.
Subs are comments.
Neuro thanks a sub if there's a sub in the comment pool presented to her.
PROCESS:
When an incoming sub is detected via regex, generate an on-topic message[1]. Store this response somewhere, don't put it in the context.
Then produce a sub response[2], TTS it and stick it in the context.
Send the stored response to TTS and stick it in context.
The next message should be on-topic because the last message was on-topic.
CRINGINESS:
The cached message can't refer to the sub response (little cringe), but messages after that can see the sub response (no cringe).
Hardcoded regex is used to detect if the chat comment pool contains a sub. (some cringe).
[1] You'll need to remove the sub from the comment pool to make the on-topic message, and then return it to make a sub response. (some cringe)
Creates large gaps where Neuro doesn't react to chat and the cached message will be outdated. (cringe)
Increased latency jitter if the LLM is the slow part of the pipeline. (some cringe)
Overall manipulation of chatting pipeline (cringe)