BIZ8 设计批量OCR样票回归
这个提交包含在:
@@ -138,6 +138,41 @@ node scripts/qa/check-pending-ocr.mjs --thresholds=2,5,10
|
||||
|
||||
脚本只输出票据 ID、上传时间、尝试次数和最后错误摘要,不读取票据文件内容。缺少 `DATABASE_URL` 时应输出 `SKIP`,不视为真实数据库健康检查通过。
|
||||
|
||||
### BIZ8 批量样票 OCR 回归设计
|
||||
|
||||
批量样票回归用于判断真实 OCR provider、异步终态和失败复核路径是否稳定,不替代 PDF-only 当前验收,也不代表图片 OCR 已开放。
|
||||
|
||||
推荐分层:
|
||||
|
||||
| 层级 | 用途 | 通过口径 |
|
||||
| --- | --- | --- |
|
||||
| mock OCR | 验证上传、pending、状态刷新、失败提示和报销绑定流程 | 本地自动化通过;不得宣称真实 provider 通过 |
|
||||
| pending OCR 扫描 | 识别卡住的 `pending_ocr` 票据 | `check-pending-ocr.mjs` 输出计数和摘要;缺 `DATABASE_URL` 记录 `SKIP` |
|
||||
| 单张真实 OCR | 验证 live provider、凭据、网络和字段归一化 | 授权样票上传后进入可解释终态;重复票据可算可解释终态 |
|
||||
| 批量真实 OCR | 验证多样票稳定性、失败率和错误分类 | 仅使用授权或脱敏样票;失败逐张记录并人工复核 |
|
||||
|
||||
批量真实 OCR 只能在满足以下条件后执行:
|
||||
|
||||
1. 样票已按 [报销发票附件规则](./报销发票附件规则.md) 完成授权、脱敏和别名登记。
|
||||
2. 文件名使用样票别名,不使用真实供应商、客户、员工姓名或业务说明。
|
||||
3. `PLAYWRIGHT_OCR_LIVE_FILE`、`PLAYWRIGHT_OCR_LIVE_FILES` 或 `PLAYWRIGHT_OCR_LIVE_DIR` 指向仓库外安全目录。
|
||||
4. 批量报告只作为本地辅助复核;未经脱敏的 `artifacts/r70/live-ocr-batch-report.md` 不得提交。
|
||||
5. 如缺少样票、凭据、授权或网络,只能记录 `SKIP` 和补测条件,不得标记 PASS。
|
||||
|
||||
示例命令:
|
||||
|
||||
```bash
|
||||
cd client
|
||||
PLAYWRIGHT_MANUAL=1 PLAYWRIGHT_OCR_LIVE=1 PLAYWRIGHT_OCR_LIVE_BATCH=1 PLAYWRIGHT_OCR_LIVE_DIR=<safe-sample-dir> npx playwright test tests/e2e/manual/live-invoice-ocr-batch.spec.ts --workers=1 --reporter=list
|
||||
```
|
||||
|
||||
结果判读:
|
||||
|
||||
- `available` 或可解释的重复票据终态表示 OCR 链路可继续人工复核。
|
||||
- `pending_ocr` 超过阈值必须结合 pending 扫描和 worker 日志排查,不能直接算失败或通过。
|
||||
- `ocr_failed` 必须记录错误摘要、provider、样票别名和是否可重试,不记录完整票面字段。
|
||||
- 批量样票结论必须区分 PDF、图片、mock 和真实 provider;图片 OCR 仍是后续候选,不进入当前 R7E 验收。
|
||||
|
||||
## 发布候选本地门禁
|
||||
|
||||
首轮主线 A8 复跑本地门禁时,需要先用本地回归参数启动服务,再执行回归脚本。推荐参数:
|
||||
|
||||
在新工单中引用
屏蔽一个用户