ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes OPS8-0,OPS8 运维准备合同建档,"建立 OPS8 运维和回滚准备合同,先做非破坏性准备,不做真实恢复或配置修改,并作为 R7EP Go/No-Go 的运维前置依据。","1) 本 CSV 校验通过;2) 不执行数据库写操作;3) 不同步或覆盖远端 .env;4) 不做真实恢复演练;5) OPS8-1/2/4 是 R7EP-6 最小前置项。","流程级验证:validate_issues_csv.py 本 CSV;人工核对后续行均为 TODO。",python3|manual,DONE,DONE,DONE,issues/2026-05-13_13-17-36-ops8-trialrun-ops-hardening.csv,[],回滚路径:删除本 CSV;不影响运行环境。 OPS8-1,远端部署版本追踪,"梳理当前公网部署版本、部署脚本行为和证据记录方式。","1) 记录当前部署 commit;2) 明确 deploy.sh 默认 SYNC_ENV=0;3) 记录 /ready 和 public bundle 检查命令;4) 不改远端配置。","流程级验证:git log -1 --oneline;curl -fsS https://oa.hyinda.com/ready;PUBLIC_BASE_URL=https://oa.hyinda.com node scripts/qa/check-public-bundle-copy.mjs;写入运维记录。",git|curl|node,DONE,DONE,DONE,docs/trialrun/人工试运行报告.md|docs/trialrun/OPS7运维交接Runbook.md,["OPS8-0"],已记录当前本地基线 0260bc7、最近已部署基线 cf2bba0、deploy.sh 默认 SYNC_ENV=0、/ready 和 public bundle 检查命令;不部署不改远端配置。 OPS8-2,备份和回滚目标清单,"补齐 R7E 前备份文件位置、负责人、回滚目标 commit 和恢复演练窗口占位。","1) 备份文件名/位置记录为占位或已知历史;2) 回滚联系人和执行窗口等待用户确认;3) 回滚目标 commit 记录方式清晰;4) 不执行恢复。","流程级验证:人工核对 OPS Runbook 和人工试运行报告新增占位;rg -n '备份|回滚|恢复演练|commit' docs/trialrun/OPS7运维交接Runbook.md docs/trialrun/人工试运行报告.md。",manual|rg,DONE,DONE,DONE,docs/trialrun/OPS7运维交接Runbook.md|docs/trialrun/人工试运行报告.md,["OPS8-1"],已补数据库/附件备份、回滚目标 commit、回滚联系人和恢复演练窗口占位;未执行真实恢复,真实恢复演练必须另拆 Issue 并确认窗口。 OPS8-3,远端运行状态只读检查(建议门禁),"以只读方式检查 Caddy、Docker Compose、Prisma migration status 和服务状态;该项建议在 R7E 前完成,但不阻塞 OPS8 最小准备收口。","1) 只读命令通过或失败原因记录;2) 不修改 systemd/Caddy/docker compose;3) 不执行 migrate reset;4) 输出可追溯;5) 若未执行,必须在 R7EP 结论中说明原因和风险。","流程级验证:按 OPS Runbook 执行只读状态检查;如需 ssh,仅执行 ps/config/status 类命令;结果写入报告。",ssh|manual,DONE,DONE,DONE,docs/trialrun/人工试运行报告.md,["OPS8-1"],2026-05-13 按默认部署目标 deploy@118.89.77.218:/opt/hyb-oa-trialrun 只读执行;证据 artifacts/qa-flow/ops8-remote-readonly-20260513-152024/summary.txt;Caddy active,compose db/server Up,Prisma migration up to date;未打印远端 env、未重启、未写库。 OPS8-4,live readiness 报告归档规则,"固定 R7E/上线前 live readiness 报告目录、命名和引用规则。","1) 报告目录记录 artifacts/qa-flow;2) live smoke/OCR SKIP 规则清晰;3) pending OCR SKIP 不误判为失败或通过;4) 文档引用相同路径。","流程级验证:rg -n 'live readiness|artifacts/qa-flow|SKIP|pending OCR' docs/trialrun/OPS7运维交接Runbook.md docs/trialrun/人工试运行报告.md。",rg,DONE,DONE,DONE,docs/trialrun/OPS7运维交接Runbook.md|docs/trialrun/人工试运行报告.md,"[""OPS8-1"",""OPS8-2""]",已固定 artifacts/qa-flow/live-smoke-readiness-/ 归档规则;live smoke/OCR SKIP 与 pending OCR 非阻断 SKIP 规则清晰;不依赖 OPS8-3。 OPS8-5,OPS8 收口,"完成 OPS8 最小准备项校验、状态回填和提交。","1) OPS8 CSV 校验通过;2) OPS8-1/2/4 完成或有明确阻塞说明;3) git diff --check 通过;4) destructive 项保持 TODO 或明确说明;5) 中文提交。","流程级验证:validate_issues_csv.py 本 CSV;git diff --check;git status --short;git commit。",python3|git,DONE,DONE,DONE,issues/2026-05-13_13-17-36-ops8-trialrun-ops-hardening.csv|docs/trialrun,"[""OPS8-1"",""OPS8-2"",""OPS8-4""]",OPS8 最小准备项已完成;OPS8-3 已补远端只读检查;未执行 destructive 操作、未同步或打印远端 env、未执行恢复演练。