文件
hyb-oa/.trellis/tasks/05-29-frontend-simplification-wave2-deploy-verify/prd.md
T

141 行
6.7 KiB
Markdown
原始文件 Blame 文件历史

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
# 部署并复检前端降噪第二轮
## Goal
将已完成并提交的第二轮前端降噪改动部署到公网试运行环境,并完成本地、截图对比和公网只读验证,确认审批中心与报销详情的新信息架构已经在试运行版本生效,且没有引入登录、审批、报销、移动入口或企业微信渲染回归。
本任务只做已提交前端改动的部署、对比和只读验证;不继续扩大页面重构范围,不写真实业务数据,不覆盖远端 `.env`。
## Scope
- 部署当前 `main` 中第二轮前端降噪改动到公网试运行环境。
- 生成审批中心、报销详情和审批任务详情的第二轮前后截图对比。
- 修正部署门禁中暴露的非业务阻断,例如正式文案和测试断言漂移。
- 执行部署前本地门禁和部署后公网只读验证矩阵。
- 在当前 Trellis task 中保存脱敏摘要和相对报告路径。
## What I Already Know
- 用户已经确认第一轮对比效果,并要求“保持这样,作为统一设计规则”。
- 用户批准按建议继续执行下一步:部署第二轮降噪并生成第二轮前后对比。
- 第二轮前端降噪已完成并提交:
- `5f10b83 重构审批中心与报销详情降噪(approval-detail-simplification-refactor)`
- `79f50b0 归档审批详情降噪任务(approval-detail-simplification-refactor)`
- 第二轮改动范围包括审批中心、报销详情、详情操作区和相关 Playwright 视觉/主流程测试。
- 已存在第一轮对比页:`output/playwright/frontend-simplification-compare/index.html`。
- 公网部署必须使用 `SYNC_ENV=0 bash deploy/trialrun/deploy.sh`,不得同步或覆盖远端 `.env`。
## Requirements
- 部署前补齐当前 Trellis 任务材料,记录执行边界、验证计划和脱敏证据位置。
- 生成第二轮前后对比页:
- 输出目录:`output/playwright/frontend-simplification-wave2-compare/`
- 覆盖审批中心和报销详情 PC 页面。
- 对比基准使用第二轮重构前后 commit,视口和 mock 数据保持一致。
- 页面样式保持清爽、可扫读,不引入营销化说明。
- 部署前必须复跑本地门禁:
- `cd client && npm run typecheck`
- `cd client && npm run build`
- `node scripts/qa/check-ui-design-rules.mjs --strict`
- `node deploy/trialrun/validate-env-contract.js`
- `git diff --check`
- 公网部署必须使用安全模式:
- `SYNC_ENV=0 bash deploy/trialrun/deploy.sh`
- 不覆盖远端 `.env`
- 不做数据库重置、恢复或手工迁移
- 部署后必须执行公网只读验证:
- `/ready` 和部署脚本自带 runtime smoke 结论
- live smoke / OCR readiness
- OA 权限矩阵
- OAFRONT3 PC 只读视觉矩阵
- 移动入口矩阵和企业微信渲染矩阵
- 验证报告只登记相对路径、状态和脱敏摘要;不得写入密码、token、完整账号、完整本地路径、真实票据或 raw payload。
## Acceptance Criteria
- [x] 用户明确批准继续执行部署与第二轮对比。
- [x] `prd.md`、`implement.md` 和上下文登记完成,并通过 Trellis task validate。
- [x] 第二轮前后对比页生成完成,可从 `output/playwright/frontend-simplification-wave2-compare/index.html` 查看。
- [x] 部署前本地门禁通过。
- [x] `SYNC_ENV=0 bash deploy/trialrun/deploy.sh` 完成远端服务重建,未覆盖远端 `.env`;脚本内置 live smoke 因测试断言漂移退出,修正后标准 live readiness 已复跑通过。
- [x] 部署后公网 `/ready` 通过。
- [x] live smoke / OCR readiness 通过或有可解释 SKIP/PASS_WITH_FINDINGS。
- [x] 权限矩阵通过。
- [x] PC 只读视觉矩阵无 P1 blocker。
- [x] 移动入口和企业微信渲染矩阵通过。
- [x] 当前任务记录公网验证摘要和报告相对路径。
- [x] Trellis governance 和 `git diff --check` 通过。
## Result
`READY_FOR_USER_TEST`
## Definition Of Done
- 公网试运行环境部署到包含第二轮降噪改动的 commit。
- 第二轮视觉对比页与公网验证报告可用于说明“审批中心/报销详情已按统一降噪规则生效”。
- 结论明确为 `READY_FOR_USER_TEST`、`READY_WITH_FINDINGS` 或 `BLOCKED_POSTDEPLOY_VERIFICATION`。
- 只有在部署与公网只读检查通过或可解释后,才告知用户可以测试。
## Out Of Scope
- 不继续重构其他页面。
- 不启动或重置真实 7 天试运行计数。
- 不创建、提交、审批、付款任何真实业务单据。
- 不写企业微信消息、通讯录、审批或回调数据。
- 不改远端 `.env`、生产配置、Caddy 配置或生产数据库。
- 不执行真实付款、银行流水导入、ERP 写入或支付接口联调。
## Test Plan
规划与上下文:
```bash
python3 ./.trellis/scripts/task.py validate 05-29-frontend-simplification-wave2-deploy-verify
```
截图对比:
```bash
cd client && npx playwright test tests/e2e/pc-core-workflow-visual-wave2.spec.ts --workers=1 --reporter=list
cd client && npx playwright test tests/e2e/pc-detail-mobile-visual-wave3.spec.ts --grep "PC" --workers=1 --reporter=list
```
部署前:
```bash
cd client && npm run typecheck
cd client && npm run build
node scripts/qa/check-ui-design-rules.mjs --strict
node deploy/trialrun/validate-env-contract.js
git diff --check
```
部署:
```bash
SYNC_ENV=0 bash deploy/trialrun/deploy.sh
```
部署后:
```bash
LIVE_SMOKE_BASE_URL=https://oa.hyinda.com LIVE_SMOKE_READINESS_DIR=.trellis/tasks/05-29-frontend-simplification-wave2-deploy-verify/research/postdeploy-live-smoke-readiness bash scripts/qa/run-live-smoke-readiness.sh
LIVE_SMOKE_BASE_URL=https://oa.hyinda.com OA_PERMISSION_MATRIX_REPORT_DIR=.trellis/tasks/05-29-frontend-simplification-wave2-deploy-verify/research/postdeploy-permission-matrix node scripts/qa/check-oa-permission-matrix.mjs
bash scripts/qa/run-oafront3-pc-readonly-visual.sh
cd client && E2E_BASE_URL=https://oa.hyinda.com npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts tests/e2e/r124-mobile-entry-matrix.spec.ts --workers=1 --reporter=list
cd client && E2E_BASE_URL=https://oa.hyinda.com npx playwright test tests/e2e/r6-wecom-mobile-rendering-hardening.spec.ts --workers=1 --reporter=list
node scripts/qa/check-trellis-governance.mjs
git diff --check
```
## Technical Notes
- Deployment spec: `.trellis/spec/hyb-oa/deployment-trialrun.md`
- Frontend spec: `.trellis/spec/hyb-oa/frontend-react-vite-design.md`
- Evidence spec: `.trellis/spec/hyb-oa/docs-and-evidence.md`
- Privacy spec: `.trellis/spec/hyb-oa/security-privacy.md`
- Governance spec: `.trellis/spec/hyb-oa/project-governance.md`
- Trial run runbook: `docs/试运行与自动化验证手册.md`
- First wave comparison reference: `output/playwright/frontend-simplification-compare/index.html`