stage-6: psyc-v4 — well-posed severity input (source-agnostic status)

_ex_severity_classification copied only URLhaus's `url_status` into the task
input, so Feodo botnet cases lost the online/offline signal their label
depends on — v3 severity eval stuck at 7/8 with one unlearnable example.
The input now carries a normalized `status` (url_status or status), matching
the field classify.py already uses for the label.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
m17hr1l
2026-05-18 21:02:32 +02:00
parent 838d90ffcb
commit 72d80dfd60

View File

@@ -105,7 +105,7 @@ def _ex_severity_classification(case: Case) -> Optional[Example]:
"summary": case.summary, "summary": case.summary,
"source_type": case.source_type, "source_type": case.source_type,
"incident_type": case.classification.incident_type.value if case.classification.incident_type else None, "incident_type": case.classification.incident_type.value if case.classification.incident_type else None,
"url_status": case.source_metadata.get("url_status", ""), "status": case.source_metadata.get("url_status") or case.source_metadata.get("status", ""),
"victim_country": case.victim.country, "victim_country": case.victim.country,
"critical_infrastructure": case.victim.critical_infrastructure, "critical_infrastructure": case.victim.critical_infrastructure,
"url_count": len(case.observables.urls), "url_count": len(case.observables.urls),