Skip to content

Add --diff-only mode for gating on newly introduced findings - #66

Open
qiaobochi040726-source wants to merge 2 commits into
BreachDirect:mainfrom
qiaobochi040726-source:20260806-diff-only
Open

Add --diff-only mode for gating on newly introduced findings#66
qiaobochi040726-source wants to merge 2 commits into
BreachDirect:mainfrom
qiaobochi040726-source:20260806-diff-only

Conversation

@qiaobochi040726-source

Copy link
Copy Markdown
Contributor

Fixes #48

新增 --diff-only <baseline.json>:对比上次 JSON 报告,只保留新引入的 findings,门禁只基于新 findings(gating on regressions):

  • finding_key = (tool, rule_id, location),同时接受 Finding 对象与 to_json 输出的 dict
  • 基线严格校验:缺失/JSON 损坏/非报告结构 → 清晰报错 + exit 2,不静默当空基线
  • diff 模式下 gate/退出码只基于新 findings;to_json 加 "diff" 字段,to_markdown 标题标注 diff mode
  • 新增 10 个测试(键兼容/剔除基线项/门禁语义/五条退出码路径)

验证:pytest 28 passed(基线 15+13);手动结构验证通过。遗留:同位置同规则的 severity 升级/文案修改不算新回归(按 issue 的"仅新增"语义)。

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.

Add a --diff-only mode comparing against a previous JSON report

2 participants