Skip to content

Commit fc99b75

Browse files
author
Test
committed
Merge origin/main into session branch (update from main: PR #693 review-gate fixes)
2 parents 28ed6f6 + 5957d3b commit fc99b75

30 files changed

Lines changed: 1157 additions & 98 deletions

plugins/dso/agents/ci/code-reviewer-deep-arch.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ model: opus
44
color: red
55
description: "Deep-tier architectural reviewer (Opus): synthesizes specialist findings, assesses systemic risk, produces unified verdict across all dimensions."
66
---
7-
<!-- content-hash: adcef9f59454d41eeee31b7ba28410570e4fb07805dd60f00e8f9186dddc46ce -->
7+
<!-- content-hash: c9f9da0cec21e8b95eb5a010b2f12ad4f973659cecd5829dfd97e5ab9f58053a -->
88
<!-- generated by build-review-agents.sh — do not edit manually -->
99

1010
# Code Reviewer — Universal Base Guidance
@@ -185,12 +185,13 @@ Produce a JSON object with this EXACT schema (for writing to disk in Step 3).
185185

186186
VIOLATIONS CAUSE RE-DISPATCH.
187187

188-
REQUIRED: EXACTLY two top-level keys:
188+
REQUIRED top-level keys: `"findings"`, `"summary"`, and `"review_completed"` (plus optional `escalate_review`):
189189
- `"findings"` — array of finding objects; each `"file"` field MUST reference a file present in the diff being reviewed
190190
- `"summary"` — 2–3 sentence assessment
191+
- `"review_completed"` — boolean; ALWAYS set to `true`. This affirms a full review pass completed; it is REQUIRED so an empty `findings` list is distinguishable from a truncated/garbled payload. A clean (no-issues) review with `"findings": []` is REJECTED unless `"review_completed": true` is present (bug 1b76).
191192

192193
Do NOT include a scores key.
193-
Do NOT add "schema_version", "review_result", "id", "review_date", "REVIEWER_HASH", or any other key except escalate_review (see Escalation section below) —
194+
Do NOT add "schema_version", "review_result", "id", "review_date", "REVIEWER_HASH", or any other key except escalate_review (see Escalation section below) and review_completed
194195
the validator will reject unrecognized keys and force a re-dispatch.
195196

196197
**`category` MUST be EXACTLY one of: `correctness`, `design`, `hygiene`, `maintainability`, `verification` — do NOT invent new categories like "code_smell" or "missing_test_coverage". The validator (validate-review-output.sh) hard-rejects any other value and the correction loop only has a single retry budget; off-enum categories burn that budget.**
@@ -211,10 +212,13 @@ the validator will reject unrecognized keys and force a re-dispatch.
211212
}
212213
],
213214
"summary": "2-3 sentence assessment",
215+
"review_completed": true,
214216
"escalate_review": [{"finding_index": 0, "reason": "uncertain whether this is important or critical"}]
215217
}
216218
```
217219

220+
**review_completed** — required boolean; always `true`. Affirms a full review pass completed; required so an empty findings list is distinguishable from a truncated payload (bug 1b76). The validator rejects a `"findings": []` payload that omits `review_completed: true`.
221+
218222
**cited_lines** — required; minimum 1 entry per finding.
219223
- Accepted: `<path>:<line>` (exact citation) or `~<path>:<line>` (approximate, when exact line is unknown in CI context)
220224
- Rejected: `~` alone, empty strings, entries without a colon-delimited positive integer line number (e.g., `src/foo.sh` without `:42`)

plugins/dso/agents/ci/code-reviewer-deep-correctness.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ model: sonnet
44
color: red
55
description: "Deep-tier correctness specialist (Sonnet A): focused exclusively on correctness — edge cases, error handling, security, efficiency."
66
---
7-
<!-- content-hash: 159495a841406b6551a779c019239bebe83e5b9ca80cb4f20fae1664d98c1ef2 -->
7+
<!-- content-hash: c5ad7a8c199e9e6c0ed6306cdcd26232a3347f09de0901474ef638d1bf59b768 -->
88
<!-- generated by build-review-agents.sh — do not edit manually -->
99

1010
# Code Reviewer — Universal Base Guidance
@@ -185,12 +185,13 @@ Produce a JSON object with this EXACT schema (for writing to disk in Step 3).
185185

186186
VIOLATIONS CAUSE RE-DISPATCH.
187187

188-
REQUIRED: EXACTLY two top-level keys:
188+
REQUIRED top-level keys: `"findings"`, `"summary"`, and `"review_completed"` (plus optional `escalate_review`):
189189
- `"findings"` — array of finding objects; each `"file"` field MUST reference a file present in the diff being reviewed
190190
- `"summary"` — 2–3 sentence assessment
191+
- `"review_completed"` — boolean; ALWAYS set to `true`. This affirms a full review pass completed; it is REQUIRED so an empty `findings` list is distinguishable from a truncated/garbled payload. A clean (no-issues) review with `"findings": []` is REJECTED unless `"review_completed": true` is present (bug 1b76).
191192

192193
Do NOT include a scores key.
193-
Do NOT add "schema_version", "review_result", "id", "review_date", "REVIEWER_HASH", or any other key except escalate_review (see Escalation section below) —
194+
Do NOT add "schema_version", "review_result", "id", "review_date", "REVIEWER_HASH", or any other key except escalate_review (see Escalation section below) and review_completed
194195
the validator will reject unrecognized keys and force a re-dispatch.
195196

196197
**`category` MUST be EXACTLY one of: `correctness`, `design`, `hygiene`, `maintainability`, `verification` — do NOT invent new categories like "code_smell" or "missing_test_coverage". The validator (validate-review-output.sh) hard-rejects any other value and the correction loop only has a single retry budget; off-enum categories burn that budget.**
@@ -211,10 +212,13 @@ the validator will reject unrecognized keys and force a re-dispatch.
211212
}
212213
],
213214
"summary": "2-3 sentence assessment",
215+
"review_completed": true,
214216
"escalate_review": [{"finding_index": 0, "reason": "uncertain whether this is important or critical"}]
215217
}
216218
```
217219

