fix: 收敛 Code Agent M3 IO 结构化结果

This commit is contained in:
Code Queue Review
2026-05-24 04:22:17 +00:00
parent c9ec9029b6
commit 0b5311e676
8 changed files with 750 additions and 76 deletions
+11 -2
View File
@@ -2522,7 +2522,9 @@ function hasCodeAgentCompletedEvidenceVisibility({ app, codeAgentM3Evidence }) {
/isRealCompletedChatResult\(result\)/u.test(app) &&
/classifyCodeAgentCompletion\(result\)/u.test(app) &&
/status:\s*"completed"/u.test(functionBody(app, "classifyCodeAgentCompletion")) &&
/sourceKind:\s*"DEV-LIVE"/u.test(functionBody(app, "classifyCodeAgentCompletion")) &&
/m3_io_result/u.test(functionBody(app, "classifyCodeAgentCompletion")) &&
/sourceKind:\s*result\?\.m3Io\?\.type === "m3_io_result"[\s\S]*?"CONTROLLED"[\s\S]*?"DEV-LIVE"/u.test(functionBody(app, "classifyCodeAgentCompletion")) &&
/m3_io_blocker/u.test(app) &&
/Code Agent 完成证据不足/u.test(app) &&
/本次不会标记为真实完成/u.test(app)
);
@@ -2573,9 +2575,15 @@ function hasCodeAgentStatusSummaryContract({ html, app, styles, codeAgentStatus
function hasCodeAgentConversationUxStates({ app, styles }) {
const submitBody = `${functionBody(app, "initCommandBar")}\n${functionBody(app, "submitAgentMessage")}`;
const agentToneBody = functionBody(app, "agentStatusTone");
const statusToneContract =
/status === "completed" \? "dev-live" : status === "failed" \|\| status === "blocked" \? "blocked" : status === "running" \? "pending" : "source"/u.test(app) ||
/status === "completed" \? "dev-live" : \["failed",\s*"blocked",\s*"timeout",\s*"canceled",\s*"error"\]\.includes\(status\) \? "blocked" : status === "running" \? "pending" : "source"/u.test(app);
/status === "completed" \? "dev-live" : \["failed",\s*"blocked",\s*"timeout",\s*"canceled",\s*"error"\]\.includes\(status\) \? "blocked" : status === "running" \? "pending" : "source"/u.test(app) ||
(
/function\s+agentStatusTone\s*\(/u.test(app) &&
/m3_io_result/u.test(agentToneBody) &&
/\["failed",\s*"blocked",\s*"timeout",\s*"canceled",\s*"error"\]\.includes\(status\)/u.test(agentToneBody)
);
return (
/function\s+classifyCodeAgentCompletion\s*\(/u.test(app) &&
/function\s+isSourceFixtureChatResult\s*\(/u.test(app) &&
@@ -2614,6 +2622,7 @@ function hasCodeAgentConversationUxStates({ app, styles }) {
!/message-evidence\s*\{/u.test(styles) &&
/width:\s*min\(100%,\s*780px\)/u.test(styles) &&
statusToneContract &&
/m3_io_blocker/u.test(functionBody(app, "agentStatusLabel")) &&
!/sourceKind:\s*"SOURCE"[\s\S]{0,160}status:\s*"completed"/u.test(app)
);
}