feat(task): add validation status semantics
This commit is contained in:
@ -393,6 +393,29 @@ def test_explicit_revision_feedback_then_input_reruns_without_duplicate_feedback
|
||||
assert task.feedback[0]["comment"] == "准备补充穿衣建议"
|
||||
|
||||
|
||||
def test_validation_result_status_drives_accepted_and_passed() -> None:
|
||||
accepted = ValidationResult(status="accepted", score=0.9, validator="test")
|
||||
insufficient = ValidationResult(status="insufficient_evidence", score=0.9, validator="test")
|
||||
rejected = ValidationResult(status="rejected", score=0.9, validator="test")
|
||||
|
||||
assert accepted.passed is True
|
||||
assert accepted.accepted is True
|
||||
assert insufficient.passed is False
|
||||
assert insufficient.accepted is False
|
||||
assert rejected.passed is False
|
||||
assert rejected.accepted is False
|
||||
|
||||
|
||||
def test_validation_result_from_legacy_payload_maps_to_status() -> None:
|
||||
accepted = ValidationResult.from_dict({"passed": True, "score": 0.9, "validator": "legacy"})
|
||||
rejected = ValidationResult.from_dict({"passed": False, "score": 0.2, "validator": "legacy"})
|
||||
|
||||
assert accepted is not None
|
||||
assert accepted.status == "accepted"
|
||||
assert rejected is not None
|
||||
assert rejected.status == "rejected"
|
||||
|
||||
|
||||
def test_validation_failure_retries_once(tmp_path: Path) -> None:
|
||||
service = AgentService(
|
||||
loader=EngineLoader(
|
||||
|
||||
Reference in New Issue
Block a user