laravel-ai-verify 根据代码差异选择测试、静态分析、格式与启动检查,并识别删除、跳过或削弱测试的行为。它还提供代码关系图、影响分析、代理停止钩子及可供 CI 检查的提交标记。
Claude Code、Cursor、Codex、Copilot 或 Gemini 说改动已经完成。php artisan ai:verify 会检查事实是否如此。
它只运行当前 diff 确实需要的测试、Larastan、Pint 和 Laravel 启动检查。如果 Agent 为了让检查通过而删除、跳过测试,或削弱测试的验证力度,它就会判定这次改动失败。它会返回一个 Agent 必须据此采取行动的判定结果:pass、fail 或 incomplete。再运行一条命令,就能把指令写入 AGENTS.md 和 CLAUDE.md。对于 Claude Code,它还会添加一个 Stop hook,让 Agent 在验证失败时无法结束任务。通过验证的 commit 会附带一条 trailer,供 CI 检查。
在 Agent 开始修改任何内容之前,php artisan ai:graph 会为它提供 Laravel 应用的代码关系图。关系图涵盖路由 → controller → form request → model → 数据表 → policy → view → 测试,以及 event → listener。它还会进行影响分析:改动会影响哪些部分,以及哪些测试覆盖了这些部分。
composer require --dev semitexa/laravel-ai-verify php artisan ai:verify:install --hook
工作原理:ai:verify 会读取发生变化的内容(尚未提交的改动、某个 git ref,或一份文件列表)。它会找出足以验证这次改动的最小检查集合,并为这些检查设置超时后运行。判定结果可以通过流式 NDJSON 提供给 Agent,也可以输出为 JSON 封装或终端文本。

如果需要采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。