From 22ae7e7bd31a0183d8e75c9dde43dd370c93ff9f Mon Sep 17 00:00:00 2001 From: peptiderepo Date: Fri, 12 Jun 2026 03:52:15 +0000 Subject: [PATCH] ci: harden cto-review.yml severity KeyError (v0.18.3) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit QA (seq 43) identified a content-triggered KeyError in the CTO-Review postprocessor: when a model returns a concerns[] item without a 'severity' key, line 454 crashed with KeyError instead of degrading. sev = c[severity].upper() # before — hard KeyError sev = c.get("severity", "UNKNOWN").upper() # after — degrades gracefully The JSON schema marks severity as required but the postprocessor does not enforce it — a model deviating on a large diff (91K bytes for f10e177 vs 41K for 02e9aab) triggered the crash. The fix surfaces UNKNOWN-severity concerns rather than killing the check. No other workflow changes. Agent-Session: prab-v0183-20260612 --- .github/workflows/cto-review.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cto-review.yml b/.github/workflows/cto-review.yml index 30c45be..0b102a4 100644 --- a/.github/workflows/cto-review.yml +++ b/.github/workflows/cto-review.yml @@ -451,7 +451,7 @@ jobs: if rev.get("concerns"): lines.append("**Concerns:**") for c in rev["concerns"]: - sev = c["severity"].upper() + sev = c.get("severity", "UNKNOWN").upper() f = f"`{c['file']}`" if c.get("file") else "" lines.append(f"- **{sev}** {f} — {c['issue']}") lines.append("")