Persona first line carries the mouth's room tail (wake-reads-room-tail) #44
Loading…
Reference in a new issue
No description provided.
Delete branch "eureka-substrate/persona-room-tail"
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?
Ruling
eureka-body:ruling:wake-reads-room-tail. The mouth side is Bifrost #51 (e8722d0,docs/bridge.md"Room tail"); this PR consumes it. The earlier in-process accumulator (Soul-failed) is deleted.Deploy safety.
ChatPendinggainstail: Option<Vec<TailLine>>(defaulted, skipped when none), so a two-field v3/v2/v1 answer and the three-field v3 both decode. Golden bytes: the two-field files are the old mouth's (persona-chat-v5); the three-field files inpersona-chat-v6are Bifrost e8722d0's own golden files, written by its encoderpendingV3Tuple, copied unchanged.Consumer.
Chat::pendingreturns theChatPending; carry hands the tail of the poll to the session, and the process's first line renders it:config.rooms; DM session: its own room alone)Failure::Chatagain (the earlier degrade-and-continue is removed)Tests (new). 600 lines of chatter across rooms through a fake that enforces the mouth's caps; quiet-room wake and no-tail mouth markers; unspeakable rooms and DM isolation; dedupe by event id; injection-looking line stays in the frame; byte bound counts framing; failed first poll is Chat with no process started; old and new byte shapes decode (
chat_client), v1 request sees no tail (chat_rudp).cargo test -p mind-body --no-fail-fastin the rust docker image as root on the final tree: all targets ok (lib 862 passed).Not verified: the live mouth; Bifrost's encoder was not run here (its fixture bytes are used).
🤖 Generated with Claude Code
Persona processes open with the tail of her rooms (wake-reads-room-tail)to Persona first line carries the mouth's room tail (wake-reads-room-tail)