ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes P29-0,P29执行合同刷新建档与试点切换边界冻结,创建并校验替代验收 refresh 合同 CSV 并冻结本轮以试点共存 切换 回滚为主的边界,refresh CSV 通过校验且明确目标为内部 OA 试点切换可控 不追求一次性全量替代,python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-21_11-10-00-p29-replacement-readiness-refresh.csv,manual,TODO,TODO,TODO,issues/2026-03-21_11-10-00-p29-replacement-readiness-refresh.csv|issues/2026-03-21_09-50-00-p29-replacement-readiness.csv|deploy/trialrun/runbook.md,[],supersede 2026-03-21_09-50-00-p29-replacement-readiness.csv 并把目标收敛为试点切换 readiness P29-1,旧 OA 共存与数据映射清单,梳理旧 OA 与 hyb-oa 的用户 组织 单据 状态 编号和附件映射并形成共存清单,映射清单覆盖用户 组织 单据 状态 编号 附件并可支撑试点部门共存和人工核对,git diff --check,manual,TODO,TODO,TODO,docs/migration-mapping.md|docs/integration-boundaries.md|issues/2026-03-21_11-10-00-p29-replacement-readiness-refresh.csv,"[""P29-0""]",映射清单只描述规则和差异 不直接导入真实生产数据 P29-2,迁移工具与 dry-run 演练,新增 dry-run 导入 对账 差异报告和回滚清单能力用于试点替代前演练,迁移工具支持 dry-run 差异报告和回滚清单导出 正式导入前必须先完成演练,cd server && npm test -- tests/unit/services/integrations/outbox.test.js tests/unit/services/erpMasterData.test.js && git diff --check,manual,TODO,TODO,TODO,server/src/routes/migrationRuns.js|server/src/scripts|server/src/services/integrations|docs/migration-mapping.md|deploy/trialrun/runbook.md,"[""P29-1""]",所有迁移先 dry-run 后正式导入 不直接覆盖源系统数据 P29-3,试点切换控制台与回退开关,提供按部门 法体 业务域粒度启停新旧入口与回退开关的控制台,可按部门 法体 域启停新旧入口并记录切换审计 且不允许一次性全量切换,cd server && npm test -- tests/unit/services/featureFlags.test.js tests/unit/routes/ai.test.js && cd ../client && npm run typecheck && npm run build,manual,TODO,TODO,TODO,server/src/routes/cutover.js|server/src/routes/featureFlags.js|client/src/pages/CutoverConsolePage.tsx|client/src/api/featureFlags.ts|client/src/router/index.tsx,"[""P29-2""]",优先复用现有 feature flags 和审计能力 不新增独立配置中心 P29-4,试点验收脚本与 Runbook 补齐,补齐试点验收 灰度切换 故障回退 审计取证和备份恢复手册与脚本,形成可执行的试点验收清单 切换步骤 回退步骤 审计取证说明和备份恢复演练入口,cd server && ./scripts/regression-all.sh && git diff --check,manual,TODO,TODO,TODO,deploy/trialrun/runbook.md|deploy/trialrun/checklist.md|server/scripts/regression-all.sh|docs/ops/slo.md|issues/2026-03-21_11-10-00-p29-replacement-readiness-refresh.csv,"[""P29-3""]",回滚优先配置回退和备份恢复 不做 destructive 数据回滚 P29-5,P29试点替代验收收口,完成共存映射 dry-run 切换 回滚和试点替代后的整体验收收口,试点范围旧 OA 新单停用 新平台接管主链路且审计 SLO 回归 备份恢复和切换演练均留痕,cd server && npm test && ./scripts/regression-all.sh && cd ../client && npm run typecheck && npm run build && git diff --check,manual,TODO,TODO,TODO,issues/2026-03-21_11-10-00-p29-replacement-readiness-refresh.csv|deploy/trialrun/runbook.md|deploy/trialrun/checklist.md|server/scripts/regression-all.sh,"[""P29-4""]",P29-lite 的完成标准是试点范围可切换 可回滚 可审计