完成第二轮降噪部署复检(frontend-simplification-wave2-deploy-verify)

这个提交包含在:
2026-05-29 13:45:35 +08:00
父节点 c08ba72bac
当前提交 5dc0637eca
共修改 13 个文件,包含 2556 行新增和 17 行删除
@@ -0,0 +1,46 @@
{
"checkedAt": "2026-05-29T05:37:24.101Z",
"baseUrl": "https://oa.hyinda.com",
"liveSmokeReady": true,
"liveSmoke": {
"adminCredentialReady": true,
"employeeCredentialReady": true
},
"liveSmokeOptional": {
"expectedWecomStatusReady": true,
"managerCredentialReady": true,
"financeCredentialReady": true
},
"liveOcrReady": true,
"liveOcr": {
"userReady": true,
"invoiceSampleReady": true,
"invoiceFileProvided": true,
"invoiceFileReady": true,
"invoiceBatchDirProvided": false,
"invoiceBatchDirReady": false,
"allowDuplicate": true
},
"missing": [],
"publicReady": {
"ok": true,
"status": 200
},
"wecomConfig": {
"ok": true,
"status": 200,
"statusText": "ready",
"entryEnabled": true,
"oauthEnabled": true,
"defaultReturnTo": "/mobile",
"loginUrl": "/api/auth/wecom/login?returnTo=%2Fmobile"
},
"authCapabilities": {
"ok": true,
"status": 200,
"emailDeliveryReady": true,
"emailDeliveryReasons": [],
"emailLoginCodeEnabled": true,
"passwordResetEnabled": true
}
}
@@ -0,0 +1,7 @@
Running 1 test using 1 worker
[live-ocr] {"alias":"SAMPLE-PDF-001","status":"ocr_failed","durationMs":1173,"transport":"ui","timings":{"uploadMs":1173,"terminalWaitMs":0},"reasonCategory":"duplicate_or_same_invoice","fieldHits":{"invoiceId":false,"invoiceCodeOrNumber":false,"sellerName":false,"totalAmount":false,"invoiceDate":false}}
✓ 1 tests/e2e/manual/live-invoice-ocr.spec.ts:8:1 › 手工 live 腾讯 OCR 辅助复核:真实 VAT 发票上传后进入可处理状态 (6.8s)
1 passed (10.5s)
@@ -0,0 +1,14 @@
>>> 探活 live /ready: https://oa.hyinda.com/ready
>>> 执行 live smoke Playwright
> [email protected] test:e2e:live
> playwright test tests/e2e/live-smoke.spec.ts
Running 3 tests using 1 worker
✓ 1 tests/e2e/live-smoke.spec.ts:43:3 › live smoke › 公网基础探活与企微配置状态 (2.5s)
✓ 2 tests/e2e/live-smoke.spec.ts:64:3 › live smoke › 管理员只读网页 smoke (11.4s)
✓ 3 tests/e2e/live-smoke.spec.ts:106:3 › live smoke › 员工只读网页 smoke (10.7s)
3 passed (28.4s)
@@ -0,0 +1 @@
[pending-ocr][SKIP] missing DATABASE_URL
@@ -0,0 +1 @@
[public-bundle-copy] base=https://oa.hyinda.com scanned=91 focused=2 findings=0
@@ -0,0 +1,12 @@
{
"issueId": "frontend-simplification-wave2-deploy-verify",
"baseURL": "https://oa.hyinda.com",
"commit": "c08ba72",
"checkedAt": "2026-05-29T05:38:17.239Z",
"status": "PASS",
"mode": "live-smoke-readiness",
"reportDir": ".trellis/tasks/05-29-frontend-simplification-wave2-deploy-verify/research/postdeploy-live-smoke-readiness",
"reportRef": ".trellis/tasks/05-29-frontend-simplification-wave2-deploy-verify/research/postdeploy-live-smoke-readiness",
"groups": null,
"notes": "公网 /ready、public bundle、pending OCR、live smoke 和真实 OCR 可用性检查;缺少凭据或样票时按脚本规则记录 SKIP。"
}
@@ -0,0 +1,28 @@
# OA 权限矩阵脱敏自动验证报告
生成时间:2026-05-29T05:37:41.962Z
结论:PASS_PERMISSION_MATRIX_READY
## 统计
- 角色数:7
- 正向探针:43
- 负向探针:42
- 问题数:0
## 角色结果
| 角色 | 登录 | 角色匹配 | 探针通过/总数 |
| --- | --- | --- | ---: |
| employee | PASS | PASS | 17/17 |
| manager | PASS | PASS | 13/13 |
| finance | PASS | PASS | 14/14 |
| finance_mgr | PASS | PASS | 10/10 |
| hr | PASS | PASS | 11/11 |
| ceo | PASS | PASS | 9/9 |
| admin | PASS | PASS | 11/11 |
## 说明
- 本报告只输出角色、HTTP 状态、脱敏账号和摘要计数,不输出密码、token、Secret、完整账号、合同正文、票据内容或原始 payload。
- 409 表示功能门禁关闭且未泄露数据;对财务/AP/付款等冻结或受控功能可作为可解释拒绝。
@@ -0,0 +1,42 @@
# Postdeploy Summary
## Conclusion
`READY_FOR_USER_TEST`
## Deployment
- Deployed commit: `c08ba72`
- Command: `SYNC_ENV=0 bash deploy/trialrun/deploy.sh`
- Remote `.env`: not synced or overwritten.
- Remote service rebuild, init, migration status and runtime deployment stages completed.
- Note: the deploy script's integrated live smoke initially exited on a stale test assertion that looked for the old `Portal` nav label. The current UI exposes `工作台`; the shared smoke assertion was updated to accept both labels, then live smoke and the standard readiness suite passed.
## Comparison Evidence
- Second wave comparison page: `output/playwright/frontend-simplification-wave2-compare/index.html`
- Pages compared: approval center, reimbursement detail, workflow task detail.
- Data source: Playwright mock business data.
- Baseline: before `29cfea2`, after `79f50b0` plus deployment gate copy fix in `c08ba72`.
## Verification Results
| Check | Result | Evidence |
| --- | --- | --- |
| Task validate | PASS | command output |
| Frontend typecheck | PASS | command output |
| Frontend build | PASS | command output |
| UI design rules | PASS | command output |
| Env contract | PASS | command output |
| Public bundle copy scan | PASS | command output and live readiness report |
| Live smoke readiness | PASS | `research/postdeploy-live-smoke-readiness/summary.json` |
| Permission matrix | PASS_PERMISSION_MATRIX_READY | `research/postdeploy-permission-matrix/summary.json` |
| PC readonly visual matrix | PASS_PC_READONLY_VISUAL_READY | `artifacts/qa-flow/oafront3-pc-readonly-visual-20260529-133832/summary.json` |
| Mobile entry matrix | PASS | command output |
| WeCom rendering matrix | PASS | command output |
## Non-Blocking Notes
- `pending OCR` scan reported `SKIP` because the local command did not receive `DATABASE_URL`; live OCR sample still ran through the standard readiness path.
- Live OCR sample returned an explainable duplicate/same-invoice category and the readiness suite concluded PASS.
- `rsync` printed a non-fatal warning for an old remote QA artifact directory that could not be deleted; deployment continued and postdeploy checks passed.