mind-body: chat_pending.v3 tail_gaps (defaulted); a named room reads as unknown, not quiet #49
Loading…
Reference in a new issue
No description provided.
Delete branch "eureka-substrate/pending-tail-gaps"
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?
Bifrost b2e0bb2 (#57) adds a fourth element
tail_gapstochat_pending.v3: the rooms whose tail lines are incomplete (read failed or timed out, or lines trimmed). Huginn main decoded a three-field reply and would fail with LengthMismatch against it.Changed (crates/mind-body):
ChatPending.tail_gaps: Vec<String>,#[serde(default, skip_serializing_if = "Vec::is_empty")]: three-field replies still decode (none named); an empty fourth element is the same answer.render_tailtakes the gaps: a named room (among the process's rooms) renders as "Unknown, not quiet: ..." whether or not it has lines; only an unnamed room with no line is "No tail line for: ... they were quiet". The old note's "or the mouth could not read them" is gone since the mouth now says which. Gaps flow poll -> Session -> PersonaInbox -> first line, like the tail.Verified (Linux Yggdrasil,
unshare -r cargo test -p mind-body): --lib 882 passed (0 failed, 1 ignored, pre-existing), after rebase onto main96a88d3(render_tail is nowrender_tail(config, addressing, tail, gaps, rooms, seen, waiting_ids)); --test chat_rudp 16 passed. New: chat_rudp 1 (three-field, four-field with gaps = Bifrost's own bytes, four-field empty, unnamed quiet room, all over real RUDP), chat_client 1 (golden round trip, default), persona 1 (unknown vs quiet through the full first line, and from the golden bytes).Mutations (hand-applied, restored): dropping
defaulton tail_gaps fails 5 lib tests and 6 RUDP tests; breaking the unknown rendering fails the persona test. tools/cargo-mutants.sh was not run.No cut_spec covers this change (
huginn cut eureka-substrate wake-reads-room-tailmatched 0), so no cut_report is admitted.With no line offered and a room named, the section reads only the unknown note, never "empty" (pinned by
a_named_gap_with_no_lines_reads_unknown_and_never_empty).Known limit: a pre-#57 mouth is indistinguishable from a 4-field mouth with an empty reply, so the "they were quiet" wording holds only for a mouth that sends tail_gaps (Bifrost says v3 is undeployed).
Not merged or deployed.
🤖 Generated with Claude Code
3f1b651e93to0f2652d7fa