From 04664ab514a4b0db26be5860bed388b1c9a8e495 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E6=99=BA=E8=B6=850668000959?= Date: Wed, 3 Jun 2026 16:46:32 +0800 Subject: [PATCH] fix(session): tighten main-session alias detection to exact 3-part format Only match agent:X:main, not agent:X:direct:main or agent:X:slack:channel:main. Review feedback from afjcjsbx. --- pkg/memory/jsonl.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkg/memory/jsonl.go b/pkg/memory/jsonl.go index 463aec0e0..3b2f9ff3f 100644 --- a/pkg/memory/jsonl.go +++ b/pkg/memory/jsonl.go @@ -268,9 +268,13 @@ func isMainSessionAlias(alias string) bool { if alias == "" { return false } - // Legacy form: "agent:main:main" (case-insensitive) + // Legacy form: "agent:main:main" (exactly 3 colon-separated parts) + // Must not match "agent:sales:direct:main" etc. if strings.HasPrefix(alias, "agent:") && strings.HasSuffix(alias, ":main") { - return true + parts := strings.SplitN(alias, ":", 4) + if len(parts) == 3 { + return true + } } // Opaque form: "sk_v1_" + SHA256("agent:main:main") if strings.HasPrefix(alias, "sk_v1_") {