Skip to content

fix(guard): 版本横幅不再前置——stderr 首行必须是综述 - #41

Merged
loong10k merged 3 commits into
mainfrom
fix/guard-banner-first-line
Sep 22, 2026
Merged

loong10k merged 3 commits into
mainfrom
fix/guard-banner-first-line

Conversation

@loong10k

Copy link
Copy Markdown
Contributor

问题

68c8a37 的版本自标识功能把 [codeguard v0.12.0] 横幅前置在 stderr 最顶部,破坏了「stderr 首行=综述」契约(codeguard ❌ 提交门禁未通过: 开头),三个契约测试失败(实测复现:首行变成横幅)。

修复

移除 pre_tool_git_guard 的横幅前置——版本自标识由 gate_directive 第二行承担(该行本就存在)。首行综述契约恢复。

验证

tests/run_all.py:141 通过 / 0 失败(修复前 3 个契约测试全红)。

基于 opencode-java-sdk + codex-java-sdk 六分支发布实测的三项优化:

1. gate_directive 输出 codeguard 版本号(第二行),AI 可判断门禁能力
   与已知误报范围;末尾新增构建产物清理自救指令(rm -rf target/reports
   等,不含 git commit/push,先清后提交两步走)

2. Java 门禁接入 java_project.analyze():UNVERIFIED 状态归 skipped
   而非 FAIL;mvnw 存在时自动将 lint 命令的 mvn 替换为 ./mvnw;
   analyze 失败不阻塞门禁(走原路径)

3. pre_tool_git_guard 输出加版本前缀 [codeguard v0.12.0],AI 可
   程序化区分门禁版本

测试 248 个全绿(+3:版本标识、构建产物清理指令、自救提示)。
@loong10k
loong10k merged commit e8145e7 into main Sep 22, 2026
1 check passed
@loong10k
loong10k deleted the fix/guard-banner-first-line branch September 22, 2026 19:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant