## 诊断流程样例
### 场景
9335 条商品域 session 使用 Ark 做场景对齐,主跑完成后 clean 文件只有 8850 条 ok、485 条 error。人工观察发现部分行 raw 里先有 ok,后续补跑又写入 error,latest-record 清洗把成功结果覆盖掉了。
### 输入
- 源表:`data/最终结果/一二级标签总表.xlsx`
- raw 缓存:`out/product_scene_match.raw.jsonl`
- clean 结果:`out/product_scene_match.clean.csv`
- 日志:`out/product_scene_match.run.log`
- 主键:`sessid`
### 运行
```bash
python .agents/skills/session-batch-labeler/scripts/batch_session_label.py diagnose \
--input data/最终结果/一二级标签总表.xlsx \
--raw out/product_scene_match.raw.jsonl \
--clean out/product_scene_match.clean.csv \
--log out/product_scene_match.run.log \
--id-col sessid \
--report out/ark_batch_tail_report.md
```
### 诊断输出
| 检查项 | 结果 | 判断 |
| --- | ---: | --- |
| expected_total | 9335 | 源表口径 |
| raw_written | 9335+ | 有重复补跑记录 |
| clean_ok | 8850 | 未达标 |
| clean_error | 485 | 需要拆分真假失败 |
| ok_shadowed_by_error | 141 | clean 逻辑错误 |
| true_unfinished | 344 | 只补这些 |
### 建议动作
1. 先执行 `--finalize-only --prefer-ok`,修复 clean 去重口径。
2. 对 true unfinished 执行 `--only-errors --workers 4 --read-timeout 60`。
3. 若剩余小于 5 条,单条或小批次拉到 `--read-timeout 180`。
4. 验收必须达到 `9335/9335 ok`、`error_rows=0`、`ok_shadowed_by_error=0`。