changedInput schema / properties / completed_profile / anyOf
Previous value: -[
- {
- "enum": [
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "enum": [
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+]
changedInput schema / properties / completed_profiles / anyOf
Previous value: -[
- {
- "items": {
- "enum": [
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
- ],
- "type": "string"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "items": {
+ "enum": [
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+]
changedInput schema / properties / implementation_review / description
Previous value: -"At triage, whether the user's request includes review of implementation behavior. Unknown when omitted."New value: +"At triage, whether the user's request includes review of implementation behavior. Unknown when omitted. Limited profiles require explicit acknowledgement when implementation behavior is in scope."
changedInput schema / properties / profile_reports / anyOf
Previous value: -[
- {
- "items": {
- "additionalProperties": false,
- "description": "Structured host-reported result for one completed specialist profile.",
- "properties": {
- "context_selection": {
- "anyOf": [
- {
- "additionalProperties": false,
- "description": "Host assertion of the exact subset actually sent to a profile.",
- "properties": {
- "budget_omitted_refs": {
- "default": [],
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 1000,
- "type": "array"
- },
- "changed_files_count": {
- "default": 0,
- "maximum": 10000,
- "minimum": 0,
- "type": "integer"
- },
- "included_refs": {
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 1000,
- "type": "array"
- },
- "max_bytes": {
- "maximum": 2000000,
- "minimum": 1,
- "type": "integer"
- },
- "omitted_refs": {
- "default": [],
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 1000,
- "type": "array"
- },
- "selected_bytes": {
- "maximum": 2000000,
- "minimum": 0,
- "type": "integer"
- },
- "selected_packet_sha256": {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- "source_excerpt_files_available": {
- "default": 0,
- "maximum": 10000,
- "minimum": 0,
- "type": "integer"
- },
- "source_excerpt_files_included": {
- "default": 0,
- "maximum": 10000,
- "minimum": 0,
- "type": "integer"
- },
- "source_packet_sha256": {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- }
- },
- "required": [
- "source_packet_sha256",
- "selected_packet_sha256",
- "included_refs",
- "max_bytes",
- "selected_bytes"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "coverage_gaps": {
- "default": [],
- "items": {
- "additionalProperties": false,
- "properties": {
- "evidence_refs": {
- "default": [],
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 32,
- "type": "array"
- },
- "text": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "text"
- ],
- "type": "object"
- },
- "maxItems": 100,
- "type": "array"
- },
- "evidence_map": {
- "default": [],
- "items": {
- "additionalProperties": false,
- "properties": {
- "description": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- "evidence_ref": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- }
- },
- "required": [
- "evidence_ref",
- "description"
- ],
- "type": "object"
- },
- "maxItems": 500,
- "type": "array"
- },
- "execution_metrics": {
- "anyOf": [
- {
- "additionalProperties": false,
- "description": "Optional host-reported timing and token counts for one completed profile.",
- "properties": {
- "attempt_count": {
- "default": 1,
- "maximum": 4,
- "minimum": 1,
- "type": "integer"
- },
- "attempts": {
- "default": [],
- "items": {
- "additionalProperties": false,
- "description": "One call's timings, usage and sanitized CLI diagnostics; no raw exception/source.",
- "properties": {
- "attempt": {
- "maximum": 4,
- "minimum": 1,
- "type": "integer"
- },
- "cached_input_tokens": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "cli_event_type": {
- "anyOf": [
- {
- "enum": [
- "error",
- "turn.failed"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "cli_exit_code": {
- "anyOf": [
- {
- "maximum": 255,
- "minimum": -255,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "cli_failure_detail": {
- "anyOf": [
- {
- "maxLength": 512,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "completed_at": {
- "format": "date-time",
- "type": "string"
- },
- "evidence_packet_bytes": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "executor_seconds": {
- "minimum": 0,
- "type": "number"
- },
- "failure_kind": {
- "anyOf": [
- {
- "enum": [
- "input_preparation",
- "cli_failure",
- "output_missing",
- "output_validation",
- "timeout",
- "cancelled",
- "executor_error"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "included_evidence_refs": {
- "default": [],
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 1000,
- "type": "array"
- },
- "included_source_paths": {
- "default": [],
- "items": {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 500,
- "type": "array"
- },
- "input_tokens": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "model_seconds": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "omitted_evidence_refs": {
- "default": [],
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 1000,
- "type": "array"
- },
- "outcome": {
- "enum": [
- "completed",
- "retryable_error",
- "timeout",
- "failed",
- "cancelled"
- ],
- "type": "string"
- },
- "output_tokens": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "preparation_seconds": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "profile": {
- "enum": [
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
- ],
- "type": "string"
- },
- "prompt_bytes": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "prompt_overhead_bytes": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "prompt_write_status": {
- "anyOf": [
- {
- "enum": [
- "prepared",
- "written"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "queue_seconds": {
- "minimum": 0,
- "type": "number"
- },
- "review_diff_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "review_head_sha": {
- "anyOf": [
- {
- "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "selected_packet_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "source_packet_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "started_at": {
- "format": "date-time",
- "type": "string"
- },
- "submitted_prompt_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "validation_seconds": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- }
- },
- "required": [
- "profile",
- "attempt",
- "outcome",
- "started_at",
- "completed_at",
- "queue_seconds",
- "executor_seconds"
- ],
- "type": "object"
- },
- "maxItems": 4,
- "type": "array"
- },
- "completed_at": {
- "format": "date-time",
- "type": "string"
- },
- "input_tokens": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "output_tokens": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "started_at": {
- "format": "date-time",
- "type": "string"
- }
- },
- "required": [
- "started_at",
- "completed_at"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Optional host-reported execution data; the orchestrator does not verify it."
- },
- "finding_candidates": {
- "default": [],
- "items": {
- "additionalProperties": false,
- "description": "A possible defect with evidence references; the host still decides whether it is confirmed.",
- "properties": {
- "actual_behavior": {
- "anyOf": [
- {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Source-derived result when the failure condition occurs; this is not runtime observation unless separately verified. Required for new submitted defect candidates."
- },
- "affected_area": {
- "anyOf": [
- {
- "maxLength": 256,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Affected user flow or system area, when supported by the evidence."
- },
- "candidate_id": {
- "pattern": "^F-[0-9]{2,}$",
- "type": "string"
- },
- "change_origin": {
- "default": "unknown",
- "description": "Whether the defect was introduced by the reviewed change, pre-existing, made worse by the PR, or of unknown origin.",
- "enum": [
- "introduced",
- "exacerbated_by_pr",
- "pre_existing",
- "unknown"
- ],
- "type": "string"
- },
- "confidence": {
- "enum": [
- "high",
- "medium",
- "low"
- ],
- "type": "string"
- },
- "description": {
- "maxLength": 5000,
- "minLength": 1,
- "type": "string"
- },
- "evidence_refs": {
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 32,
- "minItems": 1,
- "type": "array"
- },
- "expected_behavior": {
- "anyOf": [
- {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Expected result supported by a requirement, contract, or invariant; required for new submitted defect candidates."
- },
- "failure_condition": {
- "anyOf": [
- {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Specific preconditions that make the alleged failure occur; required for new submitted defect candidates. Optional only for legacy persisted payloads."
- },
- "flip_condition": {
- "anyOf": [
- {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Concrete source/contract evidence that would refute this candidate; required for new submitted defect candidates. Optional only for legacy persisted payloads."
- },
- "impact": {
- "anyOf": [
- {
- "maxLength": 2000,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Concrete effect on users or contracts; severity remains host-owned."
- },
- "source_locations": {
- "default": [],
- "description": "Precise source locations supporting this candidate when available.",
- "items": {
- "additionalProperties": false,
- "description": "A stable source locator for a finding candidate.",
- "properties": {
- "end_line": {
- "anyOf": [
- {
- "minimum": 1,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "path": {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- "start_line": {
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "path",
- "start_line"
- ],
- "type": "object"
- },
- "maxItems": 20,
- "type": "array"
- },
- "title": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "verification_gap": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "candidate_id",
- "title",
- "description",
- "confidence",
- "verification_gap",
- "evidence_refs"
- ],
- "type": "object"
- },
- "maxItems": 100,
- "type": "array"
- },
- "profile": {
- "enum": [
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
- ],
- "type": "string"
- },
- "review_rules_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "reviewed_changed_paths": {
- "default": [],
- "description": "Paths in the bound change that this profile explicitly inspected, including paths with no finding. This is an executor attestation; the host cannot independently verify that the inspection occurred.",
- "items": {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 500,
- "type": "array"
- },
- "reviewed_diff_hunk_indexes": {
- "default": [],
- "description": "Bound diff hunk indexes this profile explicitly inspected. This is an executor attestation and does not prove model reasoning.",
- "items": {
- "maximum": 499,
- "minimum": 0,
- "type": "integer"
- },
- "maxItems": 500,
- "type": "array"
- },
- "scenario_coverage": {
- "default": [],
- "description": "Evidence-backed dispositions for the material behavior scenarios this profile checked.",
- "items": {
- "additionalProperties": false,
- "description": "Evidence-backed outcome for one material behavior scenario in a review.",
- "properties": {
- "disposition": {
- "enum": [
- "candidate",
- "refuted",
- "unverified",
- "not_applicable_to_diff"
- ],
- "type": "string"
- },
- "evidence_refs": {
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 8,
- "minItems": 1,
- "type": "array"
- },
- "rationale": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "scenario": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "scenario",
- "disposition",
- "evidence_refs",
- "rationale"
- ],
- "type": "object"
- },
- "maxItems": 25,
- "type": "array"
- },
- "scope": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- "targeted_scenario_audit": {
- "default": [],
- "description": "Prior queued scenario dispositions, only for the omission auditor.",
- "items": {
- "additionalProperties": false,
- "description": "Evidence-backed outcome for one material behavior scenario in a review.",
- "properties": {
- "disposition": {
- "enum": [
- "candidate",
- "refuted",
- "unverified",
- "not_applicable_to_diff"
- ],
- "type": "string"
- },
- "evidence_refs": {
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 8,
- "minItems": 1,
- "type": "array"
- },
- "rationale": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "scenario": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "scenario",
- "disposition",
- "evidence_refs",
- "rationale"
- ],
- "type": "object"
- },
- "maxItems": 25,
- "type": "array"
- },
- "unverified": {
- "default": [],
- "items": {
- "additionalProperties": false,
- "properties": {
- "evidence_refs": {
- "default": [],
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 32,
- "type": "array"
- },
- "text": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "text"
- ],
- "type": "object"
- },
- "maxItems": 100,
- "type": "array"
- }
- },
- "required": [
- "profile",
- "scope"
- ],
- "type": "object"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "items": {
+ "additionalProperties": false,
+ "description": "Structured host-reported result for one completed specialist profile.",
+ "properties": {
+ "context_selection": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "description": "Host assertion of the exact subset actually sent to a profile.",
+ "properties": {
+ "budget_omitted_refs": {
+ "default": [],
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 1000,
+ "type": "array"
+ },
+ "changed_files_count": {
+ "default": 0,
+ "maximum": 10000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "included_refs": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 1000,
+ "type": "array"
+ },
+ "max_bytes": {
+ "maximum": 2000000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "omitted_refs": {
+ "default": [],
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 1000,
+ "type": "array"
+ },
+ "selected_bytes": {
+ "maximum": 2000000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "selected_packet_sha256": {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "source_excerpt_files_available": {
+ "default": 0,
+ "maximum": 10000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "source_excerpt_files_included": {
+ "default": 0,
+ "maximum": 10000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "source_packet_sha256": {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "source_packet_sha256",
+ "selected_packet_sha256",
+ "included_refs",
+ "max_bytes",
+ "selected_bytes"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "coverage_gaps": {
+ "default": [],
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "evidence_refs": {
+ "default": [],
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "type": "array"
+ },
+ "text": {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "text"
+ ],
+ "type": "object"
+ },
+ "maxItems": 100,
+ "type": "array"
+ },
+ "evidence_map": {
+ "default": [],
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "description": {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "evidence_ref": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "evidence_ref",
+ "description"
+ ],
+ "type": "object"
+ },
+ "maxItems": 500,
+ "type": "array"
+ },
+ "execution_metrics": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "description": "Optional host-reported timing and token counts for one completed profile.",
+ "properties": {
+ "attempt_count": {
+ "default": 1,
+ "maximum": 4,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "attempts": {
+ "default": [],
+ "items": {
+ "additionalProperties": false,
+ "description": "One call's timings, usage and sanitized CLI diagnostics; no raw exception/source.",
+ "properties": {
+ "attempt": {
+ "maximum": 4,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "cached_input_tokens": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "cli_event_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "error",
+ "turn.failed"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "cli_exit_code": {
+ "anyOf": [
+ {
+ "maximum": 255,
+ "minimum": -255,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "cli_failure_detail": {
+ "anyOf": [
+ {
+ "maxLength": 512,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "completed_at": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "evidence_packet_bytes": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "executor_seconds": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "failure_kind": {
+ "anyOf": [
+ {
+ "enum": [
+ "input_preparation",
+ "cli_failure",
+ "output_missing",
+ "output_validation",
+ "timeout",
+ "cancelled",
+ "executor_error"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "included_evidence_refs": {
+ "default": [],
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 1000,
+ "type": "array"
+ },
+ "included_source_paths": {
+ "default": [],
+ "items": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 500,
+ "type": "array"
+ },
+ "input_tokens": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "model_seconds": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "omitted_evidence_refs": {
+ "default": [],
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 1000,
+ "type": "array"
+ },
+ "outcome": {
+ "enum": [
+ "completed",
+ "retryable_error",
+ "timeout",
+ "failed",
+ "cancelled"
+ ],
+ "type": "string"
+ },
+ "output_tokens": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "preparation_seconds": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "profile": {
+ "enum": [
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+ ],
+ "type": "string"
+ },
+ "prompt_bytes": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "prompt_overhead_bytes": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "prompt_write_status": {
+ "anyOf": [
+ {
+ "enum": [
+ "prepared",
+ "written"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "queue_seconds": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "review_diff_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "review_head_sha": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "selected_packet_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "source_packet_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "started_at": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "submitted_prompt_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "validation_seconds": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "profile",
+ "attempt",
+ "outcome",
+ "started_at",
+ "completed_at",
+ "queue_seconds",
+ "executor_seconds"
+ ],
+ "type": "object"
+ },
+ "maxItems": 4,
+ "type": "array"
+ },
+ "completed_at": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "input_tokens": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "output_tokens": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "started_at": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "required": [
+ "started_at",
+ "completed_at"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Optional host-reported execution data; the orchestrator does not verify it."
+ },
+ "finding_candidates": {
+ "default": [],
+ "items": {
+ "additionalProperties": false,
+ "description": "A possible defect with evidence references; the host still decides whether it is confirmed.",
+ "properties": {
+ "actual_behavior": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Source-derived result when the failure condition occurs; this is not runtime observation unless separately verified. Required for new submitted defect candidates."
+ },
+ "affected_area": {
+ "anyOf": [
+ {
+ "maxLength": 256,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Affected user flow or system area, when supported by the evidence."
+ },
+ "candidate_id": {
+ "pattern": "^F-[0-9]{2,}$",
+ "type": "string"
+ },
+ "change_origin": {
+ "default": "unknown",
+ "description": "Whether the defect was introduced by the reviewed change, pre-existing, made worse by the PR, or of unknown origin.",
+ "enum": [
+ "introduced",
+ "exacerbated_by_pr",
+ "pre_existing",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "confidence": {
+ "enum": [
+ "high",
+ "medium",
+ "low"
+ ],
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 5000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "evidence_refs": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "expected_behavior": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Expected result supported by a requirement, contract, or invariant; required for new submitted defect candidates."
+ },
+ "failure_condition": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Specific preconditions that make the alleged failure occur; required for new submitted defect candidates. Optional only for legacy persisted payloads."
+ },
+ "flip_condition": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Concrete source/contract evidence that would refute this candidate; required for new submitted defect candidates. Optional only for legacy persisted payloads."
+ },
+ "impact": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Concrete effect on users or contracts; severity remains host-owned."
+ },
+ "source_locations": {
+ "default": [],
+ "description": "Precise source locations supporting this candidate when available.",
+ "items": {
+ "additionalProperties": false,
+ "description": "A stable source locator for a finding candidate.",
+ "properties": {
+ "end_line": {
+ "anyOf": [
+ {
+ "minimum": 1,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "path": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "type": "string"
+ },
+ "start_line": {
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "path",
+ "start_line"
+ ],
+ "type": "object"
+ },
+ "maxItems": 20,
+ "type": "array"
+ },
+ "title": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "verification_gap": {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "candidate_id",
+ "title",
+ "description",
+ "confidence",
+ "verification_gap",
+ "evidence_refs"
+ ],
+ "type": "object"
+ },
+ "maxItems": 100,
+ "type": "array"
+ },
+ "profile": {
+ "enum": [
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+ ],
+ "type": "string"
+ },
+ "review_rules_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "reviewed_changed_paths": {
+ "default": [],
+ "description": "Paths in the bound change that this profile explicitly inspected, including paths with no finding. This is an executor attestation; the host cannot independently verify that the inspection occurred.",
+ "items": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 500,
+ "type": "array"
+ },
+ "reviewed_diff_hunk_indexes": {
+ "default": [],
+ "description": "Bound diff hunk indexes this profile explicitly inspected. This is an executor attestation and does not prove model reasoning.",
+ "items": {
+ "maximum": 499,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maxItems": 500,
+ "type": "array"
+ },
+ "scenario_coverage": {
+ "default": [],
+ "description": "Evidence-backed dispositions for the material behavior scenarios this profile checked.",
+ "items": {
+ "additionalProperties": false,
+ "description": "Evidence-backed outcome for one material behavior scenario in a review.",
+ "properties": {
+ "disposition": {
+ "enum": [
+ "candidate",
+ "refuted",
+ "unverified",
+ "not_applicable_to_diff"
+ ],
+ "type": "string"
+ },
+ "evidence_refs": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 8,
+ "minItems": 1,
+ "type": "array"
+ },
+ "rationale": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "scenario": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "scenario",
+ "disposition",
+ "evidence_refs",
+ "rationale"
+ ],
+ "type": "object"
+ },
+ "maxItems": 25,
+ "type": "array"
+ },
+ "scope": {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "unverified": {
+ "default": [],
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "evidence_refs": {
+ "default": [],
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "type": "array"
+ },
+ "text": {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "text"
+ ],
+ "type": "object"
+ },
+ "maxItems": 100,
+ "type": "array"
+ }
+ },
+ "required": [
+ "profile",
+ "scope"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+]
changedInput schema / properties / selected_profile / anyOf
Previous value: -[
- {
- "enum": [
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "enum": [
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+]
addedInput schema / properties / stop_reason
Added value: +{
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Required for partial or blocked early stops: state the observed cause or explicitly say it is unknown, without secrets or raw private output."
+}
changedOutput schema / properties / allowed_profiles / items / enum
Previous value: -[
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
-]New value: +[
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+]
changedOutput schema / properties / audit_events / items / properties / completed_profiles / items / enum
Previous value: -[
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
-]New value: +[
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+]
changedOutput schema / properties / audit_events / items / properties / current_profile / anyOf
Previous value: -[
- {
- "enum": [
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "enum": [
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+]
changedOutput schema / properties / audit_events / items / properties / selected_profile / anyOf
Previous value: -[
- {
- "enum": [
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "enum": [
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+]
changedOutput schema / properties / completed_profiles / items / enum
Previous value: -[
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
-]New value: +[
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+]
changedOutput schema / properties / current_profile / anyOf
Previous value: -[
- {
- "enum": [
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "enum": [
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+]
changedOutput schema / properties / final_review_report / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "description": "Structured synthesis stored with a review-bound orchestration session.",
- "properties": {
- "candidate_decisions": {
- "default": [],
- "description": "One host decision per submitted candidate; absent on legacy saved reports.",
- "items": {
- "additionalProperties": false,
- "description": "The host's disposition of one profile-local candidate.",
- "properties": {
- "candidate_snapshot": {
- "anyOf": [
- {
- "additionalProperties": false,
- "description": "A possible defect with evidence references; the host still decides whether it is confirmed.",
- "properties": {
- "actual_behavior": {
- "anyOf": [
- {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Source-derived result when the failure condition occurs; this is not runtime observation unless separately verified. Required for new submitted defect candidates."
- },
- "affected_area": {
- "anyOf": [
- {
- "maxLength": 256,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Affected user flow or system area, when supported by the evidence."
- },
- "candidate_id": {
- "pattern": "^F-[0-9]{2,}$",
- "type": "string"
- },
- "change_origin": {
- "default": "unknown",
- "description": "Whether the defect was introduced by the reviewed change, pre-existing, made worse by the PR, or of unknown origin.",
- "enum": [
- "introduced",
- "exacerbated_by_pr",
- "pre_existing",
- "unknown"
- ],
- "type": "string"
- },
- "confidence": {
- "enum": [
- "high",
- "medium",
- "low"
- ],
- "type": "string"
- },
- "description": {
- "maxLength": 5000,
- "minLength": 1,
- "type": "string"
- },
- "evidence_refs": {
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 32,
- "minItems": 1,
- "type": "array"
- },
- "expected_behavior": {
- "anyOf": [
- {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Expected result supported by a requirement, contract, or invariant; required for new submitted defect candidates."
- },
- "failure_condition": {
- "anyOf": [
- {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Specific preconditions that make the alleged failure occur; required for new submitted defect candidates. Optional only for legacy persisted payloads."
- },
- "flip_condition": {
- "anyOf": [
- {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Concrete source/contract evidence that would refute this candidate; required for new submitted defect candidates. Optional only for legacy persisted payloads."
- },
- "impact": {
- "anyOf": [
- {
- "maxLength": 2000,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Concrete effect on users or contracts; severity remains host-owned."
- },
- "source_locations": {
- "default": [],
- "description": "Precise source locations supporting this candidate when available.",
- "items": {
- "additionalProperties": false,
- "description": "A stable source locator for a finding candidate.",
- "properties": {
- "end_line": {
- "anyOf": [
- {
- "minimum": 1,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "path": {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- "start_line": {
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "path",
- "start_line"
- ],
- "type": "object"
- },
- "maxItems": 20,
- "type": "array"
- },
- "title": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "verification_gap": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "candidate_id",
- "title",
- "description",
- "confidence",
- "verification_gap",
- "evidence_refs"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Original profile candidate retained for rejected or unverified outcomes; new final reports must preserve it so possible bugs remain visible."
- },
- "evidence_refs": {
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 32,
- "minItems": 1,
- "type": "array"
- },
- "final_finding_id": {
- "anyOf": [
- {
- "pattern": "^F-[0-9]{2,}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "rationale": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- "refutation": {
- "anyOf": [
- {
- "additionalProperties": false,
- "description": "Host's evidence-backed assessment, not a vote or proof of another agent's execution.",
- "properties": {
- "candidate_sha256": {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- "context_sha256": {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- "evidence_refs": {
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 32,
- "minItems": 1,
- "type": "array"
- },
- "rationale": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- "status": {
- "enum": [
- "refuted",
- "not_refuted",
- "unverified"
- ],
- "type": "string"
- }
- },
- "required": [
- "context_sha256",
- "candidate_sha256",
- "status",
- "rationale",
- "evidence_refs"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "source": {
- "additionalProperties": false,
- "description": "A profile-local candidate that contributed to one synthesized finding.",
- "properties": {
- "candidate_id": {
- "pattern": "^F-[0-9]{2,}$",
- "type": "string"
- },
- "profile": {
- "enum": [
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
- ],
- "type": "string"
- }
- },
- "required": [
- "profile",
- "candidate_id"
- ],
- "type": "object"
- },
- "verdict": {
- "enum": [
- "confirmed",
- "rejected",
- "duplicate",
- "unverified"
- ],
- "type": "string"
- }
- },
- "required": [
- "source",
- "verdict",
- "rationale",
- "evidence_refs"
- ],
- "type": "object"
- },
- "maxItems": 1000,
- "type": "array"
- },
- "coverage_gaps": {
- "default": [],
- "items": {
- "additionalProperties": false,
- "properties": {
- "evidence_refs": {
- "default": [],
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 32,
- "type": "array"
- },
- "text": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "text"
- ],
- "type": "object"
- },
- "maxItems": 100,
- "type": "array"
- },
- "coverage_ledger": {
- "anyOf": [
- {
- "additionalProperties": false,
- "description": "Compact host-generated coverage facts bound to the ordered changed paths.",
- "properties": {
- "changed_path_count": {
- "maximum": 500,
- "minimum": 1,
- "type": "integer"
- },
- "changed_paths_sha256": {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- "diff_hunk_count": {
- "anyOf": [
- {
- "maximum": 500,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "diff_hunk_inventory_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "head_source_excerpt_path_indexes": {
- "default": [],
- "items": {
- "maximum": 499,
- "minimum": 0,
- "type": "integer"
- },
- "maxItems": 500,
- "type": "array"
- },
- "head_source_text_unavailable_path_indexes": {
- "default": [],
- "items": {
- "maximum": 499,
- "minimum": 0,
- "type": "integer"
- },
- "maxItems": 500,
- "type": "array"
- },
- "profiles": {
- "default": [],
- "items": {
- "additionalProperties": false,
- "description": "Host-recorded profile coverage and executor handoff status.",
- "properties": {
- "context_selection_recorded": {
- "type": "boolean"
- },
- "execution_metrics": {
- "anyOf": [
- {
- "additionalProperties": false,
- "description": "Optional host-reported timing and token counts for one completed profile.",
- "properties": {
- "attempt_count": {
- "default": 1,
- "maximum": 4,
- "minimum": 1,
- "type": "integer"
- },
- "attempts": {
- "default": [],
- "items": {
- "additionalProperties": false,
- "description": "One call's timings, usage and sanitized CLI diagnostics; no raw exception/source.",
- "properties": {
- "attempt": {
- "maximum": 4,
- "minimum": 1,
- "type": "integer"
- },
- "cached_input_tokens": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "cli_event_type": {
- "anyOf": [
- {
- "enum": [
- "error",
- "turn.failed"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "cli_exit_code": {
- "anyOf": [
- {
- "maximum": 255,
- "minimum": -255,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "cli_failure_detail": {
- "anyOf": [
- {
- "maxLength": 512,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "completed_at": {
- "format": "date-time",
- "type": "string"
- },
- "evidence_packet_bytes": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "executor_seconds": {
- "minimum": 0,
- "type": "number"
- },
- "failure_kind": {
- "anyOf": [
- {
- "enum": [
- "input_preparation",
- "cli_failure",
- "output_missing",
- "output_validation",
- "timeout",
- "cancelled",
- "executor_error"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "included_evidence_refs": {
- "default": [],
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 1000,
- "type": "array"
- },
- "included_source_paths": {
- "default": [],
- "items": {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 500,
- "type": "array"
- },
- "input_tokens": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "model_seconds": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "omitted_evidence_refs": {
- "default": [],
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 1000,
- "type": "array"
- },
- "outcome": {
- "enum": [
- "completed",
- "retryable_error",
- "timeout",
- "failed",
- "cancelled"
- ],
- "type": "string"
- },
- "output_tokens": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "preparation_seconds": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "profile": {
- "enum": [
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
- ],
- "type": "string"
- },
- "prompt_bytes": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "prompt_overhead_bytes": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "prompt_write_status": {
- "anyOf": [
- {
- "enum": [
- "prepared",
- "written"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "queue_seconds": {
- "minimum": 0,
- "type": "number"
- },
- "review_diff_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "review_head_sha": {
- "anyOf": [
- {
- "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "selected_packet_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "source_packet_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "started_at": {
- "format": "date-time",
- "type": "string"
- },
- "submitted_prompt_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "validation_seconds": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- }
- },
- "required": [
- "profile",
- "attempt",
- "outcome",
- "started_at",
- "completed_at",
- "queue_seconds",
- "executor_seconds"
- ],
- "type": "object"
- },
- "maxItems": 4,
- "type": "array"
- },
- "completed_at": {
- "format": "date-time",
- "type": "string"
- },
- "input_tokens": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "output_tokens": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "started_at": {
- "format": "date-time",
- "type": "string"
- }
- },
- "required": [
- "started_at",
- "completed_at"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Host-reported profile execution data; not independently verified by the orchestrator."
- },
- "executor_input_receipt_verified": {
- "default": false,
- "type": "boolean"
- },
- "profile": {
- "enum": [
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
- ],
- "type": "string"
- },
- "reviewed_diff_hunk_indexes": {
- "default": [],
- "items": {
- "maximum": 499,
- "minimum": 0,
- "type": "integer"
- },
- "maxItems": 500,
- "type": "array"
- },
- "reviewer_attested_path_indexes": {
- "default": [],
- "items": {
- "maximum": 499,
- "minimum": 0,
- "type": "integer"
- },
- "maxItems": 500,
- "type": "array"
- },
- "source_excerpt_included_path_indexes": {
- "default": [],
- "items": {
- "maximum": 499,
- "minimum": 0,
- "type": "integer"
- },
- "maxItems": 500,
- "type": "array"
- }
- },
- "required": [
- "profile",
- "context_selection_recorded"
- ],
- "type": "object"
- },
- "maxItems": 11,
- "type": "array"
- },
- "registered_head_source_path_indexes": {
- "default": [],
- "items": {
- "maximum": 499,
- "minimum": 0,
- "type": "integer"
- },
- "maxItems": 500,
- "type": "array"
- },
- "unreviewed_diff_hunk_indexes": {
- "default": [],
- "items": {
- "maximum": 499,
- "minimum": 0,
- "type": "integer"
- },
- "maxItems": 500,
- "type": "array"
- }
- },
- "required": [
- "changed_paths_sha256",
- "changed_path_count"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Host-generated changed-path delivery facts plus executor inspection attestations. The host replaces this field when finalizing a bound review."
- },
- "criterion_coverage": {
- "default": [],
- "items": {
- "additionalProperties": false,
- "description": "Host-authored trace from one requirement or MR claim to reviewed evidence.",
- "properties": {
- "criterion_kind": {
- "enum": [
- "requirement",
- "mr_claim"
- ],
- "type": "string"
- },
- "criterion_ref": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "expected_behavior": {
- "anyOf": [
- {
- "maxLength": 2000,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "implementation_refs": {
- "default": [],
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 32,
- "type": "array"
- },
- "outcome": {
- "enum": [
- "confirmed",
- "contradicted",
- "unverified",
- "not_applicable_to_diff"
- ],
- "type": "string"
- },
- "rationale": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- "test_refs": {
- "default": [],
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 32,
- "type": "array"
- }
- },
- "required": [
- "criterion_ref",
- "criterion_kind",
- "outcome",
- "rationale"
- ],
- "type": "object"
- },
- "maxItems": 100,
- "type": "array"
- },
- "finding_candidates": {
- "default": [],
- "items": {
- "additionalProperties": false,
- "properties": {
- "actual_behavior": {
- "anyOf": [
- {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Source-derived result when the failure condition occurs; this is not runtime observation unless separately verified. Required for new submitted defect candidates."
- },
- "affected_area": {
- "anyOf": [
- {
- "maxLength": 256,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Affected user flow or system area, when supported by the evidence."
- },
- "candidate_id": {
- "pattern": "^F-[0-9]{2,}$",
- "type": "string"
- },
- "change_origin": {
- "default": "unknown",
- "description": "Whether the defect was introduced by the reviewed change, pre-existing, made worse by the PR, or of unknown origin.",
- "enum": [
- "introduced",
- "exacerbated_by_pr",
- "pre_existing",
- "unknown"
- ],
- "type": "string"
- },
- "confidence": {
- "enum": [
- "high",
- "medium",
- "low"
- ],
- "type": "string"
- },
- "description": {
- "maxLength": 5000,
- "minLength": 1,
- "type": "string"
- },
- "evidence_refs": {
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 32,
- "minItems": 1,
- "type": "array"
- },
- "expected_behavior": {
- "anyOf": [
- {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Expected result supported by a requirement, contract, or invariant; required for new submitted defect candidates."
- },
- "failure_condition": {
- "anyOf": [
- {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Specific preconditions that make the alleged failure occur; required for new submitted defect candidates. Optional only for legacy persisted payloads."
- },
- "flip_condition": {
- "anyOf": [
- {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Concrete source/contract evidence that would refute this candidate; required for new submitted defect candidates. Optional only for legacy persisted payloads."
- },
- "impact": {
- "anyOf": [
- {
- "maxLength": 2000,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Concrete effect on users or contracts; severity remains host-owned."
- },
- "next_step": {
- "anyOf": [
- {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Targeted correction or verification step, when selected by the host."
- },
- "severity": {
- "anyOf": [
- {
- "enum": [
- "blocker",
- "high",
- "medium",
- "low"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Impact severity selected by the host for a confirmed finding."
- },
- "source_candidates": {
- "default": [],
- "description": "Required for new final reports; empty only on reports persisted before source linkage.",
- "items": {
- "additionalProperties": false,
- "description": "A profile-local candidate that contributed to one synthesized finding.",
- "properties": {
- "candidate_id": {
- "pattern": "^F-[0-9]{2,}$",
- "type": "string"
- },
- "profile": {
- "enum": [
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
- ],
- "type": "string"
- }
- },
- "required": [
- "profile",
- "candidate_id"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "source_locations": {
- "default": [],
- "description": "Precise source locations supporting this candidate when available.",
- "items": {
- "additionalProperties": false,
- "description": "A stable source locator for a finding candidate.",
- "properties": {
- "end_line": {
- "anyOf": [
- {
- "minimum": 1,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "path": {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- "start_line": {
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "path",
- "start_line"
- ],
- "type": "object"
- },
- "maxItems": 20,
- "type": "array"
- },
- "source_profiles": {
- "items": {
- "enum": [
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
- ],
- "type": "string"
- },
- "minItems": 1,
- "type": "array"
- },
- "title": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "verification_gap": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "candidate_id",
- "title",
- "description",
- "confidence",
- "verification_gap",
- "evidence_refs",
- "source_profiles"
- ],
- "type": "object"
- },
- "maxItems": 100,
- "type": "array"
- },
- "impact_coverage": {
- "anyOf": [
- {
- "additionalProperties": false,
- "description": "Disposition ledger scoped to one exact, bounded neighbor-discovery result.",
- "properties": {
- "candidates": {
- "items": {
- "additionalProperties": false,
- "description": "Host-authored decision for one candidate in a bounded impact scan.",
- "properties": {
- "candidate_id": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "disposition": {
- "enum": [
- "reviewed",
- "no_relevant_relationship",
- "unresolved",
- "not_checked"
- ],
- "type": "string"
- },
- "evidence_refs": {
- "default": [],
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 32,
- "type": "array"
- },
- "locator": {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- "rationale": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- "relation": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[a-z][a-z0-9_]*$",
- "type": "string"
- }
- },
- "required": [
- "candidate_id",
- "relation",
- "locator",
- "disposition",
- "rationale"
- ],
- "type": "object"
- },
- "maxItems": 500,
- "type": "array"
- },
- "changed_paths_sha256": {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- "discovery_method": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[a-z][a-z0-9_]*$",
- "type": "string"
- },
- "discovery_sha256": {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- "discovery_state": {
- "enum": [
- "ready",
- "partial",
- "unknown"
- ],
- "type": "string"
- },
- "discovery_version": {
- "maximum": 2147483647,
- "minimum": 1,
- "type": "integer"
- },
- "head_sha": {
- "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
- "type": "string"
- },
- "limits": {
- "items": {
- "additionalProperties": false,
- "description": "One named numeric cap applied by the recorded bounded discovery run.",
- "properties": {
- "name": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[a-z][a-z0-9_]*$",
- "type": "string"
- },
- "reached": {
- "type": "boolean"
- },
- "uninspected": {
- "type": "boolean"
- },
- "value": {
- "maximum": 2147483647,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "name",
- "value",
- "reached",
- "uninspected"
- ],
- "type": "object"
- },
- "maxItems": 64,
- "minItems": 1,
- "type": "array"
- },
- "omissions": {
- "items": {
- "additionalProperties": false,
- "description": "Count and bounded examples for one class of discovery omissions.",
- "properties": {
- "count": {
- "maximum": 2147483647,
- "minimum": 1,
- "type": "integer"
- },
- "examples": {
- "default": [],
- "items": {
- "type": "string"
- },
- "maxItems": 20,
- "type": "array"
- },
- "kind": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[a-z][a-z0-9_]*$",
- "type": "string"
- },
- "limit": {
- "anyOf": [
- {
- "maximum": 2147483647,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- }
- },
- "required": [
- "kind",
- "count"
- ],
- "type": "object"
- },
- "maxItems": 100,
- "type": "array"
- }
- },
- "required": [
- "head_sha",
- "changed_paths_sha256",
- "discovery_sha256",
- "discovery_method",
- "discovery_version",
- "discovery_state",
- "limits",
- "candidates",
- "omissions"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Host-authored dispositions for one bounded neighbor-discovery result; this does not claim exhaustive repository coverage."
- },
- "profiles_reviewed": {
- "items": {
- "enum": [
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
- ],
- "type": "string"
- },
- "minItems": 1,
- "type": "array"
- },
- "review_rules_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "scenario_coverage": {
- "default": [],
- "description": "Final evidence-backed dispositions for material behavior scenarios raised or checked by specialist profiles.",
- "items": {
- "additionalProperties": false,
- "description": "Evidence-backed outcome for one material behavior scenario in a review.",
- "properties": {
- "disposition": {
- "enum": [
- "candidate",
- "refuted",
- "unverified",
- "not_applicable_to_diff"
- ],
- "type": "string"
- },
- "evidence_refs": {
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 8,
- "minItems": 1,
- "type": "array"
- },
- "rationale": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "scenario": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "scenario",
- "disposition",
- "evidence_refs",
- "rationale"
- ],
- "type": "object"
- },
- "maxItems": 25,
- "type": "array"
- },
- "summary": {
- "maxLength": 5000,
- "minLength": 1,
- "type": "string"
- },
- "unverified": {
- "default": [],
- "items": {
- "additionalProperties": false,
- "properties": {
- "evidence_refs": {
- "default": [],
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 32,
- "type": "array"
- },
- "text": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "text"
- ],
- "type": "object"
- },
- "maxItems": 100,
- "type": "array"
- },
- "verification_records": {
- "default": [],
- "description": "Host-supplied test, CI and runtime checks bound to the reviewed head SHA.",
- "items": {
- "additionalProperties": false,
- "description": "Host-supplied test/CI/runtime result bound to the reviewed head revision.",
- "properties": {
- "artifact_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "check_type": {
- "enum": [
- "test",
- "ci",
- "runtime"
- ],
- "type": "string"
- },
- "completed_at": {
- "anyOf": [
- {
- "format": "date-time",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "environment": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "evidence_refs": {
- "default": [],
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 100,
- "type": "array"
- },
- "head_sha": {
- "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
- "type": "string"
- },
- "provenance": {
- "default": "host_reported",
- "enum": [
- "host_reported",
- "local_reproduced",
- "provider_verified"
- ],
- "type": "string"
- },
- "reason": {
- "anyOf": [
- {
- "maxLength": 2000,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "receipt": {
- "anyOf": [
- {
- "additionalProperties": false,
- "description": "Provider-neutral metadata attesting that a run response was checked.",
- "properties": {
- "conclusion": {
- "enum": [
- "passed",
- "failed",
- "skipped",
- "not_run",
- "cancelled",
- "unknown"
- ],
- "type": "string"
- },
- "head_sha": {
- "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
- "type": "string"
- },
- "run_id": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,255}$",
- "type": "string"
- },
- "scope_sha256": {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- "source_response_sha256": {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- "verified_at": {
- "format": "date-time",
- "type": "string"
- },
- "verifier_id": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[a-z][a-z0-9_.-]*$",
- "type": "string"
- }
- },
- "required": [
- "verifier_id",
- "run_id",
- "head_sha",
- "conclusion",
- "scope_sha256",
- "source_response_sha256",
- "verified_at"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "run_id": {
- "anyOf": [
- {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,255}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "run_url": {
- "anyOf": [
- {
- "maxLength": 2048,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "scenario": {
- "maxLength": 1000,
- "minLength": 1,
- "type": "string"
- },
- "scope": {
- "anyOf": [
- {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "scope_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "source": {
- "enum": [
- "host",
- "local_runner",
- "ci_provider",
- "runtime_system"
- ],
- "type": "string"
- },
- "source_ref": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "started_at": {
- "anyOf": [
- {
- "format": "date-time",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "status": {
- "enum": [
- "passed",
- "failed",
- "skipped",
- "not_run",
- "cancelled",
- "unknown"
- ],
- "type": "string"
- },
- "verification_id": {
- "pattern": "^V-[0-9]{2,}$",
- "type": "string"
- }
- },
- "required": [
- "verification_id",
- "check_type",
- "scenario",
- "status",
- "head_sha",
- "environment",
- "source",
- "source_ref"
- ],
- "type": "object"
- },
- "maxItems": 250,
- "type": "array"
- }
- },
- "required": [
- "summary",
- "profiles_reviewed"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "description": "Structured synthesis stored with a review-bound orchestration session.",
+ "properties": {
+ "candidate_decisions": {
+ "default": [],
+ "description": "One host decision per submitted candidate; absent on legacy saved reports.",
+ "items": {
+ "additionalProperties": false,
+ "description": "The host's disposition of one profile-local candidate.",
+ "properties": {
+ "candidate_snapshot": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "description": "A possible defect with evidence references; the host still decides whether it is confirmed.",
+ "properties": {
+ "actual_behavior": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Source-derived result when the failure condition occurs; this is not runtime observation unless separately verified. Required for new submitted defect candidates."
+ },
+ "affected_area": {
+ "anyOf": [
+ {
+ "maxLength": 256,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Affected user flow or system area, when supported by the evidence."
+ },
+ "candidate_id": {
+ "pattern": "^F-[0-9]{2,}$",
+ "type": "string"
+ },
+ "change_origin": {
+ "default": "unknown",
+ "description": "Whether the defect was introduced by the reviewed change, pre-existing, made worse by the PR, or of unknown origin.",
+ "enum": [
+ "introduced",
+ "exacerbated_by_pr",
+ "pre_existing",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "confidence": {
+ "enum": [
+ "high",
+ "medium",
+ "low"
+ ],
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 5000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "evidence_refs": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "expected_behavior": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Expected result supported by a requirement, contract, or invariant; required for new submitted defect candidates."
+ },
+ "failure_condition": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Specific preconditions that make the alleged failure occur; required for new submitted defect candidates. Optional only for legacy persisted payloads."
+ },
+ "flip_condition": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Concrete source/contract evidence that would refute this candidate; required for new submitted defect candidates. Optional only for legacy persisted payloads."
+ },
+ "impact": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Concrete effect on users or contracts; severity remains host-owned."
+ },
+ "source_locations": {
+ "default": [],
+ "description": "Precise source locations supporting this candidate when available.",
+ "items": {
+ "additionalProperties": false,
+ "description": "A stable source locator for a finding candidate.",
+ "properties": {
+ "end_line": {
+ "anyOf": [
+ {
+ "minimum": 1,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "path": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "type": "string"
+ },
+ "start_line": {
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "path",
+ "start_line"
+ ],
+ "type": "object"
+ },
+ "maxItems": 20,
+ "type": "array"
+ },
+ "title": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "verification_gap": {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "candidate_id",
+ "title",
+ "description",
+ "confidence",
+ "verification_gap",
+ "evidence_refs"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Original profile candidate retained for rejected or unverified outcomes; new final reports must preserve it so possible bugs remain visible."
+ },
+ "evidence_refs": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "final_finding_id": {
+ "anyOf": [
+ {
+ "pattern": "^F-[0-9]{2,}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "rationale": {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "refutation": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "description": "Host's evidence-backed assessment, not a vote or proof of another agent's execution.",
+ "properties": {
+ "candidate_sha256": {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "context_sha256": {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "evidence_refs": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "rationale": {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "refuted",
+ "not_refuted",
+ "unverified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "context_sha256",
+ "candidate_sha256",
+ "status",
+ "rationale",
+ "evidence_refs"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "source": {
+ "additionalProperties": false,
+ "description": "A profile-local candidate that contributed to one synthesized finding.",
+ "properties": {
+ "candidate_id": {
+ "pattern": "^F-[0-9]{2,}$",
+ "type": "string"
+ },
+ "profile": {
+ "enum": [
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "profile",
+ "candidate_id"
+ ],
+ "type": "object"
+ },
+ "verdict": {
+ "enum": [
+ "confirmed",
+ "rejected",
+ "duplicate",
+ "unverified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "verdict",
+ "rationale",
+ "evidence_refs"
+ ],
+ "type": "object"
+ },
+ "maxItems": 1000,
+ "type": "array"
+ },
+ "coverage_gaps": {
+ "default": [],
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "evidence_refs": {
+ "default": [],
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "type": "array"
+ },
+ "text": {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "text"
+ ],
+ "type": "object"
+ },
+ "maxItems": 100,
+ "type": "array"
+ },
+ "coverage_ledger": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "description": "Compact host-generated coverage facts bound to the ordered changed paths.",
+ "properties": {
+ "changed_path_count": {
+ "maximum": 500,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "changed_paths_sha256": {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "diff_hunk_count": {
+ "anyOf": [
+ {
+ "maximum": 500,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "diff_hunk_inventory_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "head_source_excerpt_path_indexes": {
+ "default": [],
+ "items": {
+ "maximum": 499,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maxItems": 500,
+ "type": "array"
+ },
+ "head_source_text_unavailable_path_indexes": {
+ "default": [],
+ "items": {
+ "maximum": 499,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maxItems": 500,
+ "type": "array"
+ },
+ "profiles": {
+ "default": [],
+ "items": {
+ "additionalProperties": false,
+ "description": "Host-recorded profile coverage and executor handoff status.",
+ "properties": {
+ "context_selection_recorded": {
+ "type": "boolean"
+ },
+ "execution_metrics": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "description": "Optional host-reported timing and token counts for one completed profile.",
+ "properties": {
+ "attempt_count": {
+ "default": 1,
+ "maximum": 4,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "attempts": {
+ "default": [],
+ "items": {
+ "additionalProperties": false,
+ "description": "One call's timings, usage and sanitized CLI diagnostics; no raw exception/source.",
+ "properties": {
+ "attempt": {
+ "maximum": 4,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "cached_input_tokens": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "cli_event_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "error",
+ "turn.failed"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "cli_exit_code": {
+ "anyOf": [
+ {
+ "maximum": 255,
+ "minimum": -255,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "cli_failure_detail": {
+ "anyOf": [
+ {
+ "maxLength": 512,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "completed_at": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "evidence_packet_bytes": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "executor_seconds": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "failure_kind": {
+ "anyOf": [
+ {
+ "enum": [
+ "input_preparation",
+ "cli_failure",
+ "output_missing",
+ "output_validation",
+ "timeout",
+ "cancelled",
+ "executor_error"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "included_evidence_refs": {
+ "default": [],
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 1000,
+ "type": "array"
+ },
+ "included_source_paths": {
+ "default": [],
+ "items": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 500,
+ "type": "array"
+ },
+ "input_tokens": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "model_seconds": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "omitted_evidence_refs": {
+ "default": [],
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 1000,
+ "type": "array"
+ },
+ "outcome": {
+ "enum": [
+ "completed",
+ "retryable_error",
+ "timeout",
+ "failed",
+ "cancelled"
+ ],
+ "type": "string"
+ },
+ "output_tokens": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "preparation_seconds": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "profile": {
+ "enum": [
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+ ],
+ "type": "string"
+ },
+ "prompt_bytes": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "prompt_overhead_bytes": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "prompt_write_status": {
+ "anyOf": [
+ {
+ "enum": [
+ "prepared",
+ "written"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "queue_seconds": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "review_diff_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "review_head_sha": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "selected_packet_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "source_packet_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "started_at": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "submitted_prompt_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "validation_seconds": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "profile",
+ "attempt",
+ "outcome",
+ "started_at",
+ "completed_at",
+ "queue_seconds",
+ "executor_seconds"
+ ],
+ "type": "object"
+ },
+ "maxItems": 4,
+ "type": "array"
+ },
+ "completed_at": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "input_tokens": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "output_tokens": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "started_at": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "required": [
+ "started_at",
+ "completed_at"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Host-reported profile execution data; not independently verified by the orchestrator."
+ },
+ "executor_input_receipt_verified": {
+ "default": false,
+ "type": "boolean"
+ },
+ "profile": {
+ "enum": [
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+ ],
+ "type": "string"
+ },
+ "reviewed_diff_hunk_indexes": {
+ "default": [],
+ "items": {
+ "maximum": 499,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maxItems": 500,
+ "type": "array"
+ },
+ "reviewer_attested_path_indexes": {
+ "default": [],
+ "items": {
+ "maximum": 499,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maxItems": 500,
+ "type": "array"
+ },
+ "source_excerpt_included_path_indexes": {
+ "default": [],
+ "items": {
+ "maximum": 499,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maxItems": 500,
+ "type": "array"
+ }
+ },
+ "required": [
+ "profile",
+ "context_selection_recorded"
+ ],
+ "type": "object"
+ },
+ "maxItems": 11,
+ "type": "array"
+ },
+ "registered_head_source_path_indexes": {
+ "default": [],
+ "items": {
+ "maximum": 499,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maxItems": 500,
+ "type": "array"
+ },
+ "unreviewed_diff_hunk_indexes": {
+ "default": [],
+ "items": {
+ "maximum": 499,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maxItems": 500,
+ "type": "array"
+ }
+ },
+ "required": [
+ "changed_paths_sha256",
+ "changed_path_count"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Host-generated changed-path delivery facts plus executor inspection attestations. The host replaces this field when finalizing a bound review."
+ },
+ "criterion_coverage": {
+ "default": [],
+ "items": {
+ "additionalProperties": false,
+ "description": "Host-authored trace from one requirement or MR claim to reviewed evidence.",
+ "properties": {
+ "criterion_kind": {
+ "enum": [
+ "requirement",
+ "mr_claim"
+ ],
+ "type": "string"
+ },
+ "criterion_ref": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "expected_behavior": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "implementation_refs": {
+ "default": [],
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "type": "array"
+ },
+ "outcome": {
+ "enum": [
+ "confirmed",
+ "contradicted",
+ "unverified",
+ "not_applicable_to_diff"
+ ],
+ "type": "string"
+ },
+ "rationale": {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "test_refs": {
+ "default": [],
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "type": "array"
+ }
+ },
+ "required": [
+ "criterion_ref",
+ "criterion_kind",
+ "outcome",
+ "rationale"
+ ],
+ "type": "object"
+ },
+ "maxItems": 100,
+ "type": "array"
+ },
+ "finding_candidates": {
+ "default": [],
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "actual_behavior": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Source-derived result when the failure condition occurs; this is not runtime observation unless separately verified. Required for new submitted defect candidates."
+ },
+ "affected_area": {
+ "anyOf": [
+ {
+ "maxLength": 256,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Affected user flow or system area, when supported by the evidence."
+ },
+ "candidate_id": {
+ "pattern": "^F-[0-9]{2,}$",
+ "type": "string"
+ },
+ "change_origin": {
+ "default": "unknown",
+ "description": "Whether the defect was introduced by the reviewed change, pre-existing, made worse by the PR, or of unknown origin.",
+ "enum": [
+ "introduced",
+ "exacerbated_by_pr",
+ "pre_existing",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "confidence": {
+ "enum": [
+ "high",
+ "medium",
+ "low"
+ ],
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 5000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "evidence_refs": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "expected_behavior": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Expected result supported by a requirement, contract, or invariant; required for new submitted defect candidates."
+ },
+ "failure_condition": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Specific preconditions that make the alleged failure occur; required for new submitted defect candidates. Optional only for legacy persisted payloads."
+ },
+ "flip_condition": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Concrete source/contract evidence that would refute this candidate; required for new submitted defect candidates. Optional only for legacy persisted payloads."
+ },
+ "impact": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Concrete effect on users or contracts; severity remains host-owned."
+ },
+ "next_step": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Targeted correction or verification step, when selected by the host."
+ },
+ "severity": {
+ "anyOf": [
+ {
+ "enum": [
+ "blocker",
+ "high",
+ "medium",
+ "low"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Impact severity selected by the host for a confirmed finding."
+ },
+ "source_candidates": {
+ "default": [],
+ "description": "Required for new final reports; empty only on reports persisted before source linkage.",
+ "items": {
+ "additionalProperties": false,
+ "description": "A profile-local candidate that contributed to one synthesized finding.",
+ "properties": {
+ "candidate_id": {
+ "pattern": "^F-[0-9]{2,}$",
+ "type": "string"
+ },
+ "profile": {
+ "enum": [
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "profile",
+ "candidate_id"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "source_locations": {
+ "default": [],
+ "description": "Precise source locations supporting this candidate when available.",
+ "items": {
+ "additionalProperties": false,
+ "description": "A stable source locator for a finding candidate.",
+ "properties": {
+ "end_line": {
+ "anyOf": [
+ {
+ "minimum": 1,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "path": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "type": "string"
+ },
+ "start_line": {
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "path",
+ "start_line"
+ ],
+ "type": "object"
+ },
+ "maxItems": 20,
+ "type": "array"
+ },
+ "source_profiles": {
+ "items": {
+ "enum": [
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+ ],
+ "type": "string"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "title": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "verification_gap": {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "candidate_id",
+ "title",
+ "description",
+ "confidence",
+ "verification_gap",
+ "evidence_refs",
+ "source_profiles"
+ ],
+ "type": "object"
+ },
+ "maxItems": 100,
+ "type": "array"
+ },
+ "impact_coverage": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "description": "Disposition ledger scoped to one exact, bounded neighbor-discovery result.",
+ "properties": {
+ "candidates": {
+ "items": {
+ "additionalProperties": false,
+ "description": "Host-authored decision for one candidate in a bounded impact scan.",
+ "properties": {
+ "candidate_id": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "disposition": {
+ "enum": [
+ "reviewed",
+ "no_relevant_relationship",
+ "unresolved",
+ "not_checked"
+ ],
+ "type": "string"
+ },
+ "evidence_refs": {
+ "default": [],
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "type": "array"
+ },
+ "locator": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "type": "string"
+ },
+ "rationale": {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "relation": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[a-z][a-z0-9_]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "candidate_id",
+ "relation",
+ "locator",
+ "disposition",
+ "rationale"
+ ],
+ "type": "object"
+ },
+ "maxItems": 500,
+ "type": "array"
+ },
+ "changed_paths_sha256": {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "discovery_method": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[a-z][a-z0-9_]*$",
+ "type": "string"
+ },
+ "discovery_sha256": {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "discovery_state": {
+ "enum": [
+ "ready",
+ "partial",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "discovery_version": {
+ "maximum": 2147483647,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "head_sha": {
+ "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
+ "type": "string"
+ },
+ "limits": {
+ "items": {
+ "additionalProperties": false,
+ "description": "One named numeric cap applied by the recorded bounded discovery run.",
+ "properties": {
+ "name": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[a-z][a-z0-9_]*$",
+ "type": "string"
+ },
+ "reached": {
+ "type": "boolean"
+ },
+ "uninspected": {
+ "type": "boolean"
+ },
+ "value": {
+ "maximum": 2147483647,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "name",
+ "value",
+ "reached",
+ "uninspected"
+ ],
+ "type": "object"
+ },
+ "maxItems": 64,
+ "minItems": 1,
+ "type": "array"
+ },
+ "omissions": {
+ "items": {
+ "additionalProperties": false,
+ "description": "Count and bounded examples for one class of discovery omissions.",
+ "properties": {
+ "count": {
+ "maximum": 2147483647,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "examples": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 20,
+ "type": "array"
+ },
+ "kind": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[a-z][a-z0-9_]*$",
+ "type": "string"
+ },
+ "limit": {
+ "anyOf": [
+ {
+ "maximum": 2147483647,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "kind",
+ "count"
+ ],
+ "type": "object"
+ },
+ "maxItems": 100,
+ "type": "array"
+ }
+ },
+ "required": [
+ "head_sha",
+ "changed_paths_sha256",
+ "discovery_sha256",
+ "discovery_method",
+ "discovery_version",
+ "discovery_state",
+ "limits",
+ "candidates",
+ "omissions"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Host-authored dispositions for one bounded neighbor-discovery result; this does not claim exhaustive repository coverage."
+ },
+ "profiles_reviewed": {
+ "items": {
+ "enum": [
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+ ],
+ "type": "string"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "review_rules_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "scenario_coverage": {
+ "default": [],
+ "description": "Final evidence-backed dispositions for material behavior scenarios raised or checked by specialist profiles.",
+ "items": {
+ "additionalProperties": false,
+ "description": "Evidence-backed outcome for one material behavior scenario in a review.",
+ "properties": {
+ "disposition": {
+ "enum": [
+ "candidate",
+ "refuted",
+ "unverified",
+ "not_applicable_to_diff"
+ ],
+ "type": "string"
+ },
+ "evidence_refs": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 8,
+ "minItems": 1,
+ "type": "array"
+ },
+ "rationale": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "scenario": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "scenario",
+ "disposition",
+ "evidence_refs",
+ "rationale"
+ ],
+ "type": "object"
+ },
+ "maxItems": 25,
+ "type": "array"
+ },
+ "summary": {
+ "maxLength": 5000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "unverified": {
+ "default": [],
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "evidence_refs": {
+ "default": [],
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "type": "array"
+ },
+ "text": {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "text"
+ ],
+ "type": "object"
+ },
+ "maxItems": 100,
+ "type": "array"
+ },
+ "verification_records": {
+ "default": [],
+ "description": "Host-supplied test, CI and runtime checks bound to the reviewed head SHA.",
+ "items": {
+ "additionalProperties": false,
+ "description": "Host-supplied test/CI/runtime result bound to the reviewed head revision.",
+ "properties": {
+ "artifact_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "check_type": {
+ "enum": [
+ "test",
+ "ci",
+ "runtime"
+ ],
+ "type": "string"
+ },
+ "completed_at": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "environment": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "evidence_refs": {
+ "default": [],
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 100,
+ "type": "array"
+ },
+ "head_sha": {
+ "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
+ "type": "string"
+ },
+ "provenance": {
+ "default": "host_reported",
+ "enum": [
+ "host_reported",
+ "local_reproduced",
+ "provider_verified"
+ ],
+ "type": "string"
+ },
+ "reason": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "receipt": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "description": "Provider-neutral metadata attesting that a run response was checked.",
+ "properties": {
+ "conclusion": {
+ "enum": [
+ "passed",
+ "failed",
+ "skipped",
+ "not_run",
+ "cancelled",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "head_sha": {
+ "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
+ "type": "string"
+ },
+ "run_id": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,255}$",
+ "type": "string"
+ },
+ "scope_sha256": {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "source_response_sha256": {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "verified_at": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "verifier_id": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[a-z][a-z0-9_.-]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "verifier_id",
+ "run_id",
+ "head_sha",
+ "conclusion",
+ "scope_sha256",
+ "source_response_sha256",
+ "verified_at"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "run_id": {
+ "anyOf": [
+ {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,255}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "run_url": {
+ "anyOf": [
+ {
+ "maxLength": 2048,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "scenario": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "scope": {
+ "anyOf": [
+ {
+ "maxLength": 2048,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "scope_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "source": {
+ "enum": [
+ "host",
+ "local_runner",
+ "ci_provider",
+ "runtime_system"
+ ],
+ "type": "string"
+ },
+ "source_ref": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "type": "string"
+ },
+ "started_at": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "status": {
+ "enum": [
+ "passed",
+ "failed",
+ "skipped",
+ "not_run",
+ "cancelled",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "verification_id": {
+ "pattern": "^V-[0-9]{2,}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "verification_id",
+ "check_type",
+ "scenario",
+ "status",
+ "head_sha",
+ "environment",
+ "source",
+ "source_ref"
+ ],
+ "type": "object"
+ },
+ "maxItems": 250,
+ "type": "array"
+ }
+ },
+ "required": [
+ "summary",
+ "profiles_reviewed"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]
changedOutput schema / properties / profile_reports / items / properties / execution_metrics / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "description": "Optional host-reported timing and token counts for one completed profile.",
- "properties": {
- "attempt_count": {
- "default": 1,
- "maximum": 4,
- "minimum": 1,
- "type": "integer"
- },
- "attempts": {
- "default": [],
- "items": {
- "additionalProperties": false,
- "description": "One call's timings, usage and sanitized CLI diagnostics; no raw exception/source.",
- "properties": {
- "attempt": {
- "maximum": 4,
- "minimum": 1,
- "type": "integer"
- },
- "cached_input_tokens": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "cli_event_type": {
- "anyOf": [
- {
- "enum": [
- "error",
- "turn.failed"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "cli_exit_code": {
- "anyOf": [
- {
- "maximum": 255,
- "minimum": -255,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "cli_failure_detail": {
- "anyOf": [
- {
- "maxLength": 512,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "completed_at": {
- "format": "date-time",
- "type": "string"
- },
- "evidence_packet_bytes": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "executor_seconds": {
- "minimum": 0,
- "type": "number"
- },
- "failure_kind": {
- "anyOf": [
- {
- "enum": [
- "input_preparation",
- "cli_failure",
- "output_missing",
- "output_validation",
- "timeout",
- "cancelled",
- "executor_error"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "included_evidence_refs": {
- "default": [],
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 1000,
- "type": "array"
- },
- "included_source_paths": {
- "default": [],
- "items": {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 500,
- "type": "array"
- },
- "input_tokens": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "model_seconds": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "omitted_evidence_refs": {
- "default": [],
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 1000,
- "type": "array"
- },
- "outcome": {
- "enum": [
- "completed",
- "retryable_error",
- "timeout",
- "failed",
- "cancelled"
- ],
- "type": "string"
- },
- "output_tokens": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "preparation_seconds": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "profile": {
- "enum": [
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
- ],
- "type": "string"
- },
- "prompt_bytes": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "prompt_overhead_bytes": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "prompt_write_status": {
- "anyOf": [
- {
- "enum": [
- "prepared",
- "written"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "queue_seconds": {
- "minimum": 0,
- "type": "number"
- },
- "review_diff_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "review_head_sha": {
- "anyOf": [
- {
- "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "selected_packet_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "source_packet_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "started_at": {
- "format": "date-time",
- "type": "string"
- },
- "submitted_prompt_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "validation_seconds": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- }
- },
- "required": [
- "profile",
- "attempt",
- "outcome",
- "started_at",
- "completed_at",
- "queue_seconds",
- "executor_seconds"
- ],
- "type": "object"
- },
- "maxItems": 4,
- "type": "array"
- },
- "completed_at": {
- "format": "date-time",
- "type": "string"
- },
- "input_tokens": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "output_tokens": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "started_at": {
- "format": "date-time",
- "type": "string"
- }
- },
- "required": [
- "started_at",
- "completed_at"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "description": "Optional host-reported timing and token counts for one completed profile.",
+ "properties": {
+ "attempt_count": {
+ "default": 1,
+ "maximum": 4,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "attempts": {
+ "default": [],
+ "items": {
+ "additionalProperties": false,
+ "description": "One call's timings, usage and sanitized CLI diagnostics; no raw exception/source.",
+ "properties": {
+ "attempt": {
+ "maximum": 4,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "cached_input_tokens": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "cli_event_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "error",
+ "turn.failed"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "cli_exit_code": {
+ "anyOf": [
+ {
+ "maximum": 255,
+ "minimum": -255,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "cli_failure_detail": {
+ "anyOf": [
+ {
+ "maxLength": 512,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "completed_at": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "evidence_packet_bytes": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "executor_seconds": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "failure_kind": {
+ "anyOf": [
+ {
+ "enum": [
+ "input_preparation",
+ "cli_failure",
+ "output_missing",
+ "output_validation",
+ "timeout",
+ "cancelled",
+ "executor_error"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "included_evidence_refs": {
+ "default": [],
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 1000,
+ "type": "array"
+ },
+ "included_source_paths": {
+ "default": [],
+ "items": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 500,
+ "type": "array"
+ },
+ "input_tokens": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "model_seconds": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "omitted_evidence_refs": {
+ "default": [],
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 1000,
+ "type": "array"
+ },
+ "outcome": {
+ "enum": [
+ "completed",
+ "retryable_error",
+ "timeout",
+ "failed",
+ "cancelled"
+ ],
+ "type": "string"
+ },
+ "output_tokens": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "preparation_seconds": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "profile": {
+ "enum": [
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+ ],
+ "type": "string"
+ },
+ "prompt_bytes": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "prompt_overhead_bytes": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "prompt_write_status": {
+ "anyOf": [
+ {
+ "enum": [
+ "prepared",
+ "written"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "queue_seconds": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "review_diff_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "review_head_sha": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "selected_packet_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "source_packet_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "started_at": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "submitted_prompt_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "validation_seconds": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "profile",
+ "attempt",
+ "outcome",
+ "started_at",
+ "completed_at",
+ "queue_seconds",
+ "executor_seconds"
+ ],
+ "type": "object"
+ },
+ "maxItems": 4,
+ "type": "array"
+ },
+ "completed_at": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "input_tokens": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "output_tokens": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "started_at": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "required": [
+ "started_at",
+ "completed_at"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]
changedOutput schema / properties / profile_reports / items / properties / profile / enum
Previous value: -[
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
-]New value: +[
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+]
removedOutput schema / properties / profile_reports / items / properties / targeted_scenario_audit
Removed value: -{
- "default": [],
- "description": "Prior queued scenario dispositions, only for the omission auditor.",
- "items": {
- "additionalProperties": false,
- "description": "Evidence-backed outcome for one material behavior scenario in a review.",
- "properties": {
- "disposition": {
- "enum": [
- "candidate",
- "refuted",
- "unverified",
- "not_applicable_to_diff"
- ],
- "type": "string"
- },
- "evidence_refs": {
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 8,
- "minItems": 1,
- "type": "array"
- },
- "rationale": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "scenario": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "scenario",
- "disposition",
- "evidence_refs",
- "rationale"
- ],
- "type": "object"
- },
- "maxItems": 25,
- "type": "array"
-}
changedOutput schema / properties / recommended_profiles / items / enum
Previous value: -[
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
-]New value: +[
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+]
changedOutput schema / properties / review_context / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "description": "Immutable identifiers for the exact source and evidence packet reviewed.",
- "properties": {
- "base_sha": {
- "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
- "type": "string"
- },
- "changed_files": {
- "items": {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 500,
- "minItems": 1,
- "type": "array"
- },
- "diff_hunk_inventory_count_at_least": {
- "anyOf": [
- {
- "maximum": 501,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "diff_hunk_inventory_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "diff_hunk_inventory_status": {
- "anyOf": [
- {
- "enum": [
- "complete",
- "partial"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "diff_hunks": {
- "default": [],
- "items": {
- "additionalProperties": false,
- "description": "One unified-diff hunk, indexed in the exact bound diff order.",
- "properties": {
- "changed_path_index": {
- "maximum": 499,
- "minimum": 0,
- "type": "integer"
- },
- "header": {
- "maxLength": 128,
- "minLength": 10,
- "pattern": "^@@ -[0-9]+(?:,[0-9]+)? \\+[0-9]+(?:,[0-9]+)? @@$",
- "type": "string"
- },
- "index": {
- "maximum": 499,
- "minimum": 0,
- "type": "integer"
- },
- "new_count": {
- "minimum": 0,
- "type": "integer"
- },
- "new_start": {
- "minimum": 0,
- "type": "integer"
- },
- "old_count": {
- "minimum": 0,
- "type": "integer"
- },
- "old_start": {
- "minimum": 0,
- "type": "integer"
- },
- "sha256": {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- }
- },
- "required": [
- "index",
- "changed_path_index",
- "old_start",
- "old_count",
- "new_start",
- "new_count",
- "header",
- "sha256"
- ],
- "type": "object"
- },
- "maxItems": 500,
- "type": "array"
- },
- "diff_sha256": {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- "evidence_packet_sha256": {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- "evidence_refs": {
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 1000,
- "minItems": 1,
- "type": "array"
- },
- "evidence_registry": {
- "default": [],
- "description": "Optional complete ref-to-source registry with revision, coordinates and hashes.",
- "items": {
- "additionalProperties": false,
- "description": "Metadata for one evidence item; raw content remains with the host.",
- "properties": {
- "end_line": {
- "anyOf": [
- {
- "minimum": 1,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "evidence_ref": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "kind": {
- "enum": [
- "source",
- "diff",
- "requirement",
- "claim",
- "runtime",
- "other"
- ],
- "type": "string"
- },
- "locator": {
- "anyOf": [
- {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "path": {
- "anyOf": [
- {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "revision": {
- "anyOf": [
- {
- "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "sha256": {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- "source_text_available": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "start_line": {
- "anyOf": [
- {
- "minimum": 1,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- }
- },
- "required": [
- "evidence_ref",
- "kind",
- "sha256"
- ],
- "type": "object"
- },
- "maxItems": 1000,
- "type": "array"
- },
- "head_sha": {
- "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
- "type": "string"
- },
- "input_manifest": {
- "anyOf": [
- {
- "additionalProperties": false,
- "description": "Bounded metadata-only inventory of sources declared for a review.",
- "properties": {
- "schema_version": {
- "default": 1,
- "enum": [
- 1,
- 2
- ],
- "type": "integer"
- },
- "source_conflict_status": {
- "anyOf": [
- {
- "enum": [
- "clear",
- "resolved",
- "unresolved",
- "unknown"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "source_conflicts": {
- "default": [],
- "items": {
- "additionalProperties": false,
- "description": "Concise host-recorded conflict between declared review sources.",
- "properties": {
- "conflict_id": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "criterion_refs": {
- "default": [],
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 100,
- "type": "array"
- },
- "disposition": {
- "enum": [
- "resolved",
- "unresolved"
- ],
- "type": "string"
- },
- "resolution_source_id": {
- "anyOf": [
- {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "resolution_summary": {
- "anyOf": [
- {
- "maxLength": 1000,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "source_ids": {
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 10,
- "minItems": 2,
- "type": "array"
- },
- "summary": {
- "maxLength": 1000,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "conflict_id",
- "source_ids",
- "disposition",
- "summary"
- ],
- "type": "object"
- },
- "maxItems": 100,
- "type": "array"
- },
- "source_inventory_status": {
- "anyOf": [
- {
- "enum": [
- "complete",
- "partial",
- "unknown"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "sources": {
- "default": [],
- "items": {
- "additionalProperties": false,
- "description": "Host-authored metadata about one declared source for a review.",
- "properties": {
- "criterion_refs": {
- "default": [],
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- },
- "maxItems": 500,
- "type": "array"
- },
- "extraction_status": {
- "default": "unknown",
- "enum": [
- "complete",
- "partial",
- "failed",
- "unknown"
- ],
- "type": "string"
- },
- "kind": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[a-z][a-z0-9_]*$",
- "type": "string"
- },
- "locator": {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- "pagination_status": {
- "default": "unknown",
- "enum": [
- "complete",
- "incomplete",
- "not_applicable",
- "unknown"
- ],
- "type": "string"
- },
- "required": {
- "type": "boolean"
- },
- "retrieval_status": {
- "default": "unknown",
- "enum": [
- "complete",
- "partial",
- "failed",
- "unknown"
- ],
- "type": "string"
- },
- "snapshot_revision": {
- "anyOf": [
- {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "snapshot_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "source_id": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
- "type": "string"
- }
- },
- "required": [
- "source_id",
- "kind",
- "locator",
- "required"
- ],
- "type": "object"
- },
- "maxItems": 100,
- "type": "array"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "neighbor_discovery_candidate_count": {
- "anyOf": [
- {
- "maximum": 200,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "neighbor_discovery_candidate_results_omitted_by_limit": {
- "anyOf": [
- {
- "maximum": 1000,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "neighbor_discovery_candidate_set_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "neighbor_discovery_omissions_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "neighbor_discovery_sha256": {
- "anyOf": [
- {
- "pattern": "(?i)^[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- },
- "repository": {
- "maxLength": 512,
- "minLength": 1,
- "type": "string"
- },
- "review_rules": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "rules": {
- "default": [],
- "items": {
- "additionalProperties": false,
- "properties": {
- "condition": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "enum": [
- "raise",
- "guard"
- ],
- "type": "string"
- },
- "paths": {
- "items": {
- "type": "string"
- },
- "maxItems": 32,
- "minItems": 1,
- "type": "array"
- },
- "rationale": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- "rule_id": {
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$",
- "type": "string"
- },
- "text": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "rule_id",
- "kind",
- "paths",
- "condition",
- "text",
- "rationale"
- ],
- "type": "object"
- },
- "maxItems": 100,
- "type": "array"
- },
- "schema_version": {
- "const": 1,
- "default": 1,
- "type": "integer"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null
- }
- },
- "required": [
- "repository",
- "base_sha",
- "head_sha",
- "diff_sha256",
- "evidence_packet_sha256",
- "changed_files",
- "evidence_refs"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "description": "Immutable identifiers for the exact source and evidence packet reviewed.",
+ "properties": {
+ "base_sha": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "changed_files": {
+ "items": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 500,
+ "minItems": 1,
+ "type": "array"
+ },
+ "current_merge_request_source_id": {
+ "anyOf": [
+ {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "diff_hunk_inventory_count_at_least": {
+ "anyOf": [
+ {
+ "maximum": 501,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "diff_hunk_inventory_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "diff_hunk_inventory_status": {
+ "anyOf": [
+ {
+ "enum": [
+ "complete",
+ "partial"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "diff_hunks": {
+ "default": [],
+ "items": {
+ "additionalProperties": false,
+ "description": "One unified-diff hunk, indexed in the exact bound diff order.",
+ "properties": {
+ "changed_path_index": {
+ "maximum": 499,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "header": {
+ "maxLength": 128,
+ "minLength": 10,
+ "pattern": "^@@ -[0-9]+(?:,[0-9]+)? \\+[0-9]+(?:,[0-9]+)? @@$",
+ "type": "string"
+ },
+ "index": {
+ "maximum": 499,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "new_count": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "new_start": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "old_count": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "old_start": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "sha256": {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "index",
+ "changed_path_index",
+ "old_start",
+ "old_count",
+ "new_start",
+ "new_count",
+ "header",
+ "sha256"
+ ],
+ "type": "object"
+ },
+ "maxItems": 500,
+ "type": "array"
+ },
+ "diff_sha256": {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "evidence_packet_sha256": {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "evidence_refs": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 1000,
+ "minItems": 1,
+ "type": "array"
+ },
+ "evidence_registry": {
+ "default": [],
+ "description": "Optional complete ref-to-source registry with revision, coordinates and hashes.",
+ "items": {
+ "additionalProperties": false,
+ "description": "Metadata for one evidence item; raw content remains with the host.",
+ "properties": {
+ "end_line": {
+ "anyOf": [
+ {
+ "minimum": 1,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "evidence_ref": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "kind": {
+ "enum": [
+ "source",
+ "diff",
+ "requirement",
+ "claim",
+ "runtime",
+ "prior_review",
+ "other"
+ ],
+ "type": "string"
+ },
+ "locator": {
+ "anyOf": [
+ {
+ "maxLength": 1024,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "path": {
+ "anyOf": [
+ {
+ "maxLength": 1024,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "revision": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "sha256": {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "source_text_available": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "start_line": {
+ "anyOf": [
+ {
+ "minimum": 1,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "evidence_ref",
+ "kind",
+ "sha256"
+ ],
+ "type": "object"
+ },
+ "maxItems": 1000,
+ "type": "array"
+ },
+ "head_sha": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "input_kind": {
+ "default": "git",
+ "enum": [
+ "git",
+ "diff"
+ ],
+ "type": "string"
+ },
+ "input_manifest": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "description": "Bounded metadata-only inventory of sources declared for a review.",
+ "properties": {
+ "schema_version": {
+ "default": 1,
+ "enum": [
+ 1,
+ 2
+ ],
+ "type": "integer"
+ },
+ "source_conflict_status": {
+ "anyOf": [
+ {
+ "enum": [
+ "clear",
+ "resolved",
+ "unresolved",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "source_conflicts": {
+ "default": [],
+ "items": {
+ "additionalProperties": false,
+ "description": "Concise host-recorded conflict between declared review sources.",
+ "properties": {
+ "conflict_id": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "criterion_refs": {
+ "default": [],
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 100,
+ "type": "array"
+ },
+ "disposition": {
+ "enum": [
+ "resolved",
+ "unresolved"
+ ],
+ "type": "string"
+ },
+ "resolution_source_id": {
+ "anyOf": [
+ {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "resolution_summary": {
+ "anyOf": [
+ {
+ "maxLength": 1000,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "source_ids": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 10,
+ "minItems": 2,
+ "type": "array"
+ },
+ "summary": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "conflict_id",
+ "source_ids",
+ "disposition",
+ "summary"
+ ],
+ "type": "object"
+ },
+ "maxItems": 100,
+ "type": "array"
+ },
+ "source_inventory_status": {
+ "anyOf": [
+ {
+ "enum": [
+ "complete",
+ "partial",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "sources": {
+ "default": [],
+ "items": {
+ "additionalProperties": false,
+ "description": "Host-authored metadata about one declared source for a review.",
+ "properties": {
+ "criterion_refs": {
+ "default": [],
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "maxItems": 500,
+ "type": "array"
+ },
+ "extraction_status": {
+ "default": "unknown",
+ "enum": [
+ "complete",
+ "partial",
+ "failed",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "kind": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[a-z][a-z0-9_]*$",
+ "type": "string"
+ },
+ "locator": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "type": "string"
+ },
+ "pagination_status": {
+ "default": "unknown",
+ "enum": [
+ "complete",
+ "incomplete",
+ "not_applicable",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "required": {
+ "type": "boolean"
+ },
+ "retrieval_status": {
+ "default": "unknown",
+ "enum": [
+ "complete",
+ "partial",
+ "failed",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "snapshot_revision": {
+ "anyOf": [
+ {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "snapshot_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "source_id": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "source_id",
+ "kind",
+ "locator",
+ "required"
+ ],
+ "type": "object"
+ },
+ "maxItems": 100,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "neighbor_discovery_candidate_count": {
+ "anyOf": [
+ {
+ "maximum": 200,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "neighbor_discovery_candidate_results_omitted_by_limit": {
+ "anyOf": [
+ {
+ "maximum": 1000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "neighbor_discovery_candidate_set_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "neighbor_discovery_omissions_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "neighbor_discovery_sha256": {
+ "anyOf": [
+ {
+ "pattern": "(?i)^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "prior_review_decisions": {
+ "default": [],
+ "items": {
+ "additionalProperties": false,
+ "description": "A same-MR historical disposition, supplied as context rather than proof.",
+ "properties": {
+ "candidate_id": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "disposition": {
+ "enum": [
+ "accepted",
+ "resolved",
+ "rejected",
+ "unresolved",
+ "outdated"
+ ],
+ "type": "string"
+ },
+ "evidence_ref": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "merge_request_source_id": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
+ "type": "string"
+ },
+ "reviewed_head_sha": {
+ "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
+ "type": "string"
+ },
+ "revision_relation": {
+ "enum": [
+ "same_head",
+ "verified_ancestor"
+ ],
+ "type": "string"
+ },
+ "summary": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "merge_request_source_id",
+ "reviewed_head_sha",
+ "revision_relation",
+ "candidate_id",
+ "disposition",
+ "summary",
+ "evidence_ref"
+ ],
+ "type": "object"
+ },
+ "maxItems": 50,
+ "type": "array"
+ },
+ "repository": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "review_rules": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "rules": {
+ "default": [],
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "condition": {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "enum": [
+ "raise",
+ "guard"
+ ],
+ "type": "string"
+ },
+ "paths": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "rationale": {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "rule_id": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$",
+ "type": "string"
+ },
+ "text": {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "rule_id",
+ "kind",
+ "paths",
+ "condition",
+ "text",
+ "rationale"
+ ],
+ "type": "object"
+ },
+ "maxItems": 100,
+ "type": "array"
+ },
+ "schema_version": {
+ "const": 1,
+ "default": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "repository",
+ "diff_sha256",
+ "evidence_packet_sha256",
+ "changed_files",
+ "evidence_refs"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]
changedOutput schema / properties / review_profiles / items / enum
Previous value: -[
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
-]New value: +[
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+]
changedOutput schema / properties / selected_profile / anyOf
Previous value: -[
- {
- "enum": [
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "enum": [
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+]
changedOutput schema / properties / selected_review_routes / anyOf
Previous value: -[
- {
- "properties": {
- "execution_groups": {
- "description": "Ordered execution waves whose flattened profile IDs exactly match routes. Run the groups in order; profiles in the same group are independent and may be reviewed concurrently by the host. Wait for every profile in a group before reporting it with one completed_profiles call in the declared order. Older hosts may report each completed_profile separately.",
- "items": {
- "items": {
- "enum": [
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
- ],
- "type": "string"
- },
- "type": "array"
- },
- "minItems": 1,
- "type": "array"
- },
- "routes": {
- "description": "Detailed checklists in the selected route's declared profile order. Each route is a fixed, read-only checklist; it does not execute a review.",
- "items": {
- "properties": {
- "constraints": {
- "description": "Shared limits for this read-only review profile.",
- "items": {
- "type": "string"
- },
- "minItems": 1,
- "type": "array"
- },
- "display_name": {
- "minLength": 1,
- "type": "string"
- },
- "escalation_signals": {
- "description": "Conditions to assess against evidence. A listed condition is not itself a deep-review trigger; set risk_signals only when the corresponding evidence-based condition applies.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "focus": {
- "description": "The profile's review boundary and primary responsibility.",
- "minLength": 1,
- "type": "string"
- },
- "host_owns_decisions": {
- "const": true,
- "default": true,
- "type": "boolean"
- },
- "profile": {
- "enum": [
- "pr_test_analyzer",
- "code_reviewer",
- "security_reviewer",
- "silent_failure_hunter",
- "code_explorer",
- "typescript_reviewer",
- "react_reviewer",
- "ruby_reviewer",
- "python_reviewer",
- "mobile_reviewer",
- "omission_auditor"
- ],
- "type": "string"
- },
- "read_only": {
- "const": true,
- "default": true,
- "type": "boolean"
- },
- "required_sections": {
- "description": "Profile-specific output sections; use these instead of a generic template.",
- "items": {
- "type": "string"
- },
- "minItems": 1,
- "type": "array"
- }
- },
- "required": [
- "profile",
- "display_name",
- "focus",
- "required_sections",
- "constraints"
- ],
- "type": "object"
- },
- "minItems": 1,
- "type": "array"
- }
- },
- "required": [
- "routes",
- "execution_groups"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "properties": {
+ "execution_groups": {
+ "description": "Ordered execution waves whose flattened profile IDs exactly match routes. Run the groups in order; profiles in the same group are independent and may be reviewed concurrently by the host. Wait for every profile in a group before reporting it with one completed_profiles call in the declared order. Older hosts may report each completed_profile separately.",
+ "items": {
+ "items": {
+ "enum": [
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "routes": {
+ "description": "Detailed checklists in the selected route's declared profile order. Each route is a fixed, read-only checklist; it does not execute a review.",
+ "items": {
+ "properties": {
+ "constraints": {
+ "description": "Shared limits for this read-only review profile.",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "display_name": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "escalation_signals": {
+ "description": "Conditions to assess against evidence. A listed condition is not itself a deep-review trigger; set risk_signals only when the corresponding evidence-based condition applies.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "focus": {
+ "description": "The profile's review boundary and primary responsibility.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "host_owns_decisions": {
+ "const": true,
+ "default": true,
+ "type": "boolean"
+ },
+ "profile": {
+ "enum": [
+ "pr_test_analyzer",
+ "code_reviewer",
+ "security_reviewer",
+ "silent_failure_hunter",
+ "code_explorer",
+ "typescript_reviewer",
+ "react_reviewer",
+ "ruby_reviewer",
+ "python_reviewer",
+ "mobile_reviewer"
+ ],
+ "type": "string"
+ },
+ "read_only": {
+ "const": true,
+ "default": true,
+ "type": "boolean"
+ },
+ "required_sections": {
+ "description": "Profile-specific output sections; use these instead of a generic template.",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "profile",
+ "display_name",
+ "focus",
+ "required_sections",
+ "constraints"
+ ],
+ "type": "object"
+ },
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "routes",
+ "execution_groups"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]
addedOutput schema / properties / stop_reason
Added value: +{
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Host-reported, sanitized reason for an early stop; not independently verified."
+}