Add Handbook.md benchmark tasks

This commit is contained in:
DerekSurge
2026-06-24 12:44:34 -07:00
commit 25c9eda5ca
1800 changed files with 323575 additions and 0 deletions
@@ -0,0 +1,65 @@
[
{
"id": "76e6d4f9-971c-4a9e-af3a-90ebad31d1ff",
"sort_order": 0,
"rubric_text": "A folder named 'CASE-2026-00478' must exist in the workspace.",
"verifier_code": "from pathlib import Path\n\ndef verify(workspace_path, external_services_path=None):\n case_folder = Path(workspace_path) / 'CASE-2026-00478'\n if case_folder.exists() and case_folder.is_dir():\n return {'pass': True, 'score': 1.0, 'feedback': \"Folder 'CASE-2026-00478' exists in workspace.\"}\n return {'pass': False, 'score': 0.0, 'feedback': \"Folder 'CASE-2026-00478' not found in workspace.\"}",
"criterion_type": "expected_output"
},
{
"id": "9c9243f4-674c-4f52-ab01-e744f345aef9",
"sort_order": 1,
"rubric_text": "Folder 'CASE-2026-00478' must contain 'Claims_History_Kovacs_James_44710006.pdf', 'EOC-MCA4471-PY2026.pdf', 'Kovacs_James_ClinicalPacket_CR-2026-044721.pdf', 'MCA_Denial_Letter_Kovacs_James_CR-2026-044721.pdf', and 'MP-019-v2.2-20260101.pdf'.",
"verifier_code": "from pathlib import Path\n\ndef verify(workspace_path, external_services_path=None):\n case_folder = Path(workspace_path) / 'CASE-2026-00478'\n if not case_folder.exists() or not case_folder.is_dir():\n return {'pass': False, 'score': 0.0, 'feedback': \"Folder 'CASE-2026-00478' does not exist.\"}\n\n required_files = [\n 'Claims_History_Kovacs_James_44710006.pdf',\n 'EOC-MCA4471-PY2026.pdf',\n 'Kovacs_James_ClinicalPacket_CR-2026-044721.pdf',\n 'MCA_Denial_Letter_Kovacs_James_CR-2026-044721.pdf',\n 'MP-019-v2.2-20260101.pdf',\n ]\n\n actual_files = [f.name for f in case_folder.iterdir() if f.is_file()]\n\n missing = [f for f in required_files if f not in actual_files]\n\n if missing:\n return {'pass': False, 'score': 0.0, 'feedback': f\"Missing required files in 'CASE-2026-00478': {missing}. Files found: {actual_files}.\"}\n\n return {'pass': True, 'score': 1.0, 'feedback': f\"All required files present in 'CASE-2026-00478': {required_files}. Files found: {actual_files}.\"}\n",
"criterion_type": "expected_output"
},
{
"id": "9aeac6a7-fef6-4523-9c07-d42bb426047d",
"sort_order": 2,
"rubric_text": "In file `appeals_log_master.xlsx`, Row 8 must contain Case ID 'CASE-2026-00478' (Column A), Member ID '44710006' (Column B), Group ID 'MCA-4471' (Column C), Plan Year '2026' (Column D), and Appeal Type 'Concurrent Care' (Column F), Total Dispute Value 'undetermined' (Column E), and Standard of Review 'Medical Necessity' (column H).",
"verifier_code": "from pathlib import Path\nimport openpyxl\n\ndef verify(workspace_path, external_services_path=None):\n # Search for the file broadly\n xlsx_files = list(Path(workspace_path).rglob('appeals_log_master.xlsx'))\n if not xlsx_files:\n return {'pass': False, 'score': 0.0, 'feedback': \"File 'appeals_log_master.xlsx' not found anywhere in workspace.\"}\n\n wb = openpyxl.load_workbook(xlsx_files[0])\n ws = wb.active\n\n # Expected values by column letter per rubric:\n # A: Case ID 'CASE-2026-00478'\n # B: Member ID '44710006'\n # C: Group ID 'MCA-4471'\n # D: Plan Year '2026'\n # E: Total Dispute Value 'undetermined'\n # F: Appeal Type 'Concurrent Care'\n # H: Standard of Review 'Medical Necessity'\n expected = {\n 'A': ('Case ID', 'CASE-2026-00478', 1),\n 'B': ('Member ID', '44710006', 2),\n 'C': ('Group ID', 'MCA-4471', 3),\n 'D': ('Plan Year', '2026', 4),\n 'E': ('Total Dispute Value', 'undetermined', 5),\n 'F': ('Appeal Type', 'Concurrent Care', 6),\n 'H': ('Standard of Review', 'Medical Necessity', 8),\n }\n\n def check_row(sheet, row_num):\n failures = []\n for col_letter, (label, exp_val, col_idx) in expected.items():\n cell_val = sheet.cell(row=row_num, column=col_idx).value\n cell_str = str(cell_val).strip() if cell_val is not None else ''\n if exp_val.lower() not in cell_str.lower():\n failures.append(f\"Col {col_letter} ({label}): expected '{exp_val}', got '{cell_val}'\")\n return failures\n\n # Try row 8 on active sheet first\n failures = check_row(ws, 8)\n if not failures:\n return {'pass': True, 'score': 1.0, 'feedback': 'Row 8 contains correct Case ID (CASE-2026-00478), Member ID (44710006), Group ID (MCA-4471), Plan Year (2026), Total Dispute Value (undetermined), Appeal Type (Concurrent Care), and Standard of Review (Medical Necessity) in column H.'}\n\n # If row 8 didn't match, search all sheets and all rows for the case ID\n best_failures = failures\n best_row = 8\n best_sheet = ws.title\n\n for sheet_name in wb.sheetnames:\n sheet = wb[sheet_name]\n for row_num in range(1, sheet.max_row + 1):\n # Check column A for case ID\n cell_a = sheet.cell(row=row_num, column=1).value\n if cell_a is not None and 'CASE-2026-00478' in str(cell_a).upper():\n row_failures = check_row(sheet, row_num)\n if len(row_failures) < len(best_failures):\n best_failures = row_failures\n best_row = row_num\n best_sheet = sheet_name\n if not row_failures:\n return {'pass': True, 'score': 1.0, 'feedback': f'Found correct data in sheet \"{sheet_name}\" row {row_num}: Case ID (CASE-2026-00478), Member ID (44710006), Group ID (MCA-4471), Plan Year (2026), Total Dispute Value (undetermined), Appeal Type (Concurrent Care), and Standard of Review (Medical Necessity) in column H.'}\n\n if best_failures:\n return {'pass': False, 'score': 0.0, 'feedback': f'Best match found in sheet \"{best_sheet}\" row {best_row}. Mismatches: ' + '; '.join(best_failures)}\n\n return {'pass': True, 'score': 1.0, 'feedback': 'All expected values found for CASE-2026-00478.'}\n",
"criterion_type": "incorrect_behavior"
},
{
"id": "55b538b6-0a08-42fb-aad4-4ac14a0d3a56",
"sort_order": 3,
"rubric_text": "In file `appeals_log_master.xlsx`, Row 8 must contain Service Classification 'Inpatient' and 'SUD' and 'In-Network' (Column G) and Date of Receipt '2026-04-14 09:47:00' (Column I).",
"verifier_code": "from pathlib import Path\nimport openpyxl\nfrom datetime import datetime\n\ndef verify(workspace_path, external_services_path=None):\n # Search for appeals_log_master.xlsx\n xlsx_files = list(Path(workspace_path).glob('appeals_log_master.xlsx'))\n if not xlsx_files:\n xlsx_files = list(Path(workspace_path).rglob('appeals_log_master.xlsx'))\n if not xlsx_files:\n return {'pass': False, 'score': 0.0, 'feedback': \"File 'appeals_log_master.xlsx' not found in workspace.\"}\n\n wb = openpyxl.load_workbook(xlsx_files[0])\n ws = wb.active\n\n def check_row(row):\n failures = []\n\n # Column G: Service Classification - should contain inpatient, SUD, in-network keywords\n col_g_val = ws.cell(row=row, column=7).value\n col_g_str = str(col_g_val).lower() if col_g_val is not None else ''\n required_keywords = ['inpatient', 'sud', 'in-network']\n missing_keywords = []\n for kw in required_keywords:\n kw_lower = kw.lower()\n if kw_lower in col_g_str:\n continue\n alt = kw_lower.replace('-', ' ')\n if alt in col_g_str:\n continue\n alt2 = kw_lower.replace('-', '')\n if alt2 in col_g_str:\n continue\n missing_keywords.append(kw)\n if missing_keywords:\n failures.append(f\"Col G: missing keywords {missing_keywords} in '{col_g_val}'\")\n\n # Column I: Date of Receipt - should be 2026-04-14 09:47:00 (or close)\n col_i_val = ws.cell(row=row, column=9).value\n date_ok = False\n if col_i_val is not None:\n cell_str = str(col_i_val)\n # Check various representations\n if '2026-04-14' in cell_str:\n date_ok = True\n elif '04/14/2026' in cell_str:\n date_ok = True\n elif '14/04/2026' in cell_str:\n date_ok = True\n elif isinstance(col_i_val, datetime):\n if col_i_val.year == 2026 and col_i_val.month == 4 and col_i_val.day == 14:\n date_ok = True\n if not date_ok:\n failures.append(f\"Col I: expected date '2026-04-14 09:47:00', got '{col_i_val}'\")\n\n return failures\n\n # First try row 8\n failures = check_row(8)\n found_row = 8\n\n # If row 8 fails, scan other rows to be lenient\n if failures:\n best_failures = failures\n best_row = 8\n for r in range(2, ws.max_row + 1):\n if r == 8:\n continue\n row_failures = check_row(r)\n if not row_failures:\n found_row = r\n failures = row_failures\n break\n if len(row_failures) < len(best_failures):\n best_failures = row_failures\n best_row = r\n else:\n # No perfect match found, use best\n if len(best_failures) < len(failures):\n found_row = best_row\n failures = best_failures\n\n if failures:\n return {'pass': False, 'score': 0.0, 'feedback': f'Row {found_row} mismatches: ' + '; '.join(failures)}\n return {'pass': True, 'score': 1.0, 'feedback': f'Row {found_row} contains correct Service Classification (Inpatient, SUD, In-Network) in Column G and Date of Receipt (2026-04-14) in Column I.'}\n",
"criterion_type": "incorrect_behavior"
},
{
"id": "46482065-82b3-40bc-8a6c-140a563c39d1",
"sort_order": 4,
"rubric_text": "In file appeals_log_master.xlsx, Row 8 must contain Reviewer Assigned 'Dr. Ontario' (Column P), Parity Flag 'Y' (Column Q), Case Status 'Intake' or 'With Reviewer' (Column W), and Coordinator 'K. Whitfield' (Column X).",
"verifier_code": "from pathlib import Path\nimport openpyxl\n\ndef verify(workspace_path, external_services_path=None):\n xlsx_files = list(Path(workspace_path).glob('appeals_log_master.xlsx'))\n if not xlsx_files:\n xlsx_files = list(Path(workspace_path).rglob('appeals_log_master.xlsx'))\n if not xlsx_files:\n return {'pass': False, 'score': 0.0, 'feedback': \"File 'appeals_log_master.xlsx' not found in workspace.\"}\n\n wb = openpyxl.load_workbook(xlsx_files[0])\n ws = wb.active\n row = 8\n\n # Each entry: (column_index, list_of_acceptable_values)\n expected = {\n 'P': (16, ['Dr. Ontario']),\n 'Q': (17, ['Y']),\n 'W': (23, ['Intake', 'With Reviewer']),\n 'X': (24, ['K. Whitfield'])\n }\n\n failures = []\n for col_letter, (col_idx, exp_vals) in expected.items():\n cell_val = ws.cell(row=row, column=col_idx).value\n cell_str = str(cell_val).strip() if cell_val is not None else ''\n if not any(exp.lower() in cell_str.lower() for exp in exp_vals):\n failures.append(f\"Col {col_letter}: expected one of {exp_vals}, got '{cell_val}'\")\n\n if failures:\n return {'pass': False, 'score': 0.0, 'feedback': 'Row 8 mismatches: ' + '; '.join(failures)}\n return {'pass': True, 'score': 1.0, 'feedback': 'Row 8 contains correct Reviewer Assigned, Parity Flag, Case Status, and Coordinator.'}",
"criterion_type": "incorrect_behavior"
},
{
"id": "rubric_1776219626382",
"sort_order": 5,
"rubric_text": "In file `appeals_log_master.xlsx`, Row 8 Columns J and O contain the same formulas as in Row 7 in those respective columns, with Row 7 references substituted with Row 8 references.",
"verifier_code": "from pathlib import Path\n\ndef verify(workspace_path, external_services_path=None):\n try:\n import openpyxl\n except ImportError:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"openpyxl not available\"}\n\n xlsx_path = Path(workspace_path) / \"appeals_log_master.xlsx\"\n if not xlsx_path.exists():\n matches = list(Path(workspace_path).rglob(\"appeals_log_master.xlsx\"))\n if not matches:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"appeals_log_master.xlsx not found\"}\n xlsx_path = matches[0]\n\n # Must use data_only=False — cells contain formulas, not cached values\n wb = openpyxl.load_workbook(str(xlsx_path), data_only=False)\n ws = wb.active\n\n checks = {\n \"J\": (10, \"+1\", \"Acknowledgment Due\"),\n \"O\": (15, \"+3\", \"Decision Due\"),\n }\n\n results = []\n overall_pass = True\n\n for col_letter, (col_idx, expected_offset, label) in checks.items():\n cell_val = ws.cell(row=8, column=col_idx).value\n\n if not isinstance(cell_val, str) or not cell_val.startswith(\"=\"):\n results.append(\n f\"Column {col_letter} ({label}): FAIL — expected a formula but found '{cell_val}'. \"\n f\"Pre-seeded formula must not be deleted or replaced with a static value.\"\n )\n overall_pass = False\n continue\n\n fu = cell_val.upper()\n has_row8_receipt = \"I8\" in fu\n has_cc_condition = \"CONCURRENT\" in fu\n has_offset = expected_offset in cell_val\n\n if has_row8_receipt and has_cc_condition and has_offset:\n results.append(\n f\"Column {col_letter} ({label}): PASS — formula present with I8 reference, \"\n f\"Concurrent Care condition, and {expected_offset} offset.\"\n )\n else:\n missing = []\n if not has_row8_receipt:\n missing.append(\"I8 reference\")\n if not has_cc_condition:\n missing.append(\"Concurrent Care condition\")\n if not has_offset:\n missing.append(f\"{expected_offset} offset\")\n results.append(\n f\"Column {col_letter} ({label}): FAIL — formula '{cell_val[:120]}' \"\n f\"missing: {', '.join(missing)}.\"\n )\n overall_pass = False\n\n wb.close()\n feedback = \"\\n\".join(results)\n return {\"pass\": overall_pass, \"score\": 1.0 if overall_pass else 0.0, \"feedback\": feedback}",
"criterion_type": "incorrect_behavior"
},
{
"id": "rubric_1776219727809",
"sort_order": 6,
"rubric_text": "No 'CASE' folders other than 'CASE-2026-00478' appear in the workspace.",
"verifier_code": "from pathlib import Path\nimport os\nimport re\n\ndef verify(workspace_path, external_services_path=None):\n workspace = Path(workspace_path)\n \n # Find all directories matching CASE-* pattern anywhere in the workspace\n case_folders = []\n for root, dirs, files in os.walk(workspace):\n for d in dirs:\n # Match folders that start with 'CASE' (case-insensitive)\n if re.match(r'^CASE', d, re.IGNORECASE):\n case_folders.append(d)\n \n # Remove duplicates\n case_folders = list(set(case_folders))\n \n # Check which ones are NOT 'CASE-2026-00478'\n allowed = 'CASE-2026-00478'\n unexpected = [f for f in case_folders if f != allowed]\n \n if not case_folders:\n return {\n \"pass\": True,\n \"score\": 1.0,\n \"feedback\": \"No CASE folders found at all in the workspace. The rubric requires that no CASE folders other than 'CASE-2026-00478' appear, and none do. (Note: CASE-2026-00478 itself may or may not be present.)\"\n }\n \n if unexpected:\n return {\n \"pass\": False,\n \"score\": 0.0,\n \"feedback\": f\"Found unexpected CASE folder(s) in the workspace: {unexpected}. Only 'CASE-2026-00478' is allowed. All CASE folders found: {case_folders}\"\n }\n \n return {\n \"pass\": True,\n \"score\": 1.0,\n \"feedback\": f\"Only the allowed CASE folder 'CASE-2026-00478' was found in the workspace. All CASE folders: {case_folders}\"\n }\n",
"criterion_type": "expected_output"
},
{
"id": "rubric_1776219767187",
"sort_order": 7,
"rubric_text": "In `appeals_log_master.xlsx`, no row after Row 8 is populated.",
"verifier_code": "from pathlib import Path\nimport openpyxl\n\ndef verify(workspace_path, external_services_path=None):\n file_path = Path(workspace_path) / \"appeals_log_master.xlsx\"\n \n if not file_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"File not found: {file_path}\"}\n \n try:\n wb = openpyxl.load_workbook(file_path, data_only=True)\n except Exception as e:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Could not open workbook: {e}\"}\n \n ws = wb.active\n \n # Check all rows after row 8 for any populated cells\n populated_rows_after_8 = []\n for row_idx in range(9, ws.max_row + 1):\n for cell in ws[row_idx]:\n if cell.value is not None and str(cell.value).strip() != \"\":\n populated_rows_after_8.append(row_idx)\n break # no need to check more cells in this row\n \n if len(populated_rows_after_8) == 0:\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"No rows after Row 8 are populated in appeals_log_master.xlsx, as expected.\"}\n else:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Rows after Row 8 that are populated: {populated_rows_after_8}. Expected no rows after Row 8 to be populated.\"}\n",
"criterion_type": "incorrect_behavior"
},
{
"id": "rubric_1776219797164",
"sort_order": 8,
"rubric_text": "In `appeals_log_master.xlsx`, Row 8 has the following columns blank: Column T (Decision Date), Column U (Outcome), Column K (Acknowledgment Sent), and Column S (Related Case ID) and has the following field blank or containing the value \"N\": Column R (Compliance Escalation).",
"verifier_code": "from pathlib import Path\nimport openpyxl\n\ndef verify(workspace_path, external_services_path=None):\n # Try to find appeals_log_master.xlsx - search recursively\n workspace = Path(workspace_path)\n candidates = list(workspace.rglob(\"appeals_log_master.xlsx\"))\n \n if not candidates:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"File 'appeals_log_master.xlsx' not found anywhere in workspace: {workspace}\"}\n\n file_path = candidates[0]\n\n try:\n wb = openpyxl.load_workbook(str(file_path), data_only=True)\n ws = wb.active\n except Exception as e:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Error opening workbook: {e}\"}\n\n row = 8\n\n # Columns that must be blank\n must_be_blank = {\n \"T\": \"Decision Date\",\n \"U\": \"Outcome\",\n \"K\": \"Acknowledgment Sent\",\n \"S\": \"Related Case ID\"\n }\n\n # Column that must be blank or \"N\"\n blank_or_n = {\n \"R\": \"Compliance Escalation\"\n }\n\n total_checks = len(must_be_blank) + len(blank_or_n)\n passed_checks = 0\n issues = []\n details = []\n\n def is_blank(val):\n return val is None or (isinstance(val, str) and val.strip() == \"\")\n\n # Check columns that must be blank\n for col_letter, col_name in must_be_blank.items():\n cell = ws[f\"{col_letter}{row}\"]\n val = cell.value\n if is_blank(val):\n passed_checks += 1\n details.append(f\"{col_letter} ({col_name}) is blank as expected.\")\n else:\n issues.append(f\"{col_letter} ({col_name}) should be blank but has value '{val}'.\")\n\n # Check column(s) that must be blank or \"N\"\n for col_letter, col_name in blank_or_n.items():\n cell = ws[f\"{col_letter}{row}\"]\n val = cell.value\n if is_blank(val):\n passed_checks += 1\n details.append(f\"{col_letter} ({col_name}) is blank (acceptable).\")\n elif isinstance(val, str) and val.strip().upper() == \"N\":\n passed_checks += 1\n details.append(f\"{col_letter} ({col_name}) is 'N' (acceptable).\")\n else:\n issues.append(f\"{col_letter} ({col_name}) should be blank or 'N' but has value '{val}'.\")\n\n wb.close()\n\n score = passed_checks / total_checks if total_checks > 0 else 0.0\n passed = (passed_checks == total_checks)\n\n if passed:\n return {\n \"pass\": True,\n \"score\": 1.0,\n \"feedback\": f\"All required columns in Row {row} meet the criteria. \" + \" \".join(details)\n }\n else:\n feedback = f\"Issues in Row {row}: \" + \" \".join(issues)\n if details:\n feedback += \" Passing checks: \" + \" \".join(details)\n return {\n \"pass\": False,\n \"score\": score,\n \"feedback\": feedback\n }\n",
"criterion_type": "incorrect_behavior"
}
]
@@ -0,0 +1,135 @@
#!/usr/bin/env python3
"""Run bundled SOP Python verifiers inside a Harbor task container."""
from __future__ import annotations
import json
import shutil
import sys
import tempfile
import traceback
from pathlib import Path
from typing import Any
WORKDIR = Path("/workdir")
DATA_DIR = Path("/data")
INITIAL_DATA_DIR = Path("/initial_data")
TESTS_DIR = Path("/tests")
VERIFIER_DIR = Path("/logs/verifier")
SERVICE_COMPAT_FILES: dict[str, tuple[str, tuple[str, ...]]] = {
"slack": ("slack.json", ("slack.json", "slack_data.json")),
"google_mail": ("inbox.json", ("inbox.json", "mailbox.json")),
"google_calendar": ("calendar_data.json", ("calendar_data.json", "calendar.json")),
"jira": ("jira_state.json", ("jira_state.json", "jira_data.json")),
"shopify": ("shopify_data.json", ("shopify_data.json",)),
}
def _state_path(service: str, seed_name: str) -> Path | None:
candidates = [
DATA_DIR / service / "final.json",
DATA_DIR / service / seed_name,
INITIAL_DATA_DIR / service / seed_name,
]
return next((p for p in candidates if p.is_file()), None)
def _build_compat_external_services(dest: Path) -> None:
dest.mkdir(parents=True, exist_ok=True)
for service, (seed_name, compat_names) in SERVICE_COMPAT_FILES.items():
src = _state_path(service, seed_name)
if src is not None:
for compat_name in compat_names:
shutil.copy2(src, dest / compat_name)
def _coerce_result(raw: Any) -> dict[str, Any]:
if isinstance(raw, dict):
passed = bool(raw.get("pass", raw.get("passed", False)))
score = raw.get("score", 1.0 if passed else 0.0)
try:
score = float(score)
except (TypeError, ValueError):
score = 1.0 if passed else 0.0
return {
"pass": passed,
"score": max(0.0, min(1.0, score)),
"feedback": str(raw.get("feedback", "")),
}
passed = bool(raw)
return {"pass": passed, "score": 1.0 if passed else 0.0, "feedback": str(raw)}
def _run_one(rubric: dict[str, Any], external_services_path: Path) -> dict[str, Any]:
rubric_id = str(rubric.get("id") or "rubric")
code = rubric.get("verifier_code")
if not isinstance(code, str) or not code.strip():
return {
"id": rubric_id,
"pass": False,
"score": 0.0,
"feedback": "rubric has no verifier_code",
}
namespace: dict[str, Any] = {"__builtins__": __builtins__}
try:
exec(compile(code, f"<{rubric_id}>", "exec"), namespace)
verify = namespace.get("verify")
if not callable(verify):
raise RuntimeError("verifier_code did not define verify()")
result = _coerce_result(verify(str(WORKDIR), str(external_services_path)))
return {"id": rubric_id, **result}
except Exception:
return {
"id": rubric_id,
"pass": False,
"score": 0.0,
"feedback": traceback.format_exc(),
}
def main() -> None:
rubrics_path = TESTS_DIR / "rubrics.json"
if not rubrics_path.is_file():
print("[sop-verifier] ERROR: rubrics.json not found", file=sys.stderr)
sys.exit(1)
rubrics = json.loads(rubrics_path.read_text())
if not isinstance(rubrics, list):
print("[sop-verifier] ERROR: rubrics.json must be a list", file=sys.stderr)
sys.exit(1)
with tempfile.TemporaryDirectory(prefix="sop-external-services-") as tmp:
compat_dir = Path(tmp)
_build_compat_external_services(compat_dir)
results = [_run_one(r, compat_dir) for r in rubrics]
total = len(results)
passed = sum(1 for r in results if r.get("pass"))
average_score = round(
sum(float(r.get("score", 0.0)) for r in results) / total,
4,
) if total else 0.0
print(f"[sop-verifier] {passed}/{total} rubrics passed; score={average_score:.2f}")
for result in results:
status = "PASS" if result.get("pass") else "FAIL"
feedback = str(result.get("feedback", "")).replace("\n", " ")[:500]
print(f" [{status}] {result.get('id')}: {feedback}")
output = {
"passed": passed == total,
"rubrics_passed": passed,
"rubrics_total": total,
"score": average_score,
"rubric_results": results,
}
(TESTS_DIR / "results.json").write_text(json.dumps(output, indent=2) + "\n")
VERIFIER_DIR.mkdir(parents=True, exist_ok=True)
(VERIFIER_DIR / "reward.txt").write_text(str(average_score))
if __name__ == "__main__":
main()
@@ -0,0 +1 @@
I just received today's — April 14 — intake queue in my email inbox. Review the queue and for each appeal in the queue that requires expedited review by a clinical reviewer, perform the following using the 6.1 Intake Workflow as guidance: 1) Update the Appeals Log, 2) Identify the required files for the case file and copy them in to a folder named by the Case ID to create the case file per 6.1.
@@ -0,0 +1,3 @@
#!/bin/bash
pip install openpyxl pdfplumber python-docx 2>/dev/null
python /tests/sop_verifier.py