Step 1.7 闸门审计清单
用途:FinTecEval 跑完 vs-martin 6 维度闸门、交回记分表后,主控不直接相信报告,按本清单独立核验,再交 owner 签字。
分工口径(当前里程碑 §7):FinTecEval 产证据、出记分表;主控独立审计;owner 签字定阶段一收尾。
硬约束:FinTecEval 在工程仓跑闸门期间,主控不碰工程仓工作树(只读可以,不提交)。本审计是读 harness 源码 + 读
runs/gate_1_7.jsonl+ 重算,全程只读。关联:工程仓
docs/design/step-1.7-gate-runbook.md(runbook)、scripts/gate_1_7_vs_martin.py(harness)、本 workstream 新基线交接。
A. 别信记分表,先核数据底座(逐条对账)
- A1 同条件锁:读
runs/gate_1_7.jsonl,确认 martin 侧与 finbayes-delta 侧同 provider、同 model(ADR-028 D-4 硬约束)。逐行核 model 字段一致;若两侧 model 不同,闸门作废、退回重跑。 - A2 case 集对齐:确认两侧都跑了同一批 30 个
EVALUATION_SCENARIOS,没有一侧少跑/挑跑。按 case_id 配对,缺配对的 case 不计入「只强不弱」判定。 - A3 transient 剔除干净:背景试跑里见过 LLM 连接错误 + 退避重试(C3/C7)。核
transient_failed记录确实没写进 jsonl,重试后的成功记录才入账;别让一次超时被算成 martin/FinBayes 的「失败」污染成功率 D4。 - A4 自动 4 维重算:不照抄记分表打印值,自己从 jsonl 重算 D2 执行效率(elapsed)/D3 token 代理(答案规模/llm_calls)/D4 成功率(returncode=0 且答案≥40c)/D5 工具数与种类,与记分表数字对得上。对不上就查谁错。
B. 核「δ 真用了新灵魂」(这是最容易被旧结论污染的点)
- B1 灵魂版本:确认跑闸门的工程仓 commit ≥
0aff0da(Step 1.6 灵魂重写)。此前会话内盲评用的是旧灵魂、结论已部分失效,绝不能拿旧盲评数据顶 D1。 - B2 system_prompt 实证:读 jsonl 里 finbayes-delta 侧的 system_prompt / identity 文本,确认是 FinBayes 认知形态(判断四要素:方向/证据带时点/可监测失效条件/反方+不确定性;logo 🧭)——不能出现旧 Finclaw 残留(🦅、"monitor stocks / form opinions" 那套爱表态盯盘人格)。出现残留 = 跑的是旧灵魂,作废重跑。
- B3 路径正确:确认走的是新 ReAct 路径 δ(
react_cognitiondelta),不是旧run_finbayes_package_c_30case.py的静态 DAG 路径。jsonl 里应有 inner_loop / 多工具调用痕迹,不是单轮静态产出。
C. 核两个「需另跑」的质量维度(D1 输出质量 / N3 grounding)
- C1 judge 用新灵魂输出:D1 与 grounding 是 LLM-judge/人工评,不在自动 harness 内。核 judge 评的是 B1/B2 确认过的新灵魂 δ 答案,不是旧样本。
- C2 grounding 真兑现:N3 要区分「会填格」(有失效条件/反方字段)与「有据」(字段真被工具数据支撑)。新路径每 case 调 7–15 工具,抽样核几条:δ 末答里的 key_evidence 是否真对应当轮工具拉到的数据,还是空有格式。
- C3 judge 方向分裂 caveat 保留:上轮 n=8 judge 对质量方向有分歧、样本偏小。核记分表的 D1 结论没有把分裂的 judge 打分包装成单一确定结论;建议人类专家抽样校准的话术要在。
D. 核诚实披露(不可粉饰的两处)
- D1-honest N2 不对称:harness
_summarize末尾本就打印「martin 工具数取自 --logs 正则嗅探、有损、系统性低估 martin」。核记分表把这条带到了结论里,且 D5 工具深度判定按此打了折扣——没拿「FinBayes 工具多」当硬证据。漏掉这条 = 记分表不诚实,退回。 - D2-honest 不退化要说全:B 对比(vs 5/26 baseline)里,5/26 是旧静态路径(avg 1.93s、全 C/B、13 工具)——快但浅。新 ReAct 预期质量更强但更慢。核「不退化」结论老实说明了「更慢是 pivot 取舍」,没把 D2 效率落差藏起来。
- D3-honest 效率落差摆明:D2 执行效率预期 δ ≈ martin 1.2–2.4x(不是旧审计那个 3-9x)。核记分表用新区间、且把这一维的「弱」明确标出来交 owner 判断,不冲淡。
E. 核最终判定(闸门是否真的过了)
- E1 6 维逐项有数 + 净判定:D1 质量 / D2 效率 / D3 token / D4 成功率 / D5 工具深度 / D6 结构化完整度,每维 FinBayes vs martin 都有数 + 单维判定。
- E2 「只强不弱」口径:闸门是「只强不弱」(D-4),不是「平均分更高」。若某维明确弱(最可能 D2 效率),不能用别维的强去平均掉——要单独列出来交 owner 判断该弱项可不可接受(换来的是 D5/D6/grounding 深度),或先做 runbook §8 延迟杠杆再复跑。
- E3 结论与数据自洽:净判定(过/不过/带条件过)必须与 A–D 核出来的数据一致;任何「结论比数据乐观」的地方,主控如实标给 owner,不替 FinTecEval 圆场。
F. 审计产出
核完写一页审计意见(不是重写记分表):① 数据底座是否可信(A);② 灵魂/路径是否正确(B);③ 质量维是否站得住(C);④ 披露是否诚实(D);⑤ 净判定是否成立(E)。给 owner 三选一建议:闸门通过、阶段一收尾 / 带条件通过(列明哪维弱、可否接受)/ 退回重跑(列明硬伤)。owner 签字。