(v: PatchVerdict)
| 172 | |
| 173 | |
| 174 | def _failed_tier(v: PatchVerdict) -> tuple[str, str]: |
| 175 | if not v.t0_builds: |
| 176 | return "t0 (build)", v.evidence.get("t0", "") |
| 177 | if not v.t1_poc_stops: |
| 178 | return "t1 (PoC still crashes)", v.evidence.get("t1", "") |
| 179 | if v.t2_tests_pass is False: |
| 180 | return "t2 (tests regressed)", v.evidence.get("t2", "") |
| 181 | if not v.re_attack_clean: |
| 182 | return "re-attack (variant found)", v.evidence.get("re_attack", "") |
| 183 | return "unknown", "" |
| 184 | |
| 185 | |
| 186 | def _write_result( |
no outgoing calls