- deploy.sh: 轮询块(0.5s 间隔 / 默认 30s 上限),超时明确报错 + exit 非 0; SMOKE_HEALTH_URL/SMOKE_READY_MAX 可覆盖供离线演练;带 >>> cma-readiness-poll 标记便于抽取复用 - .woodpecker/main.yml backend-deploy: 同样去掉固定 sleep 3,改就绪轮询 - 验收: 离线演练 A(冷启动6s成功)/B(空端口超时非0)/C(200+degraded不误判) - task: t2-cma-deploy-readiness-poll-20260915
- deploy.sh: 提交纪律检查(本地未提交修改→中止) + 冒烟测试(健康/登录/KPI/BOT/Schema) - .woodpecker: 加前端typecheck+后端pytest测试步骤, backend-deploy加提交纪律检查 - 新增schema_check.py: ORM与数据库表结构一致性检查 - 修复budget_plans表缺3列(source_kpi_id/source_type/calc_logic) - 附带入库: budget测试+文档