C1 固定最新 RC 部署收口合同

这个提交包含在:
2026-05-10 20:08:23 +08:00
父节点 930dbce348
当前提交 0c01ba6b89
@@ -0,0 +1,5 @@
ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes
C1,最新 RC 基线与部署前提确认,"固定当前业务/组织 release candidate 基线为 930dbce,并确认 O2 已完成、远端备份/回滚路径可用、默认 SYNC_ENV=0;本步骤不部署。","1) 工作区除本合同外无业务代码变更;2) 业务/组织目标基线为 930dbce;3) O2 DONE/DONE/DONE;4) 部署前备份和回滚路径引用既有 D2/E1-E3 证据;5) R5 仍未宣称完成。","流程级验证:git status --short;git log --oneline -3;python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-10_18-25-33-formal-approval-org-config.csv;只读确认 deploy/trialrun/backups 存在新近备份;确认 SYNC_ENV 未设为 1。","git|python3|ssh|manual",DONE,DONE,DONE,"issues/2026-05-10_20-05-31-current-rc-deploy-r4-r5-closeout.csv","[]","C1 completed:业务/组织基线 930dbce,包含 8da16f5 移动/自审收口、ccef809 正式规约、465cd14 O1、930dbce O2;远端存在部署前备份 hyb-oa-db-20260510_134340.dump 与 hyb-oa-storage-20260510_134341.tar.gz;当前进程 SYNC_ENV!=1;不修改 .env,不手工修远端。"
C2,受控部署最新 RC,"使用既有 deploy/trialrun/deploy.sh 同步最新 RC 到 /opt/hyb-oa-trialrun,执行脚本内置构建、init、/ready 和 smoke;默认不覆盖远端 .env。","1) deploy 脚本成功;2) SYNC_ENV=0;3) /ready 200;4) Prisma migrate deploy/status 成功;5) 失败时停止并记录,不进入 C3/C4。","流程级验证:bash deploy/trialrun/deploy.sh;检查脚本输出 env contract、rsync、容器构建/重建、init、Prisma migrate status、/ready、external deps smoke、runtime smoke、公网 bundle 扫描。","bash|ssh|node|manual",TODO,TODO,TODO,"deploy/trialrun/deploy.sh|deploy/trialrun/docker-compose.yml|deploy/trialrun/runbook.md","[""C1""]","部署属于受控发布写操作;不得同步本地 .env;不得打印 secret。"
C3,部署后 R4 只读复检,"部署成功后重新执行 R4 只读复检,确认远端关键运行时文件、服务状态、Prisma、Caddy、企业微信 config 和公网 bundle 均可核对。","1) 关键文件哈希与本地目标版本一致;2) server/db 容器健康;3) Prisma migrate status up to date;4) /ready 200;5) Caddy active 且反代正常;6) 企业微信 config ready 且不含 secret;7) 公网 bundle 扫描 findings=0。","流程级验证:远端 sha256sum 对比 workspaceSettings.js/NavLinks.tsx/workflow.js;node scripts/qa/check-public-bundle-copy.mjs https://oa.hyinda.com;node scripts/qa/check-live-smoke-env.mjs --strict;只读检查 Caddy 与 Prisma migrate status。","ssh|node|manual",TODO,TODO,TODO,"docs/trialrun/deployment-preflight-2026-05-10.md|scripts/qa/check-public-bundle-copy.mjs|scripts/qa/check-live-smoke-env.mjs","[""C2""]","C3 通过前不得让用户去企业微信验收当前改动。"
C4,O3 与 R5 自动化/真机门禁,"在最新 RC 部署并 R4 复检通过后,执行可自动化的公网 live smoke、真实 OCR 和正式审批链分配检查;企业微信真机与负责人审批动作为人工门禁。","1) run-live-smoke-readiness.sh 通过;2) SMOKE002 提交测试单据后低/中额待办分配给 majianyong;3) 高额/例外链路可验证进入 majianyong -> wangshunli 或记录阻断;4) 真机未验收时 O3/R5 不得标 DONE;5) 所有失败项有证据。","流程级验证:set -a; source ~/.hyb-oa/live-smoke.env; set +a; LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-live-smoke-readiness.sh;按 docs/trialrun/real-device-public-checklist.md 人工记录企业微信工作台、移动报销、审批 deeplink、正式审批矩阵。","bash|playwright|manual",TODO,TODO,TODO,"scripts/qa/*|docs/trialrun/real-device-public-checklist.md|issues/2026-05-10_12-39-37-release-readiness-live-smoke.csv|issues/2026-05-10_18-25-33-formal-approval-org-config.csv","[""C3""]","如果缺 majianyong/wangshunli 人工操作或真机截图,只能记录 BLOCKED/SKIP,不能把 O3 或主 R5 标为完成。"
1 ID Title Description Acceptance Test_Method Tools Dev_Status Review1_Status Regression_Status Files Dependencies Notes
2 C1 最新 RC 基线与部署前提确认 固定当前业务/组织 release candidate 基线为 930dbce,并确认 O2 已完成、远端备份/回滚路径可用、默认 SYNC_ENV=0;本步骤不部署。 1) 工作区除本合同外无业务代码变更;2) 业务/组织目标基线为 930dbce;3) O2 DONE/DONE/DONE;4) 部署前备份和回滚路径引用既有 D2/E1-E3 证据;5) R5 仍未宣称完成。 流程级验证:git status --short;git log --oneline -3;python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-10_18-25-33-formal-approval-org-config.csv;只读确认 deploy/trialrun/backups 存在新近备份;确认 SYNC_ENV 未设为 1。 git|python3|ssh|manual DONE DONE DONE issues/2026-05-10_20-05-31-current-rc-deploy-r4-r5-closeout.csv [] C1 completed:业务/组织基线 930dbce,包含 8da16f5 移动/自审收口、ccef809 正式规约、465cd14 O1、930dbce O2;远端存在部署前备份 hyb-oa-db-20260510_134340.dump 与 hyb-oa-storage-20260510_134341.tar.gz;当前进程 SYNC_ENV!=1;不修改 .env,不手工修远端。
3 C2 受控部署最新 RC 使用既有 deploy/trialrun/deploy.sh 同步最新 RC 到 /opt/hyb-oa-trialrun,执行脚本内置构建、init、/ready 和 smoke;默认不覆盖远端 .env。 1) deploy 脚本成功;2) SYNC_ENV=0;3) /ready 200;4) Prisma migrate deploy/status 成功;5) 失败时停止并记录,不进入 C3/C4。 流程级验证:bash deploy/trialrun/deploy.sh;检查脚本输出 env contract、rsync、容器构建/重建、init、Prisma migrate status、/ready、external deps smoke、runtime smoke、公网 bundle 扫描。 bash|ssh|node|manual TODO TODO TODO deploy/trialrun/deploy.sh|deploy/trialrun/docker-compose.yml|deploy/trialrun/runbook.md ["C1"] 部署属于受控发布写操作;不得同步本地 .env;不得打印 secret。
4 C3 部署后 R4 只读复检 部署成功后重新执行 R4 只读复检,确认远端关键运行时文件、服务状态、Prisma、Caddy、企业微信 config 和公网 bundle 均可核对。 1) 关键文件哈希与本地目标版本一致;2) server/db 容器健康;3) Prisma migrate status up to date;4) /ready 200;5) Caddy active 且反代正常;6) 企业微信 config ready 且不含 secret;7) 公网 bundle 扫描 findings=0。 流程级验证:远端 sha256sum 对比 workspaceSettings.js/NavLinks.tsx/workflow.js;node scripts/qa/check-public-bundle-copy.mjs https://oa.hyinda.com;node scripts/qa/check-live-smoke-env.mjs --strict;只读检查 Caddy 与 Prisma migrate status。 ssh|node|manual TODO TODO TODO docs/trialrun/deployment-preflight-2026-05-10.md|scripts/qa/check-public-bundle-copy.mjs|scripts/qa/check-live-smoke-env.mjs ["C2"] C3 通过前不得让用户去企业微信验收当前改动。
5 C4 O3 与 R5 自动化/真机门禁 在最新 RC 部署并 R4 复检通过后,执行可自动化的公网 live smoke、真实 OCR 和正式审批链分配检查;企业微信真机与负责人审批动作为人工门禁。 1) run-live-smoke-readiness.sh 通过;2) SMOKE002 提交测试单据后低/中额待办分配给 majianyong;3) 高额/例外链路可验证进入 majianyong -> wangshunli 或记录阻断;4) 真机未验收时 O3/R5 不得标 DONE;5) 所有失败项有证据。 流程级验证:set -a; source ~/.hyb-oa/live-smoke.env; set +a; LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-live-smoke-readiness.sh;按 docs/trialrun/real-device-public-checklist.md 人工记录企业微信工作台、移动报销、审批 deeplink、正式审批矩阵。 bash|playwright|manual TODO TODO TODO scripts/qa/*|docs/trialrun/real-device-public-checklist.md|issues/2026-05-10_12-39-37-release-readiness-live-smoke.csv|issues/2026-05-10_18-25-33-formal-approval-org-config.csv ["C3"] 如果缺 majianyong/wangshunli 人工操作或真机截图,只能记录 BLOCKED/SKIP,不能把 O3 或主 R5 标为完成。