fix(code-queue): cap judge retries and trace judge prompts

This commit is contained in:
lyon
2026-05-15 13:17:10 +08:00
parent 17f6389623
commit 83ad5cac05
6 changed files with 211 additions and 33 deletions
+1
View File
@@ -62,6 +62,7 @@ Tag 是 OA 事件流的订阅和投影索引。所有 tag 必须是稳定字符
- 运行中每个新的 TraceView 可见执行行都必须发布 `trace-step-created`,并带 `task:<taskId>``queue:<queueId>``attempt:<index>``service:code-queue``trace` tag,以及 payload 中的 `scopeId=task:<taskId>``attemptIndex``attemptScopeId=task:<taskId>:attempt:<index>`;统计中心据此幂等更新任务级累计统计和 attempt 级独立统计,message/error 行增加 STEP 或 errorsystem 行默认仅保留在任务原始输出/数据库中,不进入 STEP 计数且不伪装为工具调用。
- Trace Summary 顶部执行摘要读取任务级 `task:<taskId>`;执行过程摘要 `#<index>` 读取 `task:<taskId>:attempt:<index>`。如果 attempt scope 尚未投影完成,必须显示 `statsSource=unavailable``--`,不得回退到任务级累计统计、transcript 重算或旧本地字段。
- 任务入队、开始、终态、移动 queue、标记已读等状态事实必须发布 `task-updated` 或更具体的事实事件,供事件表和后续审计使用。
- Code Queue judge 每次真正发起 MiniMax LLM 请求前必须发布 `judge-llm-request` 诊断事件,tag 至少包含 `service:code-queue``task:<taskId>``attempt:<index>``judge``diagnostics`payload 必须包含不带 API key 的最终 request payload/messages、prompt/payload 尺寸和 repairAttempt;随后发布 `judge-llm-response``judge-json-parse-error`(如有)和 `judge-result`,用于追溯“最终发给 judge LLM 的 prompt”和安全覆盖结果。
- Code Queue 服务启动后可对 PostgreSQL 中已有任务回放每个 TraceView 可见执行行的 `trace-step-created`,并发布 `trace-stats-snapshot` 事件完成统计中心种子同步;回放必须使用相同 `eventId` 保持幂等,不得阻塞队列恢复。历史回放必须按 attempt start 行推导 `attemptIndex`,确保重建投影时 attempt scope 可独立恢复。
## Pipeline Integration