object — Additional properties rejected
| Field | Required at this level | Type | Description and constraints |
|---|---|---|---|
schemaVersion |
Yes | Constant saved-candidate-review-result-v1 |
— |
organizationId |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
runId |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
resultVersion |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
completedAt |
Yes | string |
Format: date-time; Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
report |
Yes | object |
Additional properties rejected |
report.schemaVersion |
Yes | Constant agent-candidate-review-report-v1 |
— |
report.organizationId |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
report.runId |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
report.reviewScope |
Yes | Constant RESEARCH_CANDIDATE_EVIDENCE |
— |
report.status |
Yes | Constant PARTIAL |
— |
report.captureHash |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
report.sourceCutoff |
Yes | string |
Format: date-time; Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
report.reviewedAt |
Yes | string |
Format: date-time; Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
report.reviewedCandidate |
Yes | object |
Additional properties rejected |
report.reviewedCandidate.packId |
Yes | string |
Pattern: ^decisionpack_[a-f0-9]{32}$ |
report.reviewedCandidate.resourceVersion |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
report.reviewedCandidate.contentHash |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
report.checks |
Yes | Array of object |
Max items: 16 |
report.checks[].id |
Yes | string |
Max length: 100 |
report.checks[].status |
Yes | string |
Allowed: RECORDED_PASS, RECORDED_FAIL, UNAVAILABLE |
report.checks[].detail |
Yes | string |
Max length: 1200 |
report.findings |
Yes | Array of object |
Max items: 24 |
report.findings[].id |
Yes | string |
Pattern: ^finding-[a-z0-9-]+$ |
report.findings[].summary |
Yes | string |
Max length: 1200 |
report.findings[].evidenceIds |
Yes | Array of string |
Max items: 8 |
report.trialReferences |
Yes | Array of object |
Min items: 1; Max items: 4 |
report.trialReferences[].kind |
Yes | Constant RESEARCH_TRIAL |
— |
report.trialReferences[].runId |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
report.trialReferences[].protocolHash |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
report.trialReferences[].trialKey |
Yes | string |
Allowed: baseline, alternative-1, alternative-2, alternative-3 |
report.trialReferences[].inputHash |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
report.trialReferences[].artifactHash |
Yes | At least one of: string; null |
— |
report.trialReferences[].state |
Yes | string |
Allowed: QUEUED, RUNNING, COMPLETED, FAILED, CANCELLED |
report.trialReferences[].recordedAt |
Yes | At least one of: string; null |
— |
report.trialReferences[].failureCode |
Yes | At least one of: string; null |
— |
report.costs |
Yes | Array of object |
Min items: 6; Max items: 6 |
report.costs[].category |
Yes | string |
Allowed: GAS, INCENTIVE, PLATFORM_FEE, CAPITAL_LOSS, VENUE_FEE, SLIPPAGE |
report.costs[].status |
Yes | Constant UNAVAILABLE |
— |
report.costs[].amountAtomic |
Yes | null |
— |
report.costs[].reason |
Yes | string |
Max length: 1200 |
report.gaps |
Yes | Array of string |
Max items: 24 |
report.nextChecks |
Yes | Array of string |
Max items: 5 |
report.approvalAuthorityGranted |
Yes | Constant false |
— |
report.executionAuthorityGranted |
Yes | Constant false |
— |
report.publicationAuthorityGranted |
Yes | Constant false |
— |
applicability |
Yes | object |
Additional properties rejected |
applicability.scope |
Yes | Constant CANDIDATE_CONTENT_AND_REFERENCED_GENERATIONS |
— |
applicability.status |
Yes | string |
Allowed: SAME_CONTENT, LIFECYCLE_CHANGED, CONTENT_CHANGED, SUBJECT_UNAVAILABLE |
applicability.checkedAt |
Yes | string |
Format: date-time; Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
applicability.currentPackResourceVersion |
Yes | At least one of: string; null |
— |
applicability.currentContentHash |
Yes | At least one of: string; null |
— |
applicability.currentIssuerIntentResourceVersion |
Yes | At least one of: string; null |
— |
applicability.currentProjectResourceVersion |
Yes | At least one of: string; null |
— |
applicability.issuerIntentChanged |
Yes | boolean |
— |
applicability.projectObservationChanged |
Yes | boolean |
— |
Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.
Exact definition: #/components/schemas/SavedCandidateReviewResult in the OpenAPI contract.