SuperAPI AI 工具集

ship-safety

部署与运维

查看项目

更新于 10-16 03:44

技能介绍

用途:Ship Safety(Polar)是一个用于判断“这次 diff 是否可安全部署”的技能。它关注的不是代码最终状态,而是从合并到完全部署之间的那段窗口:Polar 并非原子部署,迁移先跑、API 先于 worker 部署、旧前端可能对着新后端运行、队列里还留着用旧名称入队的任务。

适用对象:涉及 server/migrations/versions/、**/tasks.py、polar/models/、server/scripts/ 的 diff;删除或重命名端点的改动;以及带依赖关系同时改动 server/ 与 clients/ 的改动。

主要检查项:一是 schema 先于代码,删除列或表会立即破坏运行中的应用,重命名需两步;二是阻塞式 DDL,大表索引要用 postgresql_concurrently=True 且迁移在事务之外,带 5s 超时是部署失败,NOT NULL 建议用 CHECK ... NOT VALID 再 VALIDATE CONSTRAINT;三是已在途任务,重命名 actor 会搁浅队列中的作业,改签名会破坏旧参数入队的作业,新参数需默认值,还涉及队列优先级、cron actor 与重试;四是锁与数据量,with_for_update 归属、只在一个路径释放锁、避免全表加载、扫描大表需索引或有界窗口;五是建议拆分 PR 的情形。

范围之外:ADR-0006 已覆盖迁移规则,由 CI 的 Migration Isolation Check 强制执行,adr-check 报告违规;重复发明的 helper 归 reuse-check;计费锁与周期规则归 billing-review。

输出格式:按 🔴 Blocking、🟠 Should fix、🟡 Question、Notes(合并前需运行的脚本、部署后手动步骤)、Verdict(✅ Safe to ship 或 ❌ n blocking, n should-fix)组织。即使结论为绿色也要填写 Notes。

限制:资料未提供安装方式、依赖平台或收费信息。