## 任务目标
请检查当前 Python 工程的本地代码规范与持续集成是否一致。
以核查和评审为主,给出有证据的判断及可复核的修改建议;本次用户另有明确实现要求时,按其授权范围执行。
## 输入信息(选填)
两项均可留空,也可直接用一句话说明目标并附上已有资料。无需自行整理版本、配置或完整需求表;能读取的内容由执行者补齐。
检查不一致现象:
仓库或检查日志:
## 信息不完整时
先使用本次对话中已经说明的信息;用户留空、写“暂无/不清楚”或未替换输入标记,都按缺失处理,不当作真实路径、参数或业务值。已能从资料确定的内容不重复询问,不编造文件、日志、接口、业务值或执行结果。在用户已授权的范围内读取相关工程和材料,不为补齐输入擅自扩大操作范围。
### 优先确认
- 逐项比较 Python 与工具版本、工作目录、安装步骤、配置加载位置及实际检查文件。
- 识别提交钩子是否安装、哪些 hook 会自动修改文件,以及本次未提交内容可能受到的影响。
- 定位排除规则、换行、缓存和失败日志的证据,区分环境错误、自动格式化与源码问题。
### 可采用的默认处理
- 默认只读比较与非改写检查,不安装 hook 或执行会自动改写文件的修复命令;明确修复时仅处理已定位差异。
- 沿用工程工具和版本,优先修复加载、范围或环境不一致,不升级全部依赖或删除全部缓存。
- 无法访问远端日志时仅判断本地可证实事实,不声称流水线已恢复或自动推送改动。
### 必须有依据的事项
- 本地与流水线对同一文件采用互相冲突的团队规则,且没有权威配置可确定应保留哪套行为。
只有缺口会改变业务结果、权限边界或关键实现,且无法从现有资料确认时,才集中提出最多 3 个关键问题;说明影响,并继续完成不依赖答案的部分。一般命名、排版和可逆实现细节按现有约定决定,不逐项等待确认。
### 资料仍不足时的交付
- 没有远端权限时交付本地复现命令、配置差异和需要定位的具体 CI 步骤,远端结论保留待核验。
- 只有失败日志时提取工具、路径、规则与候选根因,给最小复现检查顺序。
## 执行要求
按本项目的工具版本、启用规则和检查范围核对本地与流水线配置。使用 pre-commit 时同时检查提交钩子和流水线的执行方式;不要把其他工程的贡献检查要求直接当成本项目配置。
1. 读取真实检查配置和流水线定义,记录检查工具、版本、文件范围、解释器及运行目录。比较本地和远端是否使用同一套参数与依赖,不根据开发者电脑上“已经安装”推断持续集成环境一致。
2. 确认提交钩子是否生效,以及哪些工具会自动修改文件。区分格式化导致的检查失败与真实代码缺陷,复核修改后的差异再继续检查,不能把工具修改悄悄覆盖到用户尚未提交的其他工作上。
3. 审查排除项和忽略规则,合理排除生成产物与外部代码,保留本次业务源码检查。需要临时豁免时写明具体文件、原因和影响范围,不用大范围关闭规则换取流水线变绿。
4. 逐条定位失败来源,判断是版本差异、配置加载错误、文件换行差异、缓存问题还是源码问题。为每个判断提供日志位置或复现步骤,避免一遇失败就升级所有依赖或删除全部缓存。
5. 形成最小配置或代码改动,处理真实问题并保留既有接口行为。若引入新工具,说明它补充的检查能力及与已有工具的边界;不要把格式工具的通过结果当成业务测试或安全审查结论。
6. 在与流水线相同的条件下执行受影响检查,查看自动修复后的最终差异,再运行关联业务验证。记录退出结果、检查文件及剩余告警;只有实际执行成功才能标记通过。
## 交付与验收
输出:环境差异表、根因与证据、配置或代码修复、复验记录。源码本身无问题时明确是环境或配置导致,避免无意义改动。不能访问远端日志时提供需要补充的最少信息和本地排查路径,不宣称持续集成已恢复,也不自动推送或提交未授权改动。
### 本条完成检查
- 输出版本、命令、工作目录与文件范围差异表,每个根因附日志或配置位置。
- 如实施修复,复核自动改写差异并保留无关内容,用与 CI 一致的条件复验。
- 明确格式检查、业务测试及远端 CI 各自结果,未运行或仅本地通过不得合并宣称全部恢复。
按本条要求组织结果,使用简洁中文和一致的编号、术语、缩进及空行;已有项目格式优先。只说明实际完成的内容,将采用的假设、未完成项和缺少的条件写在相关位置,不额外生成无关文档。未执行、无法复现或缺少证据的检查如实标注,不宣称已通过或已有性能收益。
## 参考资料与适用边界
官方来源(2026-09-08 核验):
- [百度飞桨《代码风格检查指南》](https://www.paddlepaddle.org.cn/documentation/docs/zh/dev_guides/git_guides/codestyle_check_guide_cn.html)