Found during review of #41. Follow-up; adapter-dependent.
Problem
route() refreshes lastActivity on every incoming channel-incoming message (src/mcpl/conversation-router.ts:162). If a platform adapter echoes the bot's own published messages back as incoming — and self-filtering is a per-adapter concern, not guaranteed — then a fork that posts to its channel resets its own idle TTL. An engagement that talks to itself never expires.
Suggested fix
Don't refresh TTL on messages authored by the bot. Either filter self-authored messages before route(), or pass an isSelf/author signal into IncomingMessageFacts and skip the lastActivity bump.
Found during review of #41. Follow-up; adapter-dependent.
Problem
route()refresheslastActivityon every incomingchannel-incomingmessage (src/mcpl/conversation-router.ts:162). If a platform adapter echoes the bot's own published messages back as incoming — and self-filtering is a per-adapter concern, not guaranteed — then a fork that posts to its channel resets its own idle TTL. An engagement that talks to itself never expires.Suggested fix
Don't refresh TTL on messages authored by the bot. Either filter self-authored messages before
route(), or pass anisSelf/author signal intoIncomingMessageFactsand skip thelastActivitybump.