fix: assert global error presence for fault-mixed soak scenarios
This commit is contained in:
@@ -198,12 +198,11 @@ def _scoreboard(args: argparse.Namespace, env: dict[str, str]) -> None:
|
||||
asyncio.run(_live_checks(args, env, verdicts))
|
||||
else:
|
||||
verdicts.append(("记账归零/gate 可再准入", "SKIP — memory 后端跨进程不可查"))
|
||||
# 不变量 2c: P5/P6 且配置了故障源 → 故障必须真实发生
|
||||
# 不变量 2c: P5/P6 故障混编池下错误必须真实发生。紧闸源被限流闸跳过
|
||||
# 不产错误行、故障名单无法从配置泛化推断 → 钉全局存在性,按源归因
|
||||
# 交报告"错误分布"人工核对(findings §4 条 2 的比例校准留待 P5 常态化)
|
||||
if args.scenario in ("P5", "P6"):
|
||||
fault_names = [
|
||||
name for name in rpm_conf if rpm_conf[name] <= 10
|
||||
] # 紧闸源;坏 key/黑洞源由错误分布人工核对(findings §4 条 2 校准留待 P5 实跑)
|
||||
_check("故障混编生效(P5/P6)", sb.inv_fault_errors_present, rows, fault_source_names=fault_names)
|
||||
_check("故障混编生效(P5/P6)", sb.inv_any_errors, rows)
|
||||
rate = sb.structured_success_rate(rows, session_suffix="-p3")
|
||||
verdicts.append(("P3 结构化成功率", f"{rate:.3f}(基线首跑建立)"))
|
||||
report = sb.render_report(args.run_id, rows, verdicts)
|
||||
|
||||
Reference in New Issue
Block a user