Files
ai-safety-platform/docs/adr/ADR-012-result-state-model.md
T
baozaotumao2025 14722be770 first commit
2026-07-18 21:00:26 +08:00

1.3 KiB

ADR-012:逐条结果状态与仲裁结论分离

状态

已接受

决策

  • TestResult.execution_status 只取 completederror,表示模型与裁判调用是否正常完成。
  • TestResult.verdict 可为空;自动仲裁时取 passfailneeds_human_reviewjudge_format_error,未仲裁和执行错误时为空。
  • Run 使用 completed_counterror_count 统计执行进度;verdict=fail 不是执行错误。
  • (run_id, execution_id) 使用数据库唯一约束,禁止同一运行的同一执行实例出现多条当前状态。
  • 报告和按交互模式统计分别展示执行状态与仲裁结论,不再使用一个 status 字段混合两个维度。

迁移

  • 历史 status=error 映射为 execution_status=error, verdict=NULL
  • 历史 status=completed 映射为 execution_status=completed, verdict=NULL
  • 历史 passfailneeds_human_reviewjudge_format_error 映射为 execution_status=completed 与同名 verdict
  • 历史 Run 的 failed_count 原样迁移为语义明确的 error_count

边界

本模型保存每个执行实例的当前结果,不保存状态变更历史;需要逐次重跑审计时再增加独立 attempt 表,当前不为未提出的历史查询引入该结构。