Repository navigation
Route a friend's plain face-room line like the owner's: routed, single pass, no follow-ups - #465
Merged
Conversation
…e pass, no follow-ups (ThinkFlowLab#462)
Collaborator
Author
|
Self-review: PASS
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #462
What: A friend's attested plain line in a face-to-face room now goes through the same routing (#299) and single-pass no-follow-up rule (#295) as the owner's own line (owner decision 2026-10-20).
Why:
postHumanposts the friend's line from the quietface-noticesender, so it reached the round withbotId: 'face-notice'.isPlainFaceLinereturnedfalsebefore itsplaincheck, so the round got noroute(up to 6 Bots answered, no last-speaker-first) and nosingle(a Bot's@in its answer could call another Bot on). The relay could also pick a Bot post queued with the friend's line as the opener.How (core/src/host/groups.js):
friendLine(post):face-noticesender carryinghuman.isPlainFaceLinereads such a line byplain, so it getsroute(fallback: false, so nothing is forced on this home),single,lastFirstand itsfaceLine(still guarded by the friend'sauthorId, Face room: held Bot replies show as sent bubbles before approval and a rejected one stays; one Bot answers a single line twice #456).plainorcallIds) as a person's line, not an event, so it picks the speakers over a Bot post queued with it.@Botline (callIds) and an unattested line are unchanged.Test: new
#462test incore/test/rounds.test.js(routed prompt, one answer, the reply's@Chiefstarts no turn, last speaker first on a follow-up, the friend's line wins over a queued Bot post,@Writerfrom a friend is unrouted and starts only the Writer). It fails on main. The#295test now expects one answer to the friend's plain line instead of two.ARCH_DOCS_BASE=origin/main TZ=UTC npm run verify: pass (core 1018, social 276, tree 80, timeline 80, scripts 88, interop 37, live-e2e 16; 0 failures). Patches regenerated and checked; docs (core-host, social) and a changelog fragment updated.Risk tier: T2 (estimate; the controller sets the label)