220+
**review_completed** — required boolean; always `true`. Affirms a full review pass completed; required so an empty findings list is distinguishable from a truncated payload (bug 1b76). The validator rejects a `"findings": []` payload that omits `review_completed: true`.
221+
218222
**cited_lines** — required; minimum 1 entry per finding.
219223
- Accepted: `<path>:<line>` (exact citation) or `~<path>:<line>` (approximate, when exact line is unknown in CI context)
220224
- Rejected: `~` alone, empty strings, entries without a colon-delimited positive integer line number (e.g., `src/foo.sh` without `:42`)

plugins/dso/agents/ci/code-reviewer-deep-hygiene.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ model: sonnet
44
color: red
55
description: "Deep-tier hygiene/design specialist (Sonnet C): focused on hygiene, design, and maintainability."
66
---
7-
<!-- content-hash: 07666cef0d313dbbbc839ebc1e3350fabab117d39113ef8d0e9ea22445fac879 -->
7+
<!-- content-hash: 3e406a750bbc367c8a8bcc79586361e067824db4680136009662ef665f831305 -->
88
<!-- generated by build-review-agents.sh — do not edit manually -->
99

1010
# Code Reviewer — Universal Base Guidance
@@ -185,12 +185,13 @@ Produce a JSON object with this EXACT schema (for writing to disk in Step 3).
185185

186186
VIOLATIONS CAUSE RE-DISPATCH.
187187

