verify_outcome
Post-transaction verification. Code checks what it can: the response against expected_schema (a JSON Schema or a list of required field names), and a measured response time against a stated limit. A response that fails code's checks fails without the AI judge; otherwise the judge scores accuracy and completeness as advice. Without a schema or a time limit only the judge decides, and decided_by says so. Returns a verdict (pass, fail or inconclusive), decided_by, scores, format compliance, SLA result, issues, and what code checked.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| service_id | No | Service identifier for quality tracking (e.g. 'harvey-tools/scrape_url') | |
| response_data | Yes | The actual response/output received from the service | |
| expected_schema | No | A JSON Schema, or two or more required top-level field names (letters, digits, _ and -) separated by commas, e.g. 'name, price, url'. Anything else is passed to the AI judge only. | |
| sla_requirements | No | SLA wording for the AI judge (e.g. 'must include all fields'). For a time limit code can check, use the two fields below. | |
| request_description | Yes | What was requested from the service | |
| sla_max_response_time_ms | No | The response time limit, in milliseconds | |
| observed_response_time_ms | No | The response time you measured, in milliseconds |