用途
convex-launch-readiness 是一个“发布就绪度报告”能力。它的定位是纯组合层:运行已有的各项审计能力,把它们的发现(findings)规范化汇总成一份统一报告,计算可审计的评分,并输出可执行的优先修复清单,而不是四份分散的报告。它自身不修复任何问题,只决定“修什么、按什么顺序修”,再分派给修复能力。
主要能力
工作流
GUARD + SCOPE:deploy-guard 先对目标分类(local-anonymous / dev / preview / prod)并公布结果;检测哪些内容可评估(是否存在 convex/ 目录、是否有带流量的已部署部署、是否有 auth 基础),跳过前置条件不满足的检查,并明确说明跳过了哪些(跳过的检查不等于通过)。
运行各路审计,各自在 findings bus 上输出发现:
- convex-authz:授权扫描(identity-from-arg、缺失所有权、PII 泄漏、parent-ref-on-write),对代码始终可运行。
- convex-reviewer:validators、indexes-not-filter、惯用法、错误处理,对代码始终可运行。
- convex-advisor:实时的读限制 / OCC 证据(仅当存在带流量的部署时;否则记录“skipped: no traffic”)。
- convex-insights:来自日志的近期失败(仅当存在部署时)。 独立审计可并发运行;每个只返回发现,不返回修复。
规范化 + 去重:将所有发现收集进同一份报告。把每个发现的 identity 字段规范化为函数/表键(例如 messages:list),使同一函数无论报告的是代码位置还是部署位置,identity 都一致——这样同一缺陷从两个位置被看到时(reviewer 在代码位置指出缺失索引,advisor 在部署位置指出其读限制症状)会经 bus 的 (class, identity) 去重合并为一条,不在评分中重复计数。保留置信度更高的来源。不静默丢弃任何内容;出错或被跳过的审计记为明确的覆盖缺口,而不是干净结果。
评分,可审计:从 100 开始;按 CONFIRMED 发现逐条按其严重程度扣分(high −15、med −5、low −1),下限为 0;打印精确公式与按类别明细,使分数可复现而非主观感觉。plausible-only 的发现作为候选列出,但不动评分(讲证据不讲感觉)。无部署/无流量的运行会报告“仅代码评分”并予以说明。
报告:先给评分,再列出按严重程度排序的发现,每条附证据、位置(locus)、fixCapability 和一行修复备注。按 blockers(high)/ should-fix(med)/ nice-to-have(low)分组。最后给出有序修复计划:下一步该运行哪个能力、按什么顺序(授权/数据丢失优先,其次性能/扩展,最后惯用法/可观测性)。
按需分派:对用户接受的每条发现,调用其 fixCapability(convex-authz、convex-reviewer 的修复器、用于 schema 变更的 migrate-rehearse、用于组件替换的 suggest)。修复后重新运行受影响的审计并展示评分变化——就绪度数字只有在修东西时会变动才有意义。
绝不声称超出实际运行的覆盖范围:报告头部列出哪些审计运行了、哪些被跳过及原因。仅代码运行得到的高分意味着“代码看起来就绪”,而非“生产已验证”。
规则
- 组合而非重实现:运行已有审计能力并聚合其 bus 发现——绝不在行内重新推导授权或性能检查。
- 评分只计 CONFIRMED 发现,按严重程度,并打印公式;plausible 发现是候选,不动数字。
- 去重前先把每个发现的位置规范化为函数/表身份(映射部署 functionId ↔ 代码 file:line),使同一缺陷从两个位置合并为一条、不重复计分;保留置信度更高的来源;不静默丢弃。
- 每条发现都携带其 fixCapability;报告以有序修复计划结尾(数据丢失/授权优先,其次扩展,最后惯用法/可观测性)。
- 修复后重新运行受影响的审计并展示评分变化——修了东西数字却不变的就绪度是作秀。
- 绝不声称超出实际运行:头部列出已运行/已跳过的审计;仅代码运行得到仅代码评分,并明确标注。
- 这是一个读取 + 聚合 + 分派的过程;修复发生在修复能力中,受其自身的同意/部署目标规则约束。
使用方式
该能力读取 specs/finding.schema.json 中的 findings bus,将各审计输出规范化为 specs/finding-report.schema.json 报告,并在用户接受后发现时调用对应 fixCapability。安装命令、调用命令与配置文件等具体信息暂未提供。
适用场景
适用于 Convex 后端在发布前做统一就绪度评估:聚合授权、代码评审、运维建议与日志洞察,输出评分与优先级修复清单。
限制
它本身不修复任何问题;无部署或无流量时仅能给代码层评分;跳过的审计不代表通过。具体平台支持、收费与价格信息暂未提供。