From ea55e909b14df8987953b1f8502d9ed1c67e5340 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=BC=BA?= Date: Mon, 18 May 2026 20:54:18 -0400 Subject: [PATCH] fix(squad): warn squad leader against mixing one row's label with another's UUID MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Squad Operating Protocol already required leaders to use the full `[@Name](mention:///)` markdown, but it never called out that the `[Label]` and `(UUID)` parts are decoupled — only the UUID routes, the label is decorative. An LLM leader could (and did) Frankenstein a delegation by pairing one roster row's label with another row's UUID, producing a comment that looked addressed to A but actually triggered B. Add a hard rule + worked counter-example so the leader prompt states the decoupling explicitly. Co-Authored-By: Claude Opus 4.7 --- server/internal/handler/squad_briefing.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/server/internal/handler/squad_briefing.go b/server/internal/handler/squad_briefing.go index c4f3ff9c39..4c899dfaac 100644 --- a/server/internal/handler/squad_briefing.go +++ b/server/internal/handler/squad_briefing.go @@ -65,6 +65,15 @@ Hard rules: Roster. A plain "@name" or bare name does NOT trigger the agent — if you skip the mention link, the task is never delivered and the issue stalls. This is non-negotiable: no mention link = no delegation. +- The mention markdown has TWO parts: the visible ` + "`" + `[Label]` + "`" + ` and the + routable ` + "`" + `(mention://agent/)` + "`" + `. **Only the UUID decides who + gets triggered** — the Label is decorative. **Never combine one + roster row's Label with another row's UUID.** Copy the ENTIRE + ` + "`" + `[@Name](mention://agent/)` + "`" + ` string from a single Squad + Roster row as-is; do not edit either side. + Wrong: ` + "`" + `[@Reviewer-Alice](mention://agent/)` + "`" + ` — + the UI shows "@Reviewer-Alice" but Bob is triggered and replies. + This is the worst kind of bug: it looks right and behaves wrong. - Do NOT restate the issue body or prior comments in your delegation — the assignee already has them. Repeating context is noise that buries the actual instruction.