PR 评论(整段粘贴)¶
eval_mvp 方向对:离线会话 → sqlopt-workflow-event/v1 → 工作流指标。当前仅 Claude JSONL,建议补齐下面三点。
(1) OpenCode 兼容¶
内网服务器实际用 OpenCode,需同一套事件 schema。
- 若触达
opencode.db:只读投影,不写回、不改 schema、不另建会话库 - 放宽
case_id(现网如gcsdb_0009,不限于\d{4}tdsql_...)
参考数据集已放在 eval_mvp/test_dataset/:
| 文件 | 用途 |
|---|---|
session_full_export.jsonl |
OpenCode 会话完整导出,作 reader 输入 fixture |
opencode-db.txt |
opencode.db 表结构说明(文档,非运行时输入) |
(2) 产物精简¶
默认 6 文件冗余。建议默认只出:
workflow_events.jsonl(明细)workflow_report.csv(case 汇总;artifact 校验列可并入)trace_manifest.json(输入 sha256)
tool_calls.csv 默认关闭(--full 再开);workflow_metrics.json 与 stdout summary 二选一。
(3) 测试:固定输入 → 期望输出对比¶
做法要具体:
- 输入:用仓内
eval_mvp/test_dataset/session_full_export.jsonl - 跑一遍默认精简产物(即 (2) 里那套,不是 6 文件全开)
- 把这次输出的期望结果文件落到仓内,例如
eval_mvp/tests/fixtures/expected/(events / report / manifest 各一份) - unittest:同一输入再跑,与期望文件做稳定字段 diff(
workflow_completed、stage 分布等);路径、run_id、时间戳等先归一化后再比
opencode-db.txt 只作 schema 和sqlLite查询语句参考说明。
Checklist¶
- OpenCode 可解析
session_full_export.jsonl;README 写只读边界 - 默认产物精简;
tool_calls.csv非默认 -
case_id兼容非 tdsql 命名 -
tests/fixtures/expected/有期望产物,且测试对默认输出做 diff