chat: decode Bifrost chat_pending.v4 reply_to (lenient ReplyLink, opt-in request) #53
Loading…
Reference in a new issue
No description provided.
Delete branch "chat/reply-link-v4"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Executes
gamecult-chat:cut_spec:cut-chat-reply-link-decode.r4(rulingsgamecult-chat:ruling:reply-link-drop-bad-quote, supersedingreply-link-reject-document). Base1c412ebb(main had not moved).Huginn decodes Bifrost
chat_pending.v4reply_to(delivery tuple index 14) and shows a valid quote to a Mind as one organ-framedreply_todata line after its message.chat_client.rs:ChatDelivery.reply_to: ReplyLink { Absent, Quote(ReplyTo), Dropped(ReplyViolation) }decoded by a hand-written visitor over the whole element. A reply_to outside the contract is dropped whole, never repaired or clipped, and never fails the poll. Sender and event id are held to Matrix id shapes; excerpt is bounded at 240 code points as sent, then stripped of invisible characters.reply_warningswords the once-per-event warning (event id and class only).chat_rudp.rs:RudpChat::with_reply_link(off by default). On: askschat_pending_request.v3first and steps down v4 -> v2 -> v1 onUnknownKind. Off: today's exact request.reply_defects()counts dropped events; warnings go to stderr asmind-chat: reply_to dropped event=... violation=....persona.rs:quote_line(the spec called itreply_line, which already names the Self-reply line) and one header sentence. Dropped links never render.mind-persona.rs:BIFROST_CHAT_PENDING_V4, exactly1is on.persona-chat-v8/are byte copies of Bifrostpersona-chat-v6/*.msgpackat dc35c4a2.unicode-general-category = "1"on mind-body (already in Cargo.lock and the build graph via eureka-state).Nothing installed or deployed. Flag stays off; the flip belongs to follow-up
chat-reply-link-flip.Verification: pinned rust container (sha256:4c2fd73e...),
cargo test --locked -p mind-bodyas root: 1026 passed, 0 failed (the control/persona tests need root-owned temp dirs and fail for any non-root uid, at base too).cargo clippy --no-deps -p mind-body --all-targetsshows only pre-existing lints.🤖 Generated with Claude Code
Merged origin/main (
b373c2a) into the branch (merge, no rebase, plain push). Fixtures persona-chat-v8 are byte-identical to Bifrost tests/fixtures/persona-chat-v6/ at e12b8e22 (the four .msgpack files; the .hex siblings are not vendored). The decode already holds the reply_to contract: sender and event id shape plus length cap 255, bad link dropped whole with a named warning, variation selectors and Cf/Co stripped from the excerpt. Verify on Yggdrasil was unavailable (ssh host ygg does not resolve from this body); local cargo test -p mind-body: all chat_client and reply-link persona tests pass, 270 other failures are the sandbox uid 985 refusing non-root /tmp (control/persona store tests).🤖 Generated with Claude Code
Final state of the branch (head
ec8ba4b), verified on Yggdrasil:cargo test -p mind-bodygreen, 1032 passed, 0 failed, 4 skipped.🤖 Generated with Claude Code