4.4 KiB
4.4 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | A1 | R76 外部环境契约补齐 | 补齐 HTTPS、COOKIE_SECURE、企业微信、腾讯 OCR 的试运行环境契约与安全注入路径,不把真实密钥写入仓库。 | 1) deploy 环境前置明确;2) external deps smoke 可跑;3) deploy 模式 runtime smoke 可跑。 | 命令:`cd server && node src/scripts/smoke-external-deps.js`;`cd server && TRIALRUN_RUNTIME_MODE=deploy node src/scripts/smoke-trialrun-runtime.js`。业务:核对 HTTPS 域名、企业微信回调、腾讯 OCR 凭证都已具备。 | manual | DOING | TODO | TODO | deploy/trialrun/runbook.md|deploy/trialrun/checklist.md|server/src/scripts/smoke-external-deps.js|server/src/scripts/smoke-trialrun-runtime.js | [] | 已从旧项目 `/home/shunli/shenzhou-business-suite/.env` 与 `.env.local` 提取候选腾讯配置并用运行时注入方式尝试;`smoke-external-deps.js` 已验证至少一组候选配置可跑。当前仍待真实 HTTPS/企微 deploy 契约与 `TRIALRUN_RUNTIME_MODE=deploy` 完整烟测。 |
| 3 | A2 | 腾讯 OCR live 成功路径复测 | 在真实凭证和真实票样下重跑单张与批量 OCR 辅助复核,区分配置失败与识别失败。 | 1) 至少 1 张真实票样 OCR 成功;2) 不再出现 `SecretIdNotFound`;3) live batch 报告更新。 | 命令:`cd client && PLAYWRIGHT_MANUAL=1 PLAYWRIGHT_OCR_LIVE=1 PLAYWRIGHT_OCR_LIVE_BATCH=1 npx playwright test tests/e2e/manual/live-invoice-ocr-batch.spec.ts --workers=1 --reporter=list`。业务:上传真实票样,验证 OCR 成功后可绑定。 | playwright|manual | DOING | TODO | TODO | client/tests/e2e/manual/live-invoice-ocr.spec.ts|client/tests/e2e/manual/live-invoice-ocr-batch.spec.ts|artifacts/r70/live-ocr-batch-report.md|external | ["A1"] | 已按不写仓库的运行时注入方式逐个尝试旧项目候选腾讯配置:`.env` 这组直连腾讯 `VatInvoiceOCR` 且显式传 `IsPdf=true` / `PdfPageNumber=1` 时可成功识别用户提供的 PDF 发票;`.env.local` 仍报 `AuthFailure.SecretIdNotFound`。当前应用链路仍只传 `ImageBase64`,因此在 Playwright/live 路径上稳定复现 `FailedOperation.ImageDecodeFailed`,主阻塞已收敛到 PDF 参数/预处理缺失。 |
| 4 | A3 | HTTPS 与企业微信入口专项验证 | 在真实 HTTPS 域名下验证 COOKIE_SECURE、企业微信入口、OAuth 回调、已绑定免登与未绑定回退。 | 1) 已绑定用户可从企微进入 Portal;2) 未绑定用户回退登录页并有明确提示;3) HTTPS 下登录、刷新、退出正常。 | 业务:按 checklist 在企业微信工作台与浏览器分别验证。命令:必要时先跑 `cd client && npx playwright test tests/e2e/wecom-entry.spec.ts --reporter=list` 做入口回归。 | manual|playwright | TODO | TODO | TODO | deploy/trialrun/checklist.md|deploy/trialrun/runbook.md|client/tests/e2e/wecom-entry.spec.ts|external | ["A1"] | 当前阻塞:`APP_ORIGIN` 与 `WECOM_*` 未配置。 |
| 5 | A4 | 多角色并发与权限审计专项 | 用员工、经理、管理员或财务做并发协同,验证审批、会话、审计留痕与拒绝访问边界。 | 1) 至少 1 条请假或报销并发审批链路通过;2) 至少 1 条权限拒绝边界可复现;3) 审计日志能看到对应留痕。 | 业务:三账号并发执行提交、审批、查询、审计。命令:结合现有 Playwright 与人工多浏览器会话执行,并记录证据。 | manual|playwright | TODO | TODO | TODO | artifacts/r75/coverage-matrix.csv|artifacts/r70/manual-trialrun-report.md|client/tests/e2e/**|external | ["A1"] | 本项不新增功能,只验证现有行为。 |
| 6 | A5 | R76 收口与 R77 拆分 | 回填覆盖矩阵与执行合同,给出哪些域已测完、哪些仍外部阻塞、哪些进入下一轮缺陷修复。 | 1) coverage matrix 与 R76 CSV 一致;2) 明确 external blocked 清单;3) 形成 R77 候选优先级。 | 业务:汇总 A1-A4 结果,回填状态并输出下一轮排序。 | manual | DOING | TODO | TODO | issues/2026-04-29_08-39-22-r76-external-trialrun-closeout.csv|artifacts/r75/coverage-matrix.csv | ["A2","A3","A4"] | 本轮已把 OCR 结论从“疑似无有效腾讯凭证”收敛为“存在一组可用旧项目凭证,但当前应用链路缺 PDF 参数/预处理”。R77 候选优先级:1) server OCR 识别 PDF;2) 复跑 live OCR;3) 再回到企微/HTTPS/并发外部专项。 |