fix: parseVerdict matches leniently + earliest phrase wins
Build & push image / build-and-push (push) Successful in 8s

A section that led with '**Blocking issues**' (no 'found') fell through to
unknown, so the consolidated header wrongly read 'No material issues found'
(seen live on gpt-oss). Now matches 'blocking issue'/'minor issue'/'no material
issue' and picks the earliest-appearing phrase (the lead verdict). + tests.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
This commit is contained in:
Steve Dudenhoeffer
2026-06-25 21:28:19 -04:00
co-authored by Claude Opus 4.8
parent 92bf22a1be
commit b409dff4ed
2 changed files with 25 additions and 13 deletions
+7 -4
View File
@@ -111,10 +111,13 @@ define:
func TestParseVerdictAndWorst(t *testing.T) {
cases := map[string]verdict{
"VERDICT: No material issues found.": verdictClean,
"Minor issues\n- nit": verdictMinor,
"**Blocking issues found**": verdictBlocking,
"something unparseable": verdictUnknown,
"VERDICT: No material issues found.": verdictClean,
"Minor issues\n- nit": verdictMinor,
"**Blocking issues found**": verdictBlocking,
"**Blocking issues**\n- bug": verdictBlocking, // no "found" suffix
"VERDICT: Blocking issue\n- one": verdictBlocking, // singular
"No material issues found. There are no blocking issues.": verdictClean, // earliest phrase wins
"something unparseable": verdictUnknown,
}
for in, want := range cases {
if got := parseVerdict(in); got != want {