Distinguish namesake agents and selected recipients - #142
Conversation
wesbillman
left a comment
There was a problem hiding this comment.
Carl, an automated reviewer, commenting via Wes’s GitHub account.
Changes requested: one P2 qualified-mention round-trip defect
Reviewed head b95faf299ce52afe2c5a6cf43e453933042088c8 against stacked base 65f700cdc7a6cd47de18df3f962343e431a08732 (feat/agents-directory).
The new qualifier-bearing display name is also serialized by the existing mention picker/composer into message text. The received-message renderer still recognizes only the raw name prefix and then adds the qualified name again. The resulting timeline text repeats the suffix. See the inline finding for the narrow reproduction and exit criteria.
Validation: a review-only React diagnostic used the real name provider, MentionPicker, MessageComposer send boundary, and MessageMarkdown renderer with synthetic session data. Selecting one of two Honey identities yielded outgoing @Honey · rcaj with exactly the intended recipient key, then rendered Honey · rcaj · rcaj. A separate direct renderer probe reproduced the same defect. Both tests characterize the defect, not an acceptance pass. No production edits or broad local CI duplication.
Applicable hosted JavaScript, Rust/tool integration, Chromium/WebKit journeys, browser measurements, security and DCO checks pass; Windows native validation is skipped. No live native import/start or live relay acceptance was performed. The previously reported #140 reconnect defect is inherited and remains tracked there, not duplicated as a new #142 finding.
The recipient/UI lane independently confirmed the finding and found no additional routing defect. I completed the collision/source/cache trace; the outstanding delegated algorithm lane was explicitly cancelled before publication.
65f700c to
1e2fd78
Compare
af37798 to
e5b0d7e
Compare
1ba499a to
6111b85
Compare
Signed-off-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Signed-off-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Signed-off-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Signed-off-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
e5b0d7e to
acf5151
Compare
wesbillman
left a comment
There was a problem hiding this comment.
Carl, an automated reviewer, commenting via Wes’s GitHub account.
Changes requested: one P2 completion-admission regression
Reviewed head acf51510e2090db8b32458190108563f8d045a45 against base 60ed428b016ea67cfadbff03c56b812990e170a9.
The previous doubled-suffix finding is fixed. The new blocker is that presentation qualifiers keep completion open after a fully typed name plus a space; Enter then selects a namesake instead of sending the intended plain text. See the inline finding for reproduction and the narrow fix.
I independently reproduced this through the real fixture/composer in both Chromium and WebKit. Without directory qualifiers, @Honey dismisses suggestions and Enter publishes no p tags. With two qualified Honey identities, suggestions remain; the first Enter selects a key and the next Enter publishes a p tag for it. A separate real-service/SSR probe verified the old round-trip fix: raw @Honey, one exact key, one displayed qualifier.
All three delegated lanes returned; directory/collision, notification and geometry review found no additional blocker. Production composer/CSS remain unchanged by this rebased diff. No production edits or broad local CI rerun; browser probes used synthetic identities, not live credentials or agent launches.
Hosted snapshot: JavaScript, Rust/tool integration, measurements, all four browser shards, security and DCO passed; the aggregate CI required job was still running. Windows native validation was skipped. Those checks do not cover this qualified-name keyboard path.
Exit criterion: restore completed-name-plus-space dismissal with qualified names and cover keyboard acceptance versus plain-text submission without changing exact-key routing or multi-word completion.
Signed-off-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
wesbillman
left a comment
There was a problem hiding this comment.
Carl, an automated reviewer, commenting via Wes’s GitHub account.
Rereview: no remaining blockers
Reviewed 52dadd9bf905879f002faccc2839a7af970383a1 against base 60ed428b016ea67cfadbff03c56b812990e170a9, focusing on the delta from reviewed head acf51510e2090db8b32458190108563f8d045a45.
The completed-name dismissal finding is fixed: admission includes source names while qualified filtering stays unchanged. Deliberate Enter/Tab acceptance still selects an exact key and inserts the raw name; typing the complete name plus a space dismisses suggestions and sends plain text without recipient tags. The earlier doubled-suffix fix is unchanged.
Validation: traced the real producer → completion key handling → composer send boundary and ran a focused real-helper probe. Inspected hosted Chromium and WebKit report artifacts from run 35867401918: both complete relevant browser files passed, 10/10 tests with no retries, including the new keyboard regression. The optional independent follow-up lane did not return and was explicitly cancelled before publication; this verdict is based on my completed review and verified test evidence. All applicable hosted checks are green; Windows native validation is skipped. No broad local suite duplication or live relay/native launch validation.
Both prior finding threads are resolved. No additional code changes requested. This is a review comment, not formal approval; Wes has not requested approval.
…search-send * origin/main: Connect attachments to existing message delivery (#176) perf: preserve unchanged thread row identities (#171) perf: cache markdown preparation by content (#172) Add safe attachment upload groundwork (#150) feat: add sampling profiler launch modes (#148) feat(channels): remove DMs from the sidebar (#157) Distinguish namesake agents and selected recipients (#142) feat(channels): move diagnostics into Channel Settings (#163) Replace warning banners with shared Base UI toasts (#164) feat(shortcuts): add keyboard shortcut settings (#155) fix(channels): give floating unread cue an opaque panel surface (#153) feat(communities): add BUZZ_DEV_OPEN_RELAY to open the default relay on fresh dev ports (#151) Restore recipient avatars beside the composer mention tool (#162) Fix startup inventory duplication and late panel scroll shifts (#160) feat(channels): add channel creation (#138) Standardize Button and IconButton with Buzz design tokens (#145) Signed-off-by: Zach Marley <zmarley@squareup.com>
🤖
Summary
Keep unique agent names clean, and distinguish agents that share a displayed name. Distinct exact keys with the same name show a short qualifier such as
Honey · 2abc, including across different profiles.Rebased onto
mainafter #140, #141, and #147 merged. This is no longer a stacked PR.Behavior
Validation
At
acf51510e2090db8b32458190108563f8d045a45:Review
The prior qualified-mention round-trip finding is addressed by the merged #141 source/display separation. The existing changes-requested decision has not yet been cleared. Human review coordination remains with the PR owner. The separate WebKit flake investigation is outside this PR.
Completion feedback repair
At
52dadd9bf905879f002faccc2839a7af970383a1, admission includes source names alongside display labels. This restores completed-name dismissal without new conditional branches or changes to qualified filtering/multi-word completion.One additional browser case (two total added relative to main; none removed) exercises the real completion producer and native Enter/Tab handling. It failed in both engines before the repair and passed afterward. Both complete affected browser files passed (10 tests), query/round-trip unit coverage passed (9 tests), and push hooks passed 899 tests. New CI: https://github.com/block/buzz-app/actions/runs/35867401918 (passed on the first attempt; required CI, security, and DCO green). Both addressed review threads are resolved; review approval remains outstanding.