分析结论的「在验证什么」照实说谁写的:分析卡上那一条是模板作者写的,标「分析卡上写的『在验证什么』」;Agent 现场做的照旧「Agent 写的假设」(台账条目带 item 的是分析卡、带 call_id 的是 Agent)。服务端按 origin 给 hypothesis_label、hypothesis_note 两句,证据面板、导出页、可验证报告都照原样显示,不自己拼。测试:证据接口两种都测,分析卡的链、导出页、核对页各加一条断言

This commit is contained in:
ThearchyHelios
2026-10-21 15:52:19 +00:00
parent 1c117d78aa
commit 9461c03a63
12 changed files with 84 additions and 29 deletions
+3 -1
View File
@@ -8,7 +8,8 @@
* 的数、说法违规的原话都是服务端写好的,界面照原样显示,不按判定码、原因码自己拼。规矩同 terms.ts 开头的术语表。
*
* 术语:一次分析的结果叫「分析结论」,编号 A1、A2……;系统写的那一句叫「判定语」;判定的依据叫「判定标准」;做不成的叫「没有做成」
* (服务端判定语的写法),原因叫「算不了的原因」;写错的调用叫「调用有误」,不记成结论;Agent 写的那句叫「Agent 写的假设」。
* (服务端判定语的写法),原因叫「算不了的原因」;写错的调用叫「调用有误」,不记成结论;「这次在验证什么」那一句谁写的照实说:
* Agent 现场做的那句叫「Agent 写的假设」,分析卡上那条是模板作者写的,叫「分析卡上写的『在验证什么』」。
*/
import { formatNumber } from './format'
@@ -261,6 +262,7 @@ export const ANALYSIS_TEXT = {
citedCell: (row: number, column: string) => `结果表第 ${formatNumber(row + 1)} 行「${column}」`,
who: '谁做的',
origin: { card: '分析卡(模板定好的分析)', agent: 'Agent 现场做的分析', metric: '口径卡执行时自动做的可比性检查' } as Record<string, string>,
/** 「在验证什么」那一行:服务端按谁写的给说法(Agent 写的是假设,分析卡上那一条是模板作者写的),照原样显示 */
hypothesis: 'Agent 写的假设',
refused: '这次分析没有做成',
renderOk: '与按结论渲染的结果一致',
+1 -1
View File
@@ -135,7 +135,7 @@ function JudgedPart({ step, recompute, seal, overall }: {
{step.caveats.map((c, i) => <li key={`${c.code ?? ''}-${i}`}>{c.text}</li>)}
</ul>
)] : null,
step.hypothesis ? [E.hypothesis, (
step.hypothesis ? [step.hypothesis_label || E.hypothesis, (
<span key="h" data-ev-analysis-hypothesis="">
{step.hypothesis}
{step.hypothesis_note && <span className="mt-0.5 block text-2xs text-faint">{step.hypothesis_note}</span>}
@@ -673,7 +673,8 @@
}
],
"hypothesis": "下降是不是集中在某个地区",
"hypothesis_note": "Agent 写的假设:说明这次在验证什么,不是分析结论,也不进报告正文"
"hypothesis_note": "Agent 写的假设:说明这次在验证什么,不是分析结论,也不进报告正文",
"hypothesis_label": "Agent 写的假设"
},
{
"step": "analysis_method",
@@ -1326,7 +1327,8 @@
}
],
"hypothesis": "下降是不是集中在某个地区",
"hypothesis_note": "Agent 写的假设:说明这次在验证什么,不是分析结论,也不进报告正文"
"hypothesis_note": "Agent 写的假设:说明这次在验证什么,不是分析结论,也不进报告正文",
"hypothesis_label": "Agent 写的假设"
},
{
"step": "analysis_method",
@@ -1984,7 +1986,8 @@
}
],
"hypothesis": "下降是不是集中在某个地区",
"hypothesis_note": "Agent 写的假设:说明这次在验证什么,不是分析结论,也不进报告正文"
"hypothesis_note": "Agent 写的假设:说明这次在验证什么,不是分析结论,也不进报告正文",
"hypothesis_label": "Agent 写的假设"
},
{
"step": "analysis_method",
@@ -3280,7 +3283,8 @@
}
],
"hypothesis": "下降是不是集中在某个地区",
"hypothesis_note": "Agent 写的假设:说明这次在验证什么,不是分析结论,也不进报告正文"
"hypothesis_note": "Agent 写的假设:说明这次在验证什么,不是分析结论,也不进报告正文",
"hypothesis_label": "Agent 写的假设"
},
{
"step": "analysis_method",
@@ -3871,7 +3875,8 @@
"verdict": null,
"caveats": [],
"hypothesis": "这周的下降算不算异常",
"hypothesis_note": "Agent 写的假设:说明这次在验证什么,不是分析结论,也不进报告正文"
"hypothesis_note": "Agent 写的假设:说明这次在验证什么,不是分析结论,也不进报告正文",
"hypothesis_label": "Agent 写的假设"
},
{
"step": "analysis_method",
@@ -4075,7 +4080,8 @@
},
"caveats": [],
"hypothesis": "两周能不能直接比",
"hypothesis_note": "Agent 写的假设:说明这次在验证什么,不是分析结论,也不进报告正文"
"hypothesis_note": "Agent 写的假设:说明这次在验证什么,不是分析结论,也不进报告正文",
"hypothesis_label": "Agent 写的假设"
},
{
"step": "analysis_method",
@@ -5189,7 +5195,8 @@
}
],
"hypothesis": "下降是不是集中在某个地区",
"hypothesis_note": "Agent 写的假设:说明这次在验证什么,不是分析结论,也不进报告正文"
"hypothesis_note": "分析卡上写的『在验证什么』:模板作者写的那一句,不是分析结论,也不进报告正文",
"hypothesis_label": "分析卡上写的『在验证什么』"
},
{
"step": "analysis_method",
@@ -6082,7 +6089,8 @@
}
],
"hypothesis": "下降是不是集中在某个地区",
"hypothesis_note": "Agent 写的假设:说明这次在验证什么,不是分析结论,也不进报告正文"
"hypothesis_note": "分析卡上写的『在验证什么』:模板作者写的那一句,不是分析结论,也不进报告正文",
"hypothesis_label": "分析卡上写的『在验证什么』"
},
{
"step": "analysis_method",
@@ -6740,7 +6748,8 @@
}
],
"hypothesis": "下降是不是集中在某个地区",
"hypothesis_note": "Agent 写的假设:说明这次在验证什么,不是分析结论,也不进报告正文"
"hypothesis_note": "分析卡上写的『在验证什么』:模板作者写的那一句,不是分析结论,也不进报告正文",
"hypothesis_label": "分析卡上写的『在验证什么』"
},
{
"step": "analysis_method",
@@ -7924,7 +7933,8 @@
}
],
"hypothesis": "下降是不是集中在某个地区",
"hypothesis_note": "Agent 写的假设:说明这次在验证什么,不是分析结论,也不进报告正文"
"hypothesis_note": "分析卡上写的『在验证什么』:模板作者写的那一句,不是分析结论,也不进报告正文",
"hypothesis_label": "分析卡上写的『在验证什么』"
},
{
"step": "analysis_method",
@@ -9453,4 +9463,4 @@
"declared_at": "2026-10-21T10:36:37.326911+00:00"
}
}
}
}
+2
View File
@@ -2448,6 +2448,8 @@ export interface EvidenceAnalysisStep {
verdict?: AnalysisVerdict | null
caveats?: AnalysisCaveat[]
hypothesis?: string
/** 「在验证什么」那一行的说法:谁写的照实说,服务端按台账条目给(Agent 写的假设 / 分析卡上写的『在验证什么』) */
hypothesis_label?: string
hypothesis_note?: string
note?: string
// ---- analysis_method:方法、参数、实际用的阈值、现查结果 ----