SuperAPI AI 工具集

adversarial-phoenix-liveview

测试与质量

查看项目

更新于 10-16 03:46

技能介绍

用途:对 Phoenix LiveView 的实时 UI 架构做客观的通过/不通过审查。它针对一类失败模式——把 LiveView 当成“页面控制器 + JS 框架”来写,而非有状态进程、在不可靠 socket 上渲染带变更追踪的 diff。每条规则带“违规证据”段落,使审查者仅凭产物证据即可判定 PASS/FAIL/N/A。

主要能力与规则类别:state-(状态归属与生命周期)、flow-(实时数据流,如广播位置、主题作用域、presence)、async-(异步与进程响应性)、render-(渲染与传输效率)、stream-(集合与流,内存增长、流 DOM 契约、无限滚动)、bound-(组件与上下文边界)、trust-(客户端信任与事件安全,如越权 handle_event、裸 id 查询 IDOR、混合鉴权 live_session)、ui-(交互反馈与客户端命令,如无防抖输入、无进行中反馈、零延迟假设)。

使用方式:先确定审查目标(diff、文件集或 PR)并记录 ref/路径与栈事实(mix.exs、router、config 中的 phoenix/phoenix_live_view 版本、scope 模块、PubSub/Presence、live_session 与 on_mount、全局 CSS 位置),目标需包含仓库根目录;加载 references/_sections.md 及 references/ 下全部规则文件;用规则、目标、栈事实填写 references/reviewer-prompt.md,提示必须完全自包含;派发单个盲审 Task 子代理;按失败即失败原则出结论——每个规则均为 PASS 或 N/A 时整体才 PASS,任一 FAIL 即失败,不取平均、不权衡严重度、不豁免;用 assets/templates/verdict.md 渲染结论,FAIL 时汇总 reviewer 的“缺少什么才能 PASS”建议为修复清单,每条含位置并按类别重要性排序。同一规则在未变更目标上反复翻转结论或人工推翻,属规则可判定性缺陷,记入 gotchas.md 并收紧规则,而非覆盖门禁。

适用场景:LiveView 功能(live view、live component、HEEx 模板、PubSub 驱动更新、presence、无限滚动)合并前的实时 UI 架构核验;对代理生成的 LiveView 代码做独立检查;为真实流量上线做准备,暴露 localhost 时代假设;同类生产事故(内存膨胀、视图冻结、IDOR、UI 陈旧)的横向排查。

限制:不适用于非 Phoenix 代码库(审查提示的前置条件会返回 GATE NOT APPLICABLE),也不适用于想要解释与重构而非结论的场合。FAIL 触发点依赖 LiveView 1.0+ API(streams、async、JS commands);缺失 :key 一腿限于 LiveView 1.1+(colocated hooks 不触发 FAIL);current_scope 拼写为 Phoenix 1.8 脚手架,1.8 之前按底层形态(actor 过滤访问)判定。相关技能:adversarial-beam(运行时语义)、adversarial-elixir(范式契合)、staff-level-elixir(咨询建议)。