文件
hyb-oa/.trellis/tasks/05-26-oa-seven-day-trial-live-ops/implement.md
T

111 行
9.1 KiB
Markdown
原始文件 Blame 文件历史

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
# 实施记录
## 执行策略
本任务是运行启动与证据任务,不改业务代码、不改远端配置、不执行真实业务自动写入。实施方式为:
1. 固定启动日期和 Day 7 收口日期。
2. 用 `scripts/qa/run-oa-real-use-daily.sh` 执行 Day 1 只读巡检。
3. 将报告保存在当前 Trellis task 的 `research/day1-oa-real-use-daily/`。
4. 将自动化结论写入 `research/day1-start-summary.md`。
5. 后续 Day 2-Day 7 继续每日运行同一只读巡检,并由现场按 `manual-gates.md` 完成人工业务动作和问题收口。
## 风险控制
- 自动化只读:不创建、提交、审批、付款或导出真实业务数据。
- 真实业务写入仅由现场人员在公网 OA 内人工完成。
- 发现 blocker 时暂停对应流程,并另建最小修复任务。
- 报告中只保留状态、计数和相对证据路径,不保留敏感原文。
- Day 1 启动不等于 Day 7 Go/No-Go,不提前宣布最终正式启用完成。
## Day 1 结果
- 运行命令:`OAOPS1_REPORT_DIR=.trellis/tasks/05-26-oa-seven-day-trial-live-ops/research/day1-oa-real-use-daily LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-oa-real-use-daily.sh`
- 结论:`PASS_OA_REAL_USE_DAILY_READY`
- findingCount:0
- 主报告:`research/day1-oa-real-use-daily/summary.json`
- 启动摘要:`research/day1-start-summary.md`
## Day 2 结果
- 运行命令:`OAOPS1_REPORT_DIR=.trellis/tasks/05-26-oa-seven-day-trial-live-ops/research/day2-oa-real-use-daily LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-oa-real-use-daily.sh`
- 结论:`PASS_OA_REAL_USE_DAILY_READY`
- findingCount:0
- 主报告:`research/day2-oa-real-use-daily/summary.json`
- 备注:首次运行时企业微信渲染矩阵因测试 mock 未覆盖 `/api/auth/capabilities` 报错;已补 mock 并复跑完整 Day 2 巡检通过。
## Day 3 结果
- 运行命令:`OAOPS1_REPORT_DIR=.trellis/tasks/05-26-oa-seven-day-trial-live-ops/research/day3-oa-real-use-daily LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-oa-real-use-daily.sh`
- 结论:`PASS_OA_REAL_USE_DAILY_READY`
- findingCount:0
- 主报告:`research/day3-oa-real-use-daily/summary.json`
- 通过检查:`public-ready`、`live-smoke-env`、`live-readiness`、`oa-only-smoke-readiness`、`live-feature-flags`、`authenticated-readonly-probe`、`mobile-entry-matrix`、`wecom-rendering-matrix`、`wecom-entry`、`report-privacy-smoke`。
- 功能开关符合试运行边界:`payment_batch_v1=force_on`、`erp_sync=force_off`,`attendance_v1` 仍由 env hard-off 关闭,`attendance_unified_v1` 开启。
- 备注:readiness 内 pending OCR 本地扫描因未注入本地数据库连接记录为 `SKIP`;真实 OCR 样本辅助复核进入可解释终态,不影响本次 Day 3 巡检结论。
## 设计规则治理
- 用户确认项目旧有前端设计规则重复且噪音过大后,已将 `docs/产品设计规则.md` 从“设计规则基线”瘦身为“产品体验事实源”。
- 前端视觉、布局审美、组件观感、字体、颜色、动效、间距和交互细节统一以 `frontend-design` skill 为裁决来源。
- `docs/产品设计规则.md` 仅保留 hyb-oa 特有的目标用户、PC/移动/企业微信职责、页面分层、信息语义、OA/企微主办边界和验收边界。
- 已同步 AGENTS、Trellis frontend spec、文档索引、事实源矩阵、Agent 交付实践、试运行手册、测试规约和相关业务规约,避免后续 agent 继续引用旧的竞品/品牌/样板设计规则。
## Wave2 公网部署与发布后验证
- 用户已批准将 PC 核心工作流 Wave2 前端改动部署到公网 OA,并要求部署和公网测试通过后再收尾。
- 部署命令:`SYNC_ENV=0 LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash deploy/trialrun/deploy.sh`
- 部署边界:未同步本地 `.env`,未改远端配置,未执行真实业务写入、真实付款、ERP 写入或企业微信写入。
- 部署脚本结果:环境契约校验通过,远端构建通过,Prisma migration status 通过,runtime smoke / external deps smoke / live smoke 通过,公网前端资源文案扫描 findings=0。
- 独立公网复核:
- `/ready`:`data.ok=true`
- `node scripts/qa/check-public-bundle-copy.mjs https://oa.hyinda.com`:findings=0
- `LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-live-smoke-readiness.sh`:`PASS`
- `E2E_BASE_URL=https://oa.hyinda.com npx playwright test tests/e2e/pc-core-workflow-visual-wave2.spec.ts --workers=1 --reporter=list`:1 passed
- 试运行只读巡检:
- 命令:`OAOPS1_REPORT_DIR=.trellis/tasks/05-26-oa-seven-day-trial-live-ops/research/postdeploy-20260527-wave2-public LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-oa-real-use-daily.sh`
- 结论:`PASS_OA_REAL_USE_DAILY_READY`
- findingCount:0
- 主报告:`research/postdeploy-20260527-wave2-public/summary.json`
- 文本摘要:`research/postdeploy-20260527-wave2-public/summary.txt`
- 证据脱敏修正:`scripts/qa/write-qa-summary.mjs` 已改为写入仓库相对 `reportDir/reportRef`,避免 live-readiness summary 记录完整本地路径。
- 视觉证据:`output/playwright/pc-core-workflow-visual-wave2/01-login.png`、`02-portal.png`、`03-reimbursements.png`、`04-workflow-tasks.png`
- 非阻断提示:部署同步时远端历史 `artifacts/qa-flow/wecom-controlled-trial-evidence-20260520-205320` 目录无法自动删除;不影响本次部署、构建或公网检查,后续可单独做远端 artifacts 清理。
## Wave3 公网部署与发布后验证
- 用户已批准将 PC 详情与移动关键页 Wave3 前端改动部署到公网 OA,并要求部署和公网测试通过后再收口。
- 部署 HEAD:`f944d9c`;Wave3 实现提交:`6e1e00f`。
- 部署命令:`SYNC_ENV=0 LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash deploy/trialrun/deploy.sh`
- 部署边界:未同步本地 `.env`,未改远端配置,未执行真实业务写入、真实付款、ERP 写入或企业微信写入。
- 部署脚本结果:部署环境契约校验通过,远端前端/服务构建通过,Prisma migration status 显示无待执行 migration,部署脚本内置公网 live smoke 3 passed,公网前端资源文案扫描 findings=0。
- 独立公网复核:
- `/ready`:`data.ok=true`
- `node scripts/qa/check-public-bundle-copy.mjs https://oa.hyinda.com`:findings=0
- `LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-live-smoke-readiness.sh`:`PASS`
- `E2E_BASE_URL=https://oa.hyinda.com npx playwright test tests/e2e/pc-detail-mobile-visual-wave3.spec.ts --workers=1 --reporter=list`:2 passed
- 试运行只读巡检:
- 命令:`OAOPS1_REPORT_DIR=.trellis/tasks/05-26-oa-seven-day-trial-live-ops/research/postdeploy-20260527-wave3-public LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-oa-real-use-daily.sh`
- 结论:`PASS_OA_REAL_USE_DAILY_READY`
- findingCount:0
- 主报告:`research/postdeploy-20260527-wave3-public/summary.json`
- 文本摘要:`research/postdeploy-20260527-wave3-public/summary.txt`
- 视觉证据:`output/playwright/pc-detail-mobile-visual-wave3/01-pc-reimbursement-detail.png`、`02-pc-workflow-detail.png`、`03-pc-notifications.png`、`04-mobile-home.png`、`05-mobile-reimbursements.png`、`06-mobile-approvals.png`、`07-mobile-approval-detail.png`、`08-mobile-notifications.png`、`09-mobile-me.png`
- 非阻断提示:
- 部署同步时远端历史 `artifacts/qa-flow/wecom-controlled-trial-evidence-20260520-205320` 目录仍无法自动删除;不影响本次部署、构建或公网检查。
- readiness 内 pending OCR 本地扫描因未注入数据库连接记录为 `SKIP`;同一 readiness 的真实 OCR 样本辅助复核已通过并归类为可解释终态。
## Wave4 公网部署后试运行只读巡检
- 用户已批准 Wave4 财务与管理页视觉重塑部署;Wave4 任务已完成部署验证并归档。
- 本轮按 OAOPS1 主线补齐 Wave4 后公网只读巡检证据,不改远端配置,不执行真实业务写入、真实付款、ERP 写入、企业微信写入或数据库重置。
- 巡检命令:`OAOPS1_REPORT_DIR=.trellis/tasks/05-26-oa-seven-day-trial-live-ops/research/postdeploy-20260527-wave4-public LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-oa-real-use-daily.sh`
- 结论:`PASS_OA_REAL_USE_DAILY_READY`
- findingCount:0
- 主报告:`research/postdeploy-20260527-wave4-public/summary.json`
- 文本摘要:`research/postdeploy-20260527-wave4-public/summary.txt`
- 人工摘要:`research/postdeploy-20260527-wave4-public/summary.md`
- 通过检查:`public-ready`、`live-smoke-env`、`live-readiness`、`oa-only-smoke-readiness`、`live-feature-flags`、`authenticated-readonly-probe`、`mobile-entry-matrix`、`wecom-rendering-matrix`、`wecom-entry`、`report-privacy-smoke`。
- 功能开关符合试运行边界:`payment_batch_v1=force_on`、`erp_sync=force_off`,冻结项未被误开启。
- 非阻断提示:readiness 内 pending OCR 本地扫描因未注入本地数据库连接记录为 `SKIP`;同一 readiness 的真实 OCR 样本辅助复核已进入可解释终态,不影响本次 Wave4 后巡检结论。