Problem
All executors (codex, bedrock-generic, claude) post a single sticky blob comment. Two consequences:
- No line anchoring — findings reference
file:line in prose but aren't attached to the diff, so reviewers can't see them in context.
- No dedup / repeat-suppression — the model can emit the same finding twice in one run (observed on IaC #7889: the identical line-50 finding posted twice), and across re-runs there's no memory of what was already raised or resolved.
Reference implementation
gersmann/codex-review-action (OpenAI Responses API, same family we run on mantle) does this well:
- inline comments anchored to exact diff lines; skip a finding if its target line isn't in the diff
- structured JSON output (
findings, carried_forward, overall_*) instead of freeform markdown
- prior unresolved findings are fed back to the model so it carries forward still-relevant ones and avoids reposting
- PR-level summary refreshed each run (old summary deleted); summary-only when there are no findings
- severity tags
🔴 [P0] / [P1], 🟡 [P2], ⚪ [P3]; "prefer returning none"
Ask
Move the reviewers from "one sticky blob" toward: structured findings → inline anchored review comments + a refreshed summary, with dedup/carry-forward across runs. Likely a shared helper so all executor paths benefit. This is a real change + new release.
Refs: IaC #7889, #${ISSUE1##*/} (tight default prompt — complementary).
Problem
All executors (
codex,bedrock-generic, claude) post a single sticky blob comment. Two consequences:file:linein prose but aren't attached to the diff, so reviewers can't see them in context.Reference implementation
gersmann/codex-review-action (OpenAI Responses API, same family we run on mantle) does this well:
findings,carried_forward,overall_*) instead of freeform markdown🔴 [P0] / [P1],🟡 [P2],⚪ [P3]; "prefer returning none"Ask
Move the reviewers from "one sticky blob" toward: structured findings → inline anchored review comments + a refreshed summary, with dedup/carry-forward across runs. Likely a shared helper so all executor paths benefit. This is a real change + new release.
Refs: IaC #7889, #${ISSUE1##*/} (tight default prompt — complementary).