Mouth: chat_pending.v4 reply_to (flag, default off) #63

Merged
heimdall merged 2 commits from heimdall/chat-pending-v4 into main 2026-11-11 16:06:29 +00:00

2026-11-11

Heimdall
Reply link: no pre-edit text, 60 s target cache, fallback stripped, excerpt made prompt-safe
Soul findings on #63: an edited target excerpts as nil; a cached target is re-read after 60 s so a
redaction shows; the target's own rich-reply fallback is dropped; control and bidi characters are
removed and line breaks collapsed before the 240 cap; the env flag parser is exported and pinned.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-11 16:05:24 +00:00
Heimdall
Mouth: chat_pending.v4 carries the quoted event of a reply (flag, default off)
Each v4 delivery is the 14 v3 fields plus reply_to = nil or [event_id, sender, excerpt]:
the quoted author's Matrix id and the first 240 code points of its text, nil excerpt for
a redacted or non-text event, nil reply_to for an unreadable or foreign-room target.
Asked by chat_pending_request.v3, served only with CHAT_PENDING_V4=1; off, that kind is
refused as any unknown kind. v1-v3 bytes unchanged. Golden bytes in persona-chat-v6.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-11 15:54:53 +00:00