diff --git a/internal/cardsvc/task_visibility.go b/internal/cardsvc/task_visibility.go index 5b309cd..54691d4 100644 --- a/internal/cardsvc/task_visibility.go +++ b/internal/cardsvc/task_visibility.go @@ -74,6 +74,7 @@ func (s *Service) VisibleTaskCard(owner string, c core.ActivityCard) core.Activi task.Inputs = nil task.Findings = nil task.Conclusion = "相关来源当前不可用,结果暂不展示" + task.Limitations = []string{"相关来源当前不可用,请核实访问权限与文件状态"} task.Remaining = "请核实材料访问权限与文件是否仍可读取" } else { task.Findings = append([]core.TaskFinding(nil), task.Findings...) @@ -86,6 +87,7 @@ func (s *Service) VisibleTaskCard(owner string, c core.ActivityCard) core.Activi } } task.Conclusion = "依据文件已更新,当前结论需要重新核验" + task.Limitations = []string{"依据文件已更新,历史发现不能直接作为当前结论"} task.Remaining = "展开历史记录可查看处理时的合法引用;当前文件与当时版本可能不同" } task.OutcomeCompleteness = "partial" diff --git a/internal/server/work_checkpoint_eval_test.go b/internal/server/work_checkpoint_eval_test.go index 631219a..f6fffe4 100644 --- a/internal/server/work_checkpoint_eval_test.go +++ b/internal/server/work_checkpoint_eval_test.go @@ -232,7 +232,19 @@ func evalProviderStream(route map[string]any, dir string) agentllm.StreamFunc { unknown := false records := []map[string]any{} return func(ctx context.Context, m string, msgs []agentllm.Message, decls []agentllm.ToolDecl, opts agentllm.StreamOptions) <-chan agentllm.Event { - runKey := fmt.Sprintf("%p", ctx) + fingerprint := []agentllm.Message{} + for _, msg := range msgs { + if msg.Role == agentllm.RoleSystem && len(fingerprint) == 0 { + fingerprint = append(fingerprint, msg) + } + if msg.Role == agentllm.RoleUser { + fingerprint = append(fingerprint, msg) + break + } + } + fp, _ := json.Marshal(fingerprint) + hash := sha256.Sum256(fp) + runKey := hex.EncodeToString(hash[:]) mu.Lock() a := groups[runKey] if a.Started.IsZero() {