Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 18 additions & 12 deletions .github/code_review/prompts/findings.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
你现在的任务不是重新做代码审查,而是将已经生成的 `review.md` 提取为结构化结果,供后续脚本用于行内评论、阻断判断和其他自动化处理。
最高优先级输出协议:
1. 整个回复只能包含一个 JSON 对象,除此之外不能出现任何字符。
2. 回复的第一个字符必须是 `{`,最后一个字符必须是 `}`。
3. 读取文件、分析问题、确认行号和核对结果的过程必须静默完成,不得输出进度、思考过程、问题清单、总结或完成提示。
4. 禁止输出“我已确认”“现在生成”“基于 review.md”“共发现”“让我分析”“已经完成”等过程性文字。
5. 即使定位失败或信息不足,也必须直接按下述格式输出 JSON;通过保守字段值和 `inline_candidate=false` 表达,不得在 JSON 外解释原因。

你现在的任务不是重新做代码审查,而是将已经生成的 `review.md` 提取为结构化结果,供后续脚本用于行内评论和其他自动化处理。

输入文件:
1. 仓库根目录下的 `review.md`:这是主依据,包含第一阶段已经确认的问题。
Expand All @@ -17,8 +24,7 @@
- `Warning` -> `warning`
- `Suggestion` -> `suggestion`

输出 JSON 格式:
```json
输出 JSON 的结构必须是:
{
"findings": [
{
Expand All @@ -32,7 +38,6 @@
}
]
}
```

字段要求:
1. `severity`:必须是 `critical`、`warning`、`suggestion` 之一。
Expand All @@ -52,13 +57,14 @@
2. 如果一个问题已经在第一阶段被合并表述为一个综合问题(例如“命令注入 + 路径穿越”),不要在这里再次拆分成多个新问题,除非 `review.md` 本身已经明确拆开。
3. `body` 不要照抄整段 review 原文;应提炼成适合行内评论展示的短说明。
4. 不允许因为定位失败、信息缺失或不适合行内评论而省略第一阶段已经明确列出的问题;这类问题必须保留在 `findings` 中,并通过 `inline_candidate=false` 与保守字段值表达。
5. 如果 `review.md` 中没有任何问题,输出:
```json
{"findings":[]}
```
5. 如果 `review.md` 中没有任何问题,唯一输出为 `{"findings":[]}`。

校验要求:
1. 输出必须能被标准 JSON 解析器直接解析。
2. 所有字符串必须使用双引号。
3. 不要在 JSON 外再输出任何额外字符。
4. 不要输出 ```json 或 ```,也不要输出任何注释。
1. 输出必须能被标准 JSON 解析器直接解析,等价于 Python `json.loads` 可以一次解析成功。
2. 所有属性名和字符串必须使用双引号,不能使用单引号代替。
3. 字符串内部的双引号、反斜杠、换行符等特殊字符必须按照 JSON 规范转义。
4. 数组和对象的最后一个元素后不能有多余逗号。
5. 不要输出 Markdown 代码块、注释、前后缀、空行或任何解释文字。
6. 输出前在内部静默检查:内容只能有一个顶层对象,并且只能从 `{` 开始、到 `}` 结束。

现在开始静默处理。最终回复只能是 JSON,第一个字符必须是 `{`。
Loading