diff --git a/docs/superpowers/plans/2026-09-01-llm-error-retry-memory.md b/docs/superpowers/plans/2026-09-01-llm-error-retry-memory.md index f453f0a..883a718 100644 --- a/docs/superpowers/plans/2026-09-01-llm-error-retry-memory.md +++ b/docs/superpowers/plans/2026-09-01-llm-error-retry-memory.md @@ -704,9 +704,12 @@ package service import ( "sync" "testing" + "time" ) // analyzeOnce 应合并并发同键分析请求,只执行一次 fn +// 注:singleflight 仅对 in-flight 请求去重,故 fn 内须 sleep(50ms) 拉长执行窗口, +// 否则 10 个 goroutine 未必都在首个完成前启动,calls==1 断言会间歇失败(计划原版因此非确定,已修)。 func TestAnalyzeOnceDedup(t *testing.T) { var mu sync.Mutex calls := 0 @@ -714,6 +717,7 @@ func TestAnalyzeOnceDedup(t *testing.T) { mu.Lock() calls++ mu.Unlock() + time.Sleep(50 * time.Millisecond) return true, "dedup" } var wg sync.WaitGroup