fix(buzz): require explicit display-name mentions - #74467
davidrobertson wants to merge 1 commit into
Conversation
|
Thanks — this is a narrow fix for a confirmed current-main message-routing bug.
No substantive changes requested. This is an automated hermes-sweeper review. |
GottZ
left a comment
There was a problem hiding this comment.
This was generated by AI during triage.
Summary
Two PRs address the same root cause: the optional @ in the Buzz display-name matcher allows ordinary name references to trigger dispatch. #74467 fixes that matcher and adds one routing regression test, while #75593 includes the same matcher fix plus mention-stripping boundaries and broader preservation/lookalike coverage.
Related pull requests
- #74467
related— (+8/-1) — keep open with a salvage path: the diff directly changes@?DisplayNameto@DisplayNameand tests the reported cross-agent false dispatch. Consistent with its automated keep-open review, it is the narrower base onto which the distinct stripping and lookalike coverage from #75593 can be consolidated. - #75593
duplicate— (+88/-13) — overlapping superset with salvageable additions: it duplicates #74467's matcher correction but additionally prevents_strip_mention()from removing bare names or display-name prefixes and tests npub/hex preservation, DMs, disabled mention gating, and lookalikes. Despite the automated keep-open review on #75593, its matcher change is duplicative; its distinct stripping changes and tests should be transferred to #74467 before closure.
Duplicates
#74467 and #75593 make the same display-name matcher correction and overlap on the dispatch regression; #75593 is not a complete duplicate until its _strip_mention() fix and additional boundary/preservation tests are consolidated into #74467.
Suggested consolidation
Keep #74467 open with a salvage path: extend it with #75593's _strip_mention() boundary fix and the nonredundant lookalike, DM, require_mention: false, and npub/hex tests. After those distinct parts are preserved, close #75593 as a duplicate of #74467; this follows the contributor's consolidation request while explicitly accounting for #75593's automated keep-open review through the diff-backed salvage step.
Complex graph
flowchart LR
classDef open fill:#dbeafe,stroke:#1d4ed8,color:#1e3a8a
classDef merged fill:#dcfce7,stroke:#15803d,color:#14532d
classDef closed fill:#e5e7eb,stroke:#6b7280,color:#1f2937
classDef unverified fill:#f3f4f6,stroke:#9ca3af,color:#374151
classDef best stroke-width:3px,stroke:#b45309
classDef target stroke-width:3px,stroke:#4338ca
subgraph Dup74467 ["PRs duplicating each other"]
P74467["PR #74467 (open)"]
P75593["PR #75593 (open)"]
end
class P74467 open
class P75593 open
class P74467 target
click P74467 "https://github.com/NousResearch/hermes-agent/pull/74467"
click P75593 "https://github.com/NousResearch/hermes-agent/pull/75593"
Graph: solid arrow = fixes / best fix, dashed arrow = partial or unverified (see edge label); boxed group = PRs duplicating each other; amber border = best fix; indigo border = target; gray node = closed (state tag in the node label).
Cross-PR triage: Reviewed 2 pull requests and 0 issues in this complex. Each diff was read against this issue; Assessment working set: 9 kB of PR diffs, 6 kB of issue/PR text, <1 kB of discussion (1 comments), 0 verify verdicts. verdicts reflect diff content, not PR titles. Part of an automated triage batch.
|
I extracted the non-overlapping mention-stripping/lookalike work from #75593 directly onto this PR’s head and opened a tiny fork-to-fork salvage PR: https://github.com/davidrobertson/hermes-agent/pull/1 It leaves your explicit- |
Summary
@before the Buzz agent display nameRoot cause
The display-name matcher used
@?, making the@optional even whenrequire_mentionwas enabled. A message such as@Hermes did you see Chip's request?therefore dispatched to both Hermes and Chip.Verification