Repository navigation
fix: concise summaries and header preservation for v2.0.5 - #11
Conversation
AI Review审查尚未完整完成,无法给出整体结论;当前没有可发布的已确认问题,不代表代码没有问题。
|
AI Review审查尚未完整完成,无法给出整体结论;当前没有可发布的已确认问题,不代表代码没有问题。
|
AI Review审查尚未完整完成,无法给出整体结论;当前没有可发布的已确认问题,不代表代码没有问题。
|
AI Review审查尚未完整完成,无法给出整体结论;当前没有可发布的已确认问题,不代表代码没有问题。
|
There was a problem hiding this comment.
AI Review
🟡 建议修改
发现有明确证据的问题,建议核对并处理。
已确认 1 个问题,其中 1 个已添加到对应代码行。
变更概览
本次变更主要包含:
- 摘要工作流新增门禁版本环境变量与执行 SHA 传递,审核脚本记录版本信息,步骤摘要改为展示版本/SHA 与以仓库保护规则为准的判定文案,并将汇总状态表折叠。
- local_executor 在无适用目标时将 semgrep/ruff 扫描状态由 passed 改为 not-applicable,用于区分无适用源码文件与扫描通过。
- 门禁摘要渲染重构:以各检查项名称作为标题,新增状态结论行、阻断/提示计数以及门禁版本与执行 SHA 展示,将扫描范围详情折叠进 details 块,并细化四个内置检查显示名称、新增“无需检查”状态标签。
- 重构必须修改区块渲染:将阻断问题按文件路径与行号聚合,逐项显示检查名称与证据,并对修复建议去重
文件审查摘要
| 文件 | 变更 | 审查结果 |
|---|---|---|
tests/test_summary_presentation.py |
新增 · +53/-0 | P3 × 1 |
src/hygon_pr_gate/render_summary.py |
修改 · +34/-36 | — |
.github/workflows/pr-quality-gate.yml |
修改 · +14/-5 | — |
docs/plans/2026-09-20-summary-design.md |
新增 · +13/-0 | — |
tests/pr_gate_self_test.py |
修改 · +5/-4 | — |
src/hygon_pr_gate/local_executor.py |
修改 · +2/-2 | — |
src/hygon_pr_gate/audit_pr.py |
修改 · +3/-0 | — |
src/hygon_quality_security/models.py |
修改 · +1/-1 | — |
审查信息
- 变更统计:8 个文件,+125/-48。
- 覆盖情况:共 8 个文件,已完整审查 8 个。
- 候选问题:1 项;证据复核过滤:0 项;发布前敏感信息保护:0 项。
- 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
| self.assertNotIn('Repository /', visible) | ||
| self.assertEqual(text.count('本检查通过'), 1) | ||
|
|
||
| def test_no_targets_is_not_passed(self): |
There was a problem hiding this comment.
P3 · test_no_targets_is_not_passed 缺少与名称对应的未通过断言
触发条件: 若摘要实现在全部扫描器均为 not-applicable(无适用文件)时错误显示“本检查通过”,运行该回归测试验证该场景
证据与影响: 测试方法名为 test_no_targets_is_not_passed,但函数体仅有 self.assertIn('| Ruff | 无需检查 |', text),从未断言“本检查通过”不出现在结果中,与 test_failed_and_partial_are_not_success 的断言方式不一致 该测试在被测实现发生相关回归(无适用文件却显示成功标识)时仍会通过,无法为本次新增的 not-applicable 展示行为提供回归保护
修改建议: 在该测试中追加 self.assertNotIn('本检查通过', text),补齐与测试名称一致的断言
AI Review发现 1 个问题。 [P2] job.workflow_sha 非有效上下文属性,执行 SHA 恒为空
|
There was a problem hiding this comment.
AI Review
🟡 建议修改
发现有明确证据的问题,建议核对并处理。
已确认 1 个问题,其中 1 个已添加到对应代码行。
变更概览
本次变更主要包含:
- 增量门禁汇总精简:workflow 定义门禁版本与执行 SHA 环境变量,结果步骤将其写入审计数据与顶部摘要,并调整判定措辞与折叠布局。
- semgrep/ruff 无适用变更源码或无 Python 变更时状态由 passed 改为 not-applicable,并在 CI 单元测试步骤设置 CORE_GOVERNANCE_SUMMARIES=1 启用核心治理汇总。
- 摘要渲染重构:顶部改为显示检查名、通过/阻断状态、阻断与提示计数、门禁版本及执行 SHA,仓库与扫描范围详情折叠进 details 标签;新增无需检查状态标签,四个内置扫描器显示名改为各自的中文专项名称。
- 重构摘要的必须修改区块:阻断问题按同文件同位置分组合并为单一位置标题,逐条保留各问题的证据,并对修复建议去重后输出。
文件审查摘要
| 文件 | 变更 | 审查结果 |
|---|---|---|
tests/test_summary_presentation.py |
新增 · +53/-0 | P3 × 1 |
tests/test_core_governance.py |
新增 · +214/-0 | — |
src/hygon_pr_gate/render_summary.py |
修改 · +34/-36 | — |
docs/plans/2026-09-20-core-regressions.md |
新增 · +21/-0 | — |
.github/workflows/pr-quality-gate.yml |
修改 · +14/-5 | — |
docs/plans/2026-09-20-summary-design.md |
新增 · +13/-0 | — |
tests/pr_gate_self_test.py |
修改 · +5/-4 | — |
src/hygon_pr_gate/sensitive_diff_check.py |
修改 · +7/-1 | — |
src/hygon_pr_gate/local_executor.py |
修改 · +2/-2 | — |
src/hygon_pr_gate/audit_pr.py |
修改 · +3/-0 | — |
src/hygon_quality_security/models.py |
修改 · +1/-1 | — |
.github/workflows/ci.yml |
修改 · +1/-0 | — |
审查信息
- 变更统计:12 个文件,+368/-49。
- 覆盖情况:共 12 个文件,已完整审查 12 个。
- 候选问题:1 项;证据复核过滤:0 项;发布前敏感信息保护:0 项。
- 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
|
|
||
| def test_no_targets_is_not_passed(self): | ||
| text = self.render(statuses=[dict(scanner='ruff', state='not-applicable', detail='无 Python 变更')]) | ||
| self.assertIn('| Ruff | 无需检查 |', text) |
There was a problem hiding this comment.
P3 · 无适用目标测试未断言不显示通过措辞
触发条件: 当无适用扫描目标时摘要被错误标记为通过措辞,运行 test_no_targets_is_not_passed 仍会通过
证据与影响: 用例名为 test_no_targets_is_not_passed,但唯一断言是 assertIn('| Ruff | 无需检查 |', text),未验证『不显示通过』这一名称所声明的行为,与 test_failed_and_partial_are_not_success 中的反向断言形成对比 若 render_summary 回归为在仅含 not-applicable 状态时输出本检查通过,该测试无法发现,形成名称与验证内容不符的测试盲区
修改建议: 在同一用例中补充 self.assertNotIn('本检查通过', text),使断言与用例意图一致
AI Review审查尚未完整完成,无法给出整体结论;当前没有可发布的已确认问题,不代表代码没有问题。
|
AI Review审查尚未完整完成,无法给出整体结论;当前没有可发布的已确认问题,不代表代码没有问题。
|
AI Review发现 1 个问题。 [P2] job.workflow_sha 非有效的 GitHub Actions 上下文属性,执行 SHA 显示为空
|
AI Review审查尚未完整完成,无法给出整体结论;当前没有可发布的已确认问题,不代表代码没有问题。
|
AI Review审查尚未完整完成,无法给出整体结论;当前没有可发布的已确认问题,不代表代码没有问题。
|
v2.0.5 已合并并发布
Release v2.0.5。合并提交 50433a6;v2.0.5 与 stable 均指向此提交,旧版本标签不变。
改动
验证
合并后CI通过126项单元测试、原生自测、编译及真实Gitleaks测试。集群启动测试6/6(含Python3.8拒绝用例)通过,真实扫描器21/21符合预期(15原有+6许可证专项)。
消费者完整MIT头测试通过。
发布后stable验证用于检查实际发布引用。
测试PR #33禁止合并。ci.yml已恢复本次操作前的disabled_manually状态。
完整模板识别受模板范围和扫描行数限制,不等同法律适用性或原创归属证明。