Skip to content

ReviewGate verdict guard rejects an APPROVE whose DISPOSITIONS explicitly mark the flagged findings [ADDRESSED] #2020

Description

@ryanrborn

On 2026-09-24 01:09Z, ReviewGate parked emr-8fqbng (emricare/tonic, MR !294) with 'a verdict guard refused the reviewer's APPROVE'. The logs say:

  • 01:07:59: 'approved without dispositioning 2 open finding(s); re-prompting (attempt 2)'
  • 01:09:26: 'approved without dispositioning open finding(s) F1.2, F1.4 and the re-prompt budget is exhausted; rejecting the approval'

But the stored round-2 review row (/api/review_gate_rounds?task_id=emr-8fqbng) has a DISPOSITIONS block with - [ADDRESSED] F1.2 — .gitlab-ci.yml:57 … and :209 … and - [ADDRESSED] F1.4 — same fix as F1.2 …, plus [ADDRESSED] F1.3 and [OBSOLETE] F1.1. It also has 'Findings: none.' and 'VERIFICATION: FULL'. So the guard's disposition parser failed to see dispositions that are plainly there. Suspects:

  • the parser stops at 'Findings: none.';
  • the id format;
  • it evaluates a different attempt's text than the one persisted.

The false park cost a re-prompt and a coordinator hand-ruling on a green, correct D0 fix that was blocking two P0 MRs.

D2 because it's a parser/guard fix with a regression test built from this exact findings text.

Acceptance

  1. Given this round's exact findings text, the disposition parser sees F1.1–F1.4 as dispositioned and the APPROVE is accepted.
  2. The guard evaluates the same attempt text that gets persisted as the round row. Test or assert that.
  3. When the guard does refuse, the park message quotes the disposition lines it did parse, so a coordinator can tell a parser miss from a real omission.
  4. mix precommit passes.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions