文件
hyb-oa/issues/2026-03-22_16-35-00-r26-portal-env-flag-hotfix.csv

3.1 KiB

1IDTitleDescriptionAcceptanceTest_MethodToolsDev_StatusReview1_StatusRegression_StatusFilesDependenciesNotes
2R26-0执行合同建档与范围冻结为部署环境变量热修复与防漏建立新合同 明确本轮不改业务模型 不做数据迁移Issue CSV 校验通过 且范围锁定为 env 注入 契约校验 runtime smoke 与部署验收python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-22_16-35-00-r26-portal-env-flag-hotfix.csvmanualDONEDONEDONEissues/2026-03-22_16-35-00-r26-portal-env-flag-hotfix.csv[]none
3R26-1compose env 注入机制改造将 trialrun server worker init 从手写 environment 列表切换为 env_file 主机制 并仅保留必要覆盖项server worker init 全部通过 env_file 注入 env 且 Portal 等关键开关在容器内非空cd server && npm test && cd ../client && npm run typecheckmanualDONEDONEDONEdeploy/trialrun/docker-compose.yml|deploy/trialrun/.env.example["R26-0"]统一采用无引号 env_file 安全格式
4R26-2env 契约校验脚本新增静态契约校验脚本 比对 config.js .env.example 与 docker-compose 以阻止新增 env 漏接入新增 env 键未同步到部署契约时脚本失败并输出缺失项node deploy/trialrun/validate-env-contract.jsmanualDONEDONEDONEdeploy/trialrun/validate-env-contract.js|server/src/config.js|deploy/trialrun/.env.example|deploy/trialrun/docker-compose.yml["R26-1"]server worker init 仅允许白名单覆盖项
5R26-3部署后 runtime smoke新增 trialrun runtime smoke 脚本 并在 deploy.sh 中接入 自动校验容器 env 功能开关求值与 Portal 前置条件部署完成前自动执行 smoke 且关键 env 缺失或开关求值异常时直接失败cd server && npm test && bash deploy/trialrun/deploy.shmanualDONEDONEDONEserver/src/scripts/smoke-trialrun-runtime.js|deploy/trialrun/deploy.sh["R26-1","R26-2"]smoke 不依赖人工点击页面
6R26-4前端功能开关错误提示优化补齐 VALID_001 中 featureFlag 相关映射 让 Portal 等入口在开关关闭时显示明确提示前端出现 featureFlag 类故障时显示业务化提示 而不是泛化参数校验失败cd client && npm run typecheck && npm run buildmanualDONEDONEDONEclient/src/api/errorMessages.ts|client/src/lib/resolveErrorMessage.ts["R26-0"]覆盖 portal_home_v1_disabled 等 trialrun 高优先级开关
7R26-5回归 重部署与验收收口完成修改后执行契约校验 本地检查 重部署与线上验证 并批量抽检同类开关能力Portal 登录后可正常进入 且容器内关键 env 非空 契约校验 smoke server test client build 全部通过cd server && npm test && cd ../client && npm run typecheck && npm run build && node deploy/trialrun/validate-env-contract.js && bash deploy/trialrun/deploy.shmanualDONEDONEDONEdeploy/trialrun|client|server|issues/2026-03-22_16-35-00-r26-portal-env-flag-hotfix.csv["R26-1","R26-2","R26-3","R26-4"]deploy.sh 已执行契约校验 + /ready + runtime smoke;额外确认 /api/portal/home 返回 200;server/scripts/regression-all.sh 在 trialrun 上仍依赖 dev seed 账号与 sample pdf,不作为本轮阻塞