fix(task): reject unknown validation status payloads

This commit is contained in:
2026-05-22 11:04:28 +08:00
parent 5446614828
commit c3c4df306b
2 changed files with 9 additions and 2 deletions

View File

@ -70,10 +70,12 @@ class ValidationResult:
if not isinstance(payload, dict):
return None
raw_status = payload.get("status")
status: ValidationStatus | None = raw_status if raw_status in VALIDATION_STATUSES else None
if "status" in payload and raw_status not in VALIDATION_STATUSES:
raise ValueError(f"unknown validation status: {raw_status}")
status: ValidationStatus | None = raw_status if "status" in payload else None
return cls(
status=status,
passed=bool(payload.get("passed")) if status is None else None,
passed=bool(payload.get("passed")) if "status" not in payload else None,
score=float(payload.get("score", 0.0) or 0.0),
issues=[str(item) for item in payload.get("issues") or []],
missing_requirements=[str(item) for item in payload.get("missing_requirements") or []],