From 11d44ebc8ac6566ff9313edf445ce9320076ecad Mon Sep 17 00:00:00 2001 From: ThearchyHelios Date: Tue, 6 Oct 2026 08:25:23 +0800 Subject: [PATCH] =?UTF-8?q?check-verify=20=E8=A1=A5=E4=B8=80=E8=8A=82?= =?UTF-8?q?=EF=BC=9A=E8=AE=B0=E5=BD=95=E9=A1=B5=E7=9A=84=E5=B7=A5=E4=BB=B6?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E9=87=8C=E5=8F=8C=E7=9B=B2=E5=A4=8D=E7=AE=97?= =?UTF-8?q?=E5=AF=B9=E7=85=A7=E3=80=81=E5=8F=8D=E6=96=B9=E5=AE=A1=E7=A8=BF?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=9C=89=E5=90=8D=E5=AD=97=E5=92=8C=E8=AF=B4?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 期 3 新加的两种工件此前没登记叫法,工件列表里露的是键名 dual_check、challenge,说明一栏只有一句「工件」。叫法表(pages/runs/model.ts 的 ARTIFACT_KIND_LABEL)已补上,这里守住:种类的叫法、说明(双盲复算带指标个数,没有 meta 的老数据也有一句),两种都算证据。按页面自己加载的那一份取,同 check-evidence 的工件一节 --- scripts/check-verify.mjs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/scripts/check-verify.mjs b/scripts/check-verify.mjs index 8371cc3d..7bfbfe10 100644 --- a/scripts/check-verify.mjs +++ b/scripts/check-verify.mjs @@ -18,6 +18,7 @@ // - 审批卡(期 4):预告逐条说「会记为……」或「不会记入:原因」,原因是服务端的原话;被目录挡下的一边照样说写到哪; // 几个指标落到同一项上时照完整对照里服务端算好的合并预告(catalog_joint)说,和真写的一字不差(夹具的 merges 是服务端 // 真写一遍的结果);盲算的理由按核查 agent 组装的理由文档画,有出处的数字画实线、裸数字醒目标出,老工件照旧纯文本; +// - 记录页的工件列表:双盲复算对照、反方审稿记录两种工件有名字和说明,不露键名; // - 检查器:口径卡、指标、口径说明、盲算模型、相对误差、未采用原流程时、启用,每一项都真的写进节点配置;字段的 // 叫法和服务端校验报错里的(engine/labels.py 的 DUAL_CHECK_FIELD_LABEL)一字不差;选口径卡、盲算模型、启用三态用的是 // 和反方审稿共用的控件(verifyFields.tsx);盲算模型不藏在高级选项里 @@ -1042,6 +1043,27 @@ await section('审批卡:390px 不横向溢出、窄栏里上下排、深浅 await shot(rail.page, 'approval-rail-dark') }) +await section('记录页的工件列表:双盲复算对照、反方审稿记录有名字', async () => { + // 工件列表按 pages/runs/model.ts 的 ARTIFACT_KIND_LABEL 写种类:期 3 新加的两种工件没登记时,列表里露出的是键名 + // dual_check、challenge,说明一栏只有一句「工件」。按页面自己加载的那一份取(同 check-evidence 的工件一节) + const { page, errors } = await preview('dual-check-approval') + const got = await page.evaluate(async () => { + const m = await import('/src/pages/runs/model.ts') + return { + dual: m.artifactKindLabel('dual_check'), challenge: m.artifactKindLabel('challenge'), + dualDesc: m.artifactDescription('dual_check', { metrics: 2 }), dualBare: m.artifactDescription('dual_check', null), + challengeDesc: m.artifactDescription('challenge', { report: 'report' }), + evidence: m.isEvidence('dual_check') && m.isEvidence('challenge'), + } + }) + check('种类:双盲复算对照、反方审稿记录,不露键名', got.dual === '双盲复算对照' && got.challenge === '反方审稿记录', JSON.stringify(got)) + check('……说明写清装的是什么:双盲复算带指标个数,没有 meta 的老数据也有一句', got.dualDesc === '双盲复算:2 个指标两边的 SQL、取值与差异说明' + && got.dualBare === '双盲复算:两边的 SQL、取值与差异说明' && got.challengeDesc === '反方审稿:每句结论的判断、理由和反方执行的查询', + JSON.stringify(got)) + check('……两种都算证据(列表里醒目)', got.evidence) + check('……页面没有报错', errors.length === 0, errors.join(';')) +}) + // ---------------------------------------------------------------- 检查器与节点卡片 /**