{ "rules": [ { "path": "**/*.py", "rule": "代码评审 10 维度(项目 AGENTS.md + ponytail 规则):1) 正确性 — 边界条件、异常路径、空值处理;2) 安全性 — API Key 比较必须 hmac.compare_digest(恒定时间),JWT HS256 access 15min/refresh 7d,RBAC 三级权限位,专家名必须 _EXPERT_NAME_RE=re.compile(r\"^[a-zA-Z0-9_-]{1,64}$\") 校验,bcrypt rounds=12,禁止 SQL 注入/路径穿越;3) 类型安全 — 禁止 any,必须类型注解,所有数据模型用 pydantic>=2.0 且 model_config=ConfigDict(...) 而非 class Config;4) 并发异步 — HandoffTransport 队列有界 maxsize=1024,关闭用 sentinel 模式,async def 含 yield 禁止在首个 yield 前用 return(必须 return; yield 模式或重构),禁止阻塞调用在 async 函数中;5) 性能 — N+1 查询、未加索引、未用缓存、内存泄漏、未关闭资源;6) 可维护性 — 命名、重复代码、圈复杂度、函数过长;7) 错误处理 — 信任边界必须校验输入,防止数据丢失,禁止裸 except;8) 依赖配置 — 不得擅自改 pyproject.toml 版本,配置优先级 CLI>yaml>env>.env>默认;9) 测试 — 非平凡逻辑必须留下一个可运行检查(assert demo 或小测试文件,无框架无 fixtures);10) Ponytail 原则 — 无未请求的抽象、无未请求的新依赖、删除优先于新增、复杂处用 ponytail: 注释标记已知上限与升级路径。" }, { "path": "**/*.ts", "rule": "前端 TS 评审维度(AGENTS.md 前端规范):1) 类型安全 — 禁止 any,必须显式类型注解,interface/type 优先;2) Vue3 Composition API — 禁止 Options API,必须