diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/judge.py | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/judge.py b/src/judge.py index cc55bf8..77fe506 100644 --- a/src/judge.py +++ b/src/judge.py @@ -249,13 +249,14 @@ class RegexChecker: """Run all regex rules against the model output. Returns: - {"verdict": "PASS" or "FAIL", "details": [...]} + {"verdict": "6/7", "matched": 6, "total": 7, "details": [...]} """ if not self.rules: - return {"verdict": "PASS", "details": [{"note": "no regex rules defined"}]} + return {"verdict": "N/A", "matched": 0, "total": 0, "details": [{"note": "no regex rules defined"}]} details = [] - all_required_pass = True + required_total = 0 + required_matched = 0 for rule in self.rules: pattern = rule.get("pattern", "") @@ -272,11 +273,13 @@ class RegexChecker: } details.append(detail) - if required and not matched: - all_required_pass = False + if required: + required_total += 1 + if matched: + required_matched += 1 - verdict = "PASS" if all_required_pass else "FAIL" - return {"verdict": verdict, "details": details} + verdict = f"{required_matched}/{required_total}" + return {"verdict": verdict, "matched": required_matched, "total": required_total, "details": details} # --------------------------------------------------------------------------- |
