用途:对基于 Elixir Reactor 编排库(~> 1.0)构建的工作流代码做对抗式评审门禁。适合即将合并的 Reactor 工作流、由 AI 代理编写的 saga、从原型转生产(支付、provisioning、导入)且需暴露失败/回滚/重试路径的工作,以及事故复盘后同类问题排查。评审只输出判定,不负责修复,也不回答解释与重构请求。
主要能力:针对一个失败模式——代码假定了 Reactor 从未承诺的保证(如回滚自动发生、compensate 会在下游失败时触发清理、:ok 能吞掉错误、步骤按书写顺序执行、:retry 默认有界、{:halt, reason} 会中止、map 步骤自动并行、进程本地状态会跟随步骤进入其任务进程)。规则分七类:saga-(补偿与撤销)、retry-(重试纪律)、dep-(依赖与数据流)、step-(步骤契约)、comp-(组合与迭代)、conc-(并发与进程上下文)、obs-(可观测性与中间件)。每条规则附“违规证据”段落,评审仅凭产物证据判定。
使用方式:先锁定目标(diff、文件集或 PR),记录 ref/路径及栈事实(mix.exs、mix.lock、test_helper.exs 中的 Reactor 版本、Ecto/sandbox、mock 库、telemetry 消费者),并在目标描述中给出仓库根目录;加载 references/_sections.md 与 references/ 下全部规则文件;用 references/reviewer-prompt.md 填入规则、目标与栈事实,生成完全自包含的评审提示;派发一个 Task 子代理作为唯一盲评审,其输入只有该提示;评审返回每条规则的 PASS/FAIL/N/A 与证据(file:line 或引用),FAIL 需给出可落地的修复及位置;整体为 PASS 仅当所有规则 PASS 或 N/A,任一 FAIL 即失败,不做平均、加权或豁免;若返回“GATE NOT APPLICABLE”(目标无 Reactor 使用)则停止并如实报告;最终按 assets/templates/verdict.md 输出报告,FAIL 时把“missing for PASS”建议聚合成修复清单并按类别重要度排序。
限制:仅适用于使用 Reactor 的目标;不修改代码、不做解释与重构;通用 OTP/BEAM 关注点(监督、PubSub、ETS)属于 adversarial-beam,Elixir 范式契合属于 adversarial-elixir,建议配合使用。若同一规则在未变更目标的重复评审间结论翻转,或被人工推翻,应视为规则可判定性缺陷,记录到 gotchas.md 并收紧规则,而非覆盖门禁。定价、平台支持等信息官方资料暂未提供。