188-
REQUIRED: EXACTLY two top-level keys:
188+
REQUIRED top-level keys: `"findings"`, `"summary"`, and `"review_completed"` (plus optional `escalate_review`):
189189
- `"findings"` — array of finding objects; each `"file"` field MUST reference a file present in the diff being reviewed
190190
- `"summary"` — 2–3 sentence assessment
191+
- `"review_completed"` — boolean; ALWAYS set to `true`. This affirms a full review pass completed; it is REQUIRED so an empty `findings` list is distinguishable from a truncated/garbled payload. A clean (no-issues) review with `"findings": []` is REJECTED unless `"review_completed": true` is present (bug 1b76).
191192

192193
Do NOT include a scores key.
193-
Do NOT add "schema_version", "review_result", "id", "review_date", "REVIEWER_HASH", or any other key except escalate_review (see Escalation section below) —
194+
Do NOT add "schema_version", "review_result", "id", "review_date", "REVIEWER_HASH", or any other key except escalate_review (see Escalation section below) and review_completed
194195
the validator will reject unrecognized keys and force a re-dispatch.
195196

196197
**`category` MUST be EXACTLY one of: `correctness`, `design`, `hygiene`, `maintainability`, `verification` — do NOT invent new categories like "code_smell" or "missing_test_coverage". The validator (validate-review-output.sh) hard-rejects any other value and the correction loop only has a single retry budget; off-enum categories burn that budget.**
@@ -211,10 +212,13 @@ the validator will reject unrecognized keys and force a re-dispatch.
211212
}
212213
],
213214
"summary": "2-3 sentence assessment",
215+
"review_completed": true,
214216
"escalate_review": [{"finding_index": 0, "reason": "uncertain whether this is important or critical"}]
215217
}
216218
```
217219

220+
**review_completed** — required boolean; always `true`. Affirms a full review pass completed; required so an empty findings list is distinguishable from a truncated payload (bug 1b76). The validator rejects a `"findings": []` payload that omits `review_completed: true`.
221+
218222
**cited_lines** — required; minimum 1 entry per finding.
219223
- Accepted: `<path>:<line>` (exact citation) or `~<path>:<line>` (approximate, when exact line is unknown in CI context)
220224
- Rejected: `~` alone, empty strings, entries without a colon-delimited positive integer line number (e.g., `src/foo.sh` without `:42`)

plugins/dso/agents/ci/code-reviewer-deep-verification.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ model: sonnet
44
color: red
55
description: "Deep-tier verification specialist (Sonnet B): focused exclusively on verification — test presence, quality, edge case coverage, mock correctness."
66
---
7-
<!-- content-hash: e5d58915624d676f454c97a42b4623bf76b3e893348537a649f166873ad2a7a3 -->
7+
<!-- content-hash: 8dc5f71f2b4471a9b78bd87bd22e5ed4f952391cfaa6d6c4036a80662c89a7ed -->
88
<!-- generated by build-review-agents.sh — do not edit manually -->
99

1010
# Code Reviewer — Universal Base Guidance
@@ -185,12 +185,13 @@ Produce a JSON object with this EXACT schema (for writing to disk in Step 3).
185185

186186
VIOLATIONS CAUSE RE-DISPATCH.
187187

188-
REQUIRED: EXACTLY two top-level keys:
188+
REQUIRED top-level keys: `"findings"`, `"summary"`, and `"review_completed"` (plus optional `escalate_review`):
189189
- `"findings"` — array of finding objects; each `"file"` field MUST reference a file present in the diff being reviewed
190190
- `"summary"` — 2–3 sentence assessment
191+
- `"review_completed"` — boolean; ALWAYS set to `true`. This affirms a full review pass completed; it is REQUIRED so an empty `findings` list is distinguishable from a truncated/garbled payload. A clean (no-issues) review with `"findings": []` is REJECTED unless `"review_completed": true` is present (bug 1b76).
191192

192193
Do NOT include a scores key.
193-
Do NOT add "schema_version", "review_result", "id", "review_date", "REVIEWER_HASH", or any other key except escalate_review (see Escalation section below) —
194+
Do NOT add "schema_version", "review_result", "id", "review_date", "REVIEWER_HASH", or any other key except escalate_review (see Escalation section below) and review_completed
194195
the validator will reject unrecognized keys and force a re-dispatch.
195196

196197
**`category` MUST be EXACTLY one of: `correctness`, `design`, `hygiene`, `maintainability`, `verification` — do NOT invent new categories like "code_smell" or "missing_test_coverage". The validator (validate-review-output.sh) hard-rejects any other value and the correction loop only has a single retry budget; off-enum categories burn that budget.**
@@ -211,10 +212,13 @@ the validator will reject unrecognized keys and force a re-dispatch.
211212
}
212213
],
213214
"summary": "2-3 sentence assessment",
215+
"review_completed": true,
214216
"escalate_review": [{"finding_index": 0, "reason": "uncertain whether this is important or critical"}]
215217
}
216218
```
217219

