OpenClaw-style proactive heartbeat. When enabled, every interval_mins
the bot reads each chat’s runtime/groups/<chat_id>/HEARTBEAT.md checklist
and runs an agent turn over it; the agent messages the chat only when
something on the list genuinely needs attention, otherwise stays silent.
OFF by default — and chats without a HEARTBEAT.md file are never touched.
Proactive “long-silence” check-in: after a chat has been quiet for a while,
optionally let the bot reach out IF it has something genuinely useful to say
(a pending follow-up, a due reminder). OFF by default — it is outward-facing
and uses an LLM call per idle chat.
“Inner thoughts” interjection: in an active group chat where the bot was NOT
addressed, occasionally evaluate whether it has a genuinely valuable thing to
say and, if so, chime in once. OFF by default — it speaks unprompted in
group conversations and uses an LLM call per evaluation.
“Sleep-time” memory consolidation: when a chat has been idle for a while, run a
background, deterministic (no-LLM) pass that archives near-duplicate memories so
the store stops accumulating redundancy between reflector runs. PROFILE memories
are never touched, archiving is reversible, and the pass is capped and throttled.
OFF by default. First slice of the v0.3.0 “Self-Improving Runtime” sleep-time
consolidation (Pillar 1c).