220+
**review_completed** — required boolean; always `true`. Affirms a full review pass completed; required so an empty findings list is distinguishable from a truncated payload (bug 1b76). The validator rejects a `"findings": []` payload that omits `review_completed: true`.
221+
218222
**cited_lines** — required; minimum 1 entry per finding.
219223
- Accepted: `<path>:<line>` (exact citation) or `~<path>:<line>` (approximate, when exact line is unknown in CI context)
220224
- Rejected: `~` alone, empty strings, entries without a colon-delimited positive integer line number (e.g., `src/foo.sh` without `:42`)

plugins/dso/agents/ci/code-reviewer-light.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ model: haiku
44
color: red
55
description: "Light-tier code reviewer: single-pass, highest-signal checklist for fast feedback on low-to-medium-risk changes."
66
---
7-
<!-- content-hash: 49d70b141a61a3b796dad685cffd67751fe7a8675d0b443bcb7334b982ab71a4 -->
7+
<!-- content-hash: aad66500e8651f9c77e2f83893abec3fa738fcc05137ecbeceea29fec696e88c -->
88
<!-- generated by build-review-agents.sh — do not edit manually -->
99

1010
# Code Reviewer — Universal Base Guidance
@@ -156,12 +156,13 @@ Produce a JSON object with this EXACT schema (for writing to disk in Step 3).
156156

157157
VIOLATIONS CAUSE RE-DISPATCH.
158158

159-
REQUIRED: EXACTLY two top-level keys:
159+
REQUIRED top-level keys: `"findings"`, `"summary"`, and `"review_completed"` (plus optional `escalate_review`):
160160
- `"findings"` — array of finding objects; each `"file"` field MUST reference a file present in the diff being reviewed
161161
- `"summary"` — 2–3 sentence assessment
162+
- `"review_completed"` — boolean; ALWAYS set to `true`. This affirms a full review pass completed; it is REQUIRED so an empty `findings` list is distinguishable from a truncated/garbled payload. A clean (no-issues) review with `"findings": []` is REJECTED unless `"review_completed": true` is present (bug 1b76).
162163

163164
Do NOT include a scores key.
164-
Do NOT add "schema_version", "review_result", "id", "review_date", "REVIEWER_HASH", or any other key except escalate_review (see Escalation section below) —
165+
Do NOT add "schema_version", "review_result", "id", "review_date", "REVIEWER_HASH", or any other key except escalate_review (see Escalation section below) and review_completed
165166
the validator will reject unrecognized keys and force a re-dispatch.
166167

167168
**`category` MUST be EXACTLY one of: `correctness`, `design`, `hygiene`, `maintainability`, `verification` — do NOT invent new categories like "code_smell" or "missing_test_coverage". The validator (validate-review-output.sh) hard-rejects any other value and the correction loop only has a single retry budget; off-enum categories burn that budget.**
@@ -182,10 +183,13 @@ the validator will reject unrecognized keys and force a re-dispatch.
182183
}
183184
],
184185
"summary": "2-3 sentence assessment",
186+
"review_completed": true,
185187
"escalate_review": [{"finding_index": 0, "reason": "uncertain whether this is important or critical"}]
186188
}
187189
```
188190

191+
**review_completed** — required boolean; always `true`. Affirms a full review pass completed; required so an empty findings list is distinguishable from a truncated payload (bug 1b76). The validator rejects a `"findings": []` payload that omits `review_completed: true`.
192+
189193
**cited_lines** — required; minimum 1 entry per finding.
190194
- Accepted: `<path>:<line>` (exact citation) or `~<path>:<line>` (approximate, when exact line is unknown in CI context)
191195
- Rejected: `~` alone, empty strings, entries without a colon-delimited positive integer line number (e.g., `src/foo.sh` without `:42`)

plugins/dso/agents/ci/code-reviewer-performance.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ model: opus
44
color: red
55
description: "Performance reviewer (Opus): calibrated performance analysis with bright-line severity rules for scaling failures and resource exhaustion."
66
---
7-
<!-- content-hash: 34fd44e818aadf2d4c6bb1d4ec9e7cc9b1b0ca040d5ed010d525a1b4319b8521 -->
7+
<!-- content-hash: 5817204edc8d8b8827de5b898c39ca9f4db4c81c0a9b57d143eca45a660757a3 -->
88
<!-- generated by build-review-agents.sh — do not edit manually -->
99

1010
# Code Reviewer — Universal Base Guidance
@@ -185,12 +185,13 @@ Produce a JSON object with this EXACT schema (for writing to disk in Step 3).
185185

186186
VIOLATIONS CAUSE RE-DISPATCH.
187187

188-
REQUIRED: EXACTLY two top-level keys:
188+
REQUIRED top-level keys: `"findings"`, `"summary"`, and `"review_completed"` (plus optional `escalate_review`):
189189
- `"findings"` — array of finding objects; each `"file"` field MUST reference a file present in the diff being reviewed
190190
- `"summary"` — 2–3 sentence assessment
191+
- `"review_completed"` — boolean; ALWAYS set to `true`. This affirms a full review pass completed; it is REQUIRED so an empty `findings` list is distinguishable from a truncated/garbled payload. A clean (no-issues) review with `"findings": []` is REJECTED unless `"review_completed": true` is present (bug 1b76).
191192

192193
Do NOT include a scores key.
193-
Do NOT add "schema_version", "review_result", "id", "review_date", "REVIEWER_HASH", or any other key except escalate_review (see Escalation section below) —
194+
Do NOT add "schema_version", "review_result", "id", "review_date", "REVIEWER_HASH", or any other key except escalate_review (see Escalation section below) and review_completed
194195
the validator will reject unrecognized keys and force a re-dispatch.
195196

196197
**`category` MUST be EXACTLY one of: `correctness`, `design`, `hygiene`, `maintainability`, `verification` — do NOT invent new categories like "code_smell" or "missing_test_coverage". The validator (validate-review-output.sh) hard-rejects any other value and the correction loop only has a single retry budget; off-enum categories burn that budget.**
@@ -211,10 +212,13 @@ the validator will reject unrecognized keys and force a re-dispatch.
211212
}
212213
],
213214
"summary": "2-3 sentence assessment",
215+
"review_completed": true,
214216
"escalate_review": [{"finding_index": 0, "reason": "uncertain whether this is important or critical"}]
215217
}
216218
```
217219

220+
**review_completed** — required boolean; always `true`. Affirms a full review pass completed; required so an empty findings list is distinguishable from a truncated payload (bug 1b76). The validator rejects a `"findings": []` payload that omits `review_completed: true`.
221+
218222
**cited_lines** — required; minimum 1 entry per finding.
219223
- Accepted: `<path>:<line>` (exact citation) or `~<path>:<line>` (approximate, when exact line is unknown in CI context)
220224
- Rejected: `~` alone, empty strings, entries without a colon-delimited positive integer line number (e.g., `src/foo.sh` without `:42`)

0 commit comments

Comments
 (0)