QA Orchestrator
This MCP server is a local QA review orchestrator: it pins Git review inputs, serves fixed specialist/bundle checklists, tracks evidence-bound review sessions, validates workflow/report contracts, and records host-owned final outcomes.
Resolve local Git refs into immutable base/head commits and diff metadata.
Discover profiles, bundles, execution schedules, and the server model-policy snapshot.
Read single-profile or bundle checklists with required sections, constraints, and escalation signals.
Start sessions bound to review context, changed files, evidence refs, diff/packet hashes, and source manifests.
Advance triage, primary review, deep review, and synthesis while enforcing group order, profile/report alignment, citations, risk signals, and coverage/impact ledgers.
Renew active leases; inspect/list retained sessions, audit history, reports, and recovery metadata.
Finalize completed/partial/blocked outcomes with structured final reports and candidate decisions.
Delete session state irreversibly.
It does not retrieve source, run models, execute CI, verify report truth, or make final QA decisions; the host owns evidence, execution, and adjudication.
Allows configuring QA orchestration stages to use OpenAI models, with per-stage model and reasoning policies returned to the host for execution.
QA Orchestrator
A Python/FastMCP toolkit for evidence-bound code and QA reviews: deterministic workflow, ten specialist profiles, nine fixed bundles, structured findings, and optional execution and evaluation tools.
The host (Codex, Claude Code, or another integration) retrieves evidence, runs models, validates findings, and owns the final QA decision. The MCP server checks workflow and report contracts. Optional Python tools supervise actual execution; connecting the MCP server alone does not activate them.
Quick start
Requires Python 3.12+, Git, uv, and an MCP host. Supports Windows, macOS, and Linux. Model access is configured in the host.
For installation without a checkout, replace <commit-sha> with the full immutable revision you intend to install:
codex mcp add qa-orchestrator -- uvx --from 'git+https://github.com/Rbkmen/qa-orchestrator.git@<commit-sha>' qa-orchestrator-mcpUse the same revision for server and host instructions. Remote installs contain only published code; local upgrades require a checkout installation.
With no saved policy, model_policy is host_default: the host uses its own model and reasoning. Existing explicit policies remain active.
For a checkout installation:
git clone https://github.com/Rbkmen/qa-orchestrator.git
cd qa-orchestrator
uv sync --locked
uv run qa-orchestrator-doctor --jsonRegister scripts/qa-orchestrator on macOS/Linux or .venv\Scripts\qa-orchestrator-mcp.exe on Windows. The client starts the STDIO server on demand. See Installation, Codex, and Claude Code.
Reference the canonical host rules from existing instructions. Verify the connection with get_qa_orchestration_catalog, get_qa_orchestration_model_policy, and prepare_qa_orchestration(agent_profile="code_explorer"); these calls create no session.
Related MCP server: Support Ticket Triage MCP
Architecture and responsibilities
Layer | Responsibility |
MCP server | Checklists, stage/group validation, fixed escalation rules, bounded session state |
Evidence utilities | Immutable Git source/diff hashes, citation coordinates, exact context packets |
| Async executor supervision, concurrency/time budgets, group barriers, attempts, and fixed-input synthesis replay |
| Installed CLI execution, strict output schema, report validation and reported usage |
Benchmark tools | Snapshot identity and scoring of explicitly adjudicated runs |
The host owns source retrieval, defect confirmation, severity, final decisions, code edits, and external writes. Jira, GitLab, CI, TestRail, Sentry, and other sources come through the host's tools. Initialization instructions are advisory; read_only=true and host_owns_decisions=true describe review ownership, while session tools mutate local state.
Review workflow
Pinned evidence → triage → primary review groups → optional deep review
→ synthesis → awaiting_host_outcome → host final outcomeFor implementation reviews, build a complete
ReviewContext: repository, exact diff and packet SHA-256 digests, changed paths, evidence refs, and aninput_manifestusing schema v2. Git input also requires base/head commits; a complete MR diff can use diff-only input without them. Non-review task types may omit it.Call
start_qa_orchestration, then complete triage throughadvance_qa_orchestrationwith oneselected_profileorselected_bundle.Run the returned
execution_groups. Profiles in one group may run concurrently; wait for all, then record the orderedcompleted_profilesand reports in one transition. Transition calls are sequential.Supply evidence-based
risk_signalson the last primary-review transition. Perform any required deep review, then validate and synthesize the result.Call
finish_qa_orchestrationwithcompleted,partial, orblocked. A completed bound review requiresfinal_review_report. Record early stops throughadvance_qa_orchestrationfirst, including a sanitizedstop_reasonor an explicit statement that the cause is unknown. The reason is host-reported and cannot establish an unknown root cause.
Use the session returned by each transition. Read/recover with get_qa_orchestration or list_qa_orchestrations. Revision checks and request keys protect against stale submissions and lost-response retries.
completed records workflow completion; it is not a CI pass or release approval. For a clean route containing exactly one profile, skip_synthesis=true skips the separate synthesis stage, but still requires host validation and a final report. Findings, material unresolved questions, coverage gaps, unverified notes, or risk signals also prevent the shortcut. Bundles retain synthesis.
Deep-review rules
Trigger | Required signals |
High-risk uncertainty |
|
Multiple complexity signals | At least two of |
Critical evidence conflict |
|
Enabled signals require rationale and evidence refs. Missing CI, Stage, or device execution alone does not require escalation; uncertainty must concern a material question that scoped review could resolve.
Example: ordinary QA of a small Ruby guard change checks requirements, the changed branch, callers, and assertions. The host can select ruby_reviewer, execute its checklist, submit its report and risk signals, synthesize, then finalize. See the complete MCP tool contract for payloads.
Profiles and bundles
Use one profile for a narrow, low-risk concern; use a bundle for broad or cross-concern work. File count alone does not define scope.
At triage, set implementation_review=true when implementation behavior is in scope. A lone pr_test_analyzer or code_explorer cannot report implementation findings: choose an implementation profile or bundle, or explicitly set acknowledge_limited_profile=true to proceed with that limitation. Older callers may omit the intent; they receive an advisory route_warning instead. The host determines intent and remains responsible for choosing an adequate route.
Profile | Focus |
| Faraday — Evidence Investigator: paths, callers, dependencies and evidence map |
| Changed-code failure modes and contract breaks |
| Test coverage and meaningful assertion gaps |
| Authentication, authorization, input validation and sensitive data |
| Swallowed errors, fallbacks, timeout/rollback and error propagation |
| Types, narrowing, casts, async and error contracts |
| State, effects, rendering, accessibility and visible behavior |
| Ruby semantics, exceptions, persistence and relevant jobs |
| Validation, serialization, cancellation, cleanup and MCP contracts |
| React Native/native lifecycle, navigation and platform contracts |
Test Analyzer returns coverage gaps; Evidence Investigator returns an evidence map and unresolved links. Both are prohibited from returning implementation findings, enforced by server validation and the Codex output schema.
In the schedules below, + means one concurrent-capable group; → means a barrier between groups.
Bundle | Execution groups |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The Python bundle starts its three profiles together. Required context must be supplied upfront. Reports from previous groups are available only to subsequent groups. The installed catalog is authoritative; see the bundle and profile catalog.
Evidence and context
A bound ReviewContext pins repository identity, diff and packet SHA-256, changed paths, and evidence IDs. Git input also pins base/head commits; diff-only input does not establish Git revisions or surrounding source. Discovery can also bind its exact candidate set and a diff-ordered hunk inventory (up to 500 hunks) to the review. Partial or unavailable hunk inventory blocks strict completion. Profiles attest inspected hunk indexes; the report labels this as an attestation, not proof of reasoning. Changed-path coverage still accounts for binary and metadata-only changes that have no text hunks. Optional registry metadata adds source hashes, coordinates, text availability and external locators. Binary and non-UTF-8 source stays hash-bound but cannot support source coordinates. Git findings require cited head-source records; diff-only finding coordinates must lie within a bound diff hunk.
Local utilities verify immutable Git bytes, hashes and coordinates. External requirements/runtime evidence remains unverified by the Git checker. The MCP server validates identifiers and citations; it does not read the raw packet.
Exact context packing retains original UTF-8 fragments without summarizing or truncating them. The bound diff and supplied requirements remain mandatory; changed-source excerpts can be omitted or made profile-optional when the diff covers the change. Optional omissions are declared, and reports cannot cite omitted refs. A precise finding location still requires a cited head-source excerpt for that path. Mandatory overflow fails before execution. The Codex executor keeps a 1,000,000-byte context budget and a 2 MB serialized packet limit, while capping the complete CLI prompt at 1,000,000 UTF-8 bytes to stay below Codex CLI's 1,048,576-character input limit. These are byte/character limits, not token limits. Source caching is bounded and in memory; Python AST chunks preserve source coordinates.
See Evidence Registry and context packing.
Findings and final decisions
Reports separate candidates, coverage gaps, unverified claims and evidence maps. The host assigns every candidate one verdict: confirmed, rejected, duplicate, or unverified, with rationale and evidence. Final findings retain profile/candidate lineage; confirmation requires severity, impact, affected area and source locations. Finalization checks the complete decision ledger.
failure_condition and flip_condition describe the failure trigger and evidence that would refute it. New candidates also state expected_behavior from a requirement/contract and actual_behavior predicted from source under that trigger; predicted behavior is not runtime evidence. Confirmed findings name the affected consumer or contract in affected_area when supported. Conditioned candidates require a context/candidate-bound counterevidence check; confirmation or duplicate linkage requires not_refuted. The host performs that inspection. Legacy candidates may omit these fields.
Explicit scoped ReviewRuleset rules can raise concerns or guard against known false-positive patterns. They bind reports through a digest and guide inspection; they do not automatically suppress findings or learn from reviews. See rules and counterevidence.
Host execution
HostReviewAdapter supervises an injected async execute_profile(job) for a bound session with triage complete. It enforces group barriers, concurrency/time limits, lease renewal and cancellation. It stops at deep review or synthesis; later stages and final decisions remain with the host. Its optional synthesis replay reruns only the host-supplied synthesis executor over fixed saved profile reports; it does not persist the replay result.
Rendered final reports include review boundaries: recorded outcome when supplied, reported profiles, retrieved/incomplete sources and reported limitations. For partial or blocked outcomes they also list known completion gaps; these are evidence of gaps, not necessarily the host's recorded reason. Standalone qa-orch report render accepts --outcome when the session outcome is known; otherwise it displays that outcome was not provided.
Timeouts and explicit RetryableProfileError can be retried. Permanent failures are not replayed automatically. A failed group is never recorded as complete; the run becomes partial, retaining successful unsaved reports.
CodexProfileExecutor uses an authenticated installed CLI, a fresh temporary workspace, read-only sandbox, no inherited user configuration, and a strict JSON schema. Invalid output or detected forbidden tool actions fail the call; timeout/cancellation terminates its process tree. In host_default, it requires an explicit model. Other runtimes use a custom executor.
Optional checkpoints reuse validated reports only when context, rules, checklist, model policy, previous-group reports and executor/instruction identity match. Reuse is reported separately; disable it for independent benchmark repetitions. See Host Adapter and execution tools.
Performance and evaluation
Narrow routing, concurrent groups, the clean-profile synthesis shortcut, checkpoints and bounded context selection can avoid unnecessary work. Execution speed and latency preferences remain controlled by the user's host/provider settings; improvement requires measurement.
execution_attempts records fresh successful, failed and cancelled calls, queue wait, duration and available phase/token observations. Missing usage remains unknown, never zero. Checkpoint reuse is separate; model_seconds includes the CLI/process interval rather than provider-only inference. No automatic price estimate is produced.
Benchmark tools score pinned runs using explicit adjudications; they do not launch models or decide matches. The explicit-threshold quality gate is experimental. A named policy pins the dataset kind and digest, case/gold coverage and quality thresholds; blocked means its evidence is incomplete or mismatched, while failed means measured quality misses a threshold. No approved production policy ships in this repository.
Speed comparisons report p95 and sample counts, keep missing queue measurements unknown, and assess recorded run order. Interleaving must alternate configurations; randomized order is reported as host-declared, not independently verified. compare is exploratory without --quality-policy; a gated candidate must meet the same pinned policy as its baseline and the policy's minimum repetition count. These tools do not prove adjudicator correctness or fresh independent model execution. See Benchmark, Profile Evaluation, and the audited ReviewBench baseline.
MCP tools
Tool | Purpose |
| Profiles, bundles and schedules |
| One profile checklist |
| Bundle checklists and groups |
| Running server's policy snapshot |
| Create a session |
| Validate and record a transition/reports |
| Extend an active lease |
| Read a retained session |
| Discover retained session IDs |
| Finalize host outcome and report |
| Irreversibly discard local session state |
Reads do not extend TTL. Deletion neither finalizes a review nor cancels host execution.
CLI tools
Command | Purpose |
| Configure per-stage models or return to host settings |
| Inspect/validate the saved policy |
| Suggest pinned declarations, callers/callees, direct importers, contracts, tests, and bounded test-audit signals; reports traced relations and bounded omissions; |
| Register/verify source and diff |
| Explicit, host-allowlisted reachability check for external evidence URLs; does not verify external content hashes |
| Exact context packets/source chunks |
| Profile tracked project/test/CI metadata and report source-anchored test-suite review candidates |
| Bind explicit review rules |
| Import references, split cases by pull request, score explicit adjudications, compare speed, and enforce declared quality thresholds |
| Read-only local diagnostics |
qa-orchestrator aliases qa-orch. Running either without a subcommand starts the MCP server. These tools do not provide a one-command MR review and publication flow.
Repository profiling and test-suite audit operate on committed Git objects and do not change the repository; profile writes a local cache unless --no-cache is set. Candidate signals are not confirmed findings; see Repository profile and test audit for limits and examples.
Configuration
host_default uses the host's model/reasoning. Optional configured policy sets provider, model and effort per stage. Setup validates local metadata, not account access or live model capabilities; no provider credentials are stored.
Variable | Default |
|
|
|
|
|
|
|
|
| Unset; opt-in SQLite recovery |
Pass overrides through the MCP client's environment. Restart the server connection after code/policy changes: CLI reload does not update that process. Inspect the loaded policy with get_qa_orchestration_model_policy; neither configuration nor session metadata proves model execution.
Storage and trust boundaries
Session state is bounded and in memory by default. Optional SQLite restores non-expired unfinished sessions and finalized bound reviews with structured reports. Finalized legacy sessions without artifacts are removed. Checkpoints use a separate opt-in store; use one server process per session-store file. Persisted sessions containing the removed omission_auditor profile or its report fields are incompatible with this version and cause the configured session store to fail validation; use a different store path if needed.
Stored reports can contain source-derived findings and descriptions. Raw packets, prompts, transcripts and benchmark artifacts are managed separately by the host. Profile reports are limited to 72 KiB each, final reports to 80 KiB each, and combined review artifacts to 288 KiB per session. Normal MCP calls need no network; installation, evidence tools and model execution may need it.
Validation proves structure, identity and reported sequence, not source completeness, defect truth or runtime success. The CLI read-only sandbox restricts writes, not all reads; strict read isolation needs an OS/container boundary. Forbidden-action detection cannot prove an action never started. No autonomous external writes or learned persistent QA memory are added.
Development and documentation
uv run pytest -q
uv run ruff check .
uv run qa-orchestrator-doctor --json
git diff --checkImplementation: src/qa_orchestrator/. Tests cover contracts, workflow, storage, evidence and execution supervision; real-model quality and target application/device checks are separate.
See CONTRIBUTING.md, Orchestration Policy, Review Upgrades, and SECURITY.md. Licensed under MIT.
Available Tools
12 toolsadvance_qa_orchestrationRecord QA step resultA
Record one active QA step's result; return updated state and next_action instructions for the host.
After completed triage, the response also includes selected_review_routes with the exact selected checklists and execution_groups, avoiding a separate preparation tool call.
For finalization, use finish_qa_orchestration at awaiting_host_outcome; after early stops, match the recorded outcome.
Triage: select exactly one bundle or profile; default to one profile for narrow work. Set implementation_review=true when implementation behavior is in scope.
Every call requires run_id, completed_step, and status. Copy completed_step from the latest session's current_step; use status=completed after a successful stage.
Primary review: after a whole execution group finishes, report its ordered profiles together with completed_profiles. In a review-context-bound session, also supply matching profile_reports. Older hosts may continue reporting completed_profile one at a time. The final group requires risk_signals ({} if none).
Clean single-profile fast path: set skip_synthesis=true only when the route contains one profile and that review has no findings, no unresolved material questions, and no risk signals. This bypasses only the separate synthesis step; the host still validates and produces the final QA report. The server cannot verify this claim. Bundles, findings, unresolved questions, or any risk signal require the normal synthesis stage.
Trust boundary: completion fields, execution_metrics, and risk_signals are host-reported. The server cannot confirm each review ran, whether it ran concurrently, or that risk_signals reflect evidence; bound sessions validate report/profile alignment, citation membership, finding-source lineage, and risk-signal reference membership, not report truth.
Early stop: provide stop_reason; omit route selectors, completion fields, and risk_signals.
Success saves state and refreshes expires_at.
Invalid/stale requests and unknown/expired run_ids fail without advancing.
With request_id and expected_revision, exact retries return current retained state without another transition or TTL refresh. Conflicting payloads and new stale revisions fail.
Legacy calls without request_id are non-idempotent: never retry them blindly. After a lost response or transition error, read get_qa_orchestration(run_id) and continue from its current_step; if the session is unknown or expired, start a new session.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | Session identifier returned by start_qa_orchestration or list_qa_orchestrations: qar- followed by 32 lowercase hexadecimal characters. Reuse it for this session; do not invent or transform it. | |
| status | Yes | Required on every call, including successful steps: use completed when the active step succeeds. Use partial or blocked only to stop early, then finalize with the same outcome using finish_qa_orchestration. | |
| request_id | No | Optional unique transition key. Requires expected_revision. Retrying the exact same payload returns current retained state without repeating the transition; reusing the key with another payload is rejected. | |
| stop_reason | No | Required for partial or blocked early stops: state the observed cause or explicitly say it is unknown, without secrets or raw private output. | |
| risk_signals | No | Required with the final completed primary-review profile. Send an empty object when no evidence-based fixed escalation signals apply; any true signal requires a short rationale and Evidence Packet references. Do not send on earlier profiles or on the synthesis transition. | |
| completed_step | Yes | Required: copy the exact current_step from the latest session returned by start, advance, or get. Complete only triage, primary_review, deep_review, or synthesis. If current_step is awaiting_host_outcome, call finish_qa_orchestration instead. | |
| skip_synthesis | No | Optional clean-review fast path. Set true only after one selected profile reports no findings or unresolved material questions and every risk signal is false. The host still validates and reports the final QA result; the server trusts this host claim and cannot verify review content. Bundles, findings, unresolved questions, or any risk signal require the normal synthesis stage. | |
| profile_reports | No | For a review-context-bound session, one structured result per completed profile, in the same order. Every finding must cite Evidence Packet references. Optional execution_metrics are host-reported and are not independently verified. Up to ten reports are accepted, with 72 KiB per report and 288 KiB combined per session. Omit for legacy sessions without review_context. | |
| selected_bundle | No | For completed triage, choose one fixed bundle only for broad, cross-concern, or high-risk work; several changed files alone do not require one. It is mutually exclusive with selected_profile; recommended_bundles is only a shortlist. | |
| compact_response | No | Return workflow state without stored context, reports and audit history; use get_qa_orchestration for full state. | |
| selected_profile | No | For completed triage, default to one allowed profile for a narrow, single-concern, low-risk review. It is mutually exclusive with selected_bundle. | |
| completed_profile | No | Legacy-compatible single-profile completion. After the complete execution_group has finished, submit exactly the current_profile returned by the latest advance_qa_orchestration call and follow fixed route order; never advance parallel profiles concurrently. Use completed_profiles to record a whole group in one call. Omit for other steps or an early stop. | |
| expected_revision | No | Optional workflow revision from the latest session. A new transition is rejected if stale; a recognized request_id replay remains safe. | |
| completed_profiles | No | After the whole next execution_group has finished, submit every profile in that group exactly once and in fixed route order. This records the group in one call. For a bundle, the list must match the next complete group; for one profile, submit a one-item list. Mutually exclusive with completed_profile. Omit for other steps or an early stop. | |
| implementation_review | No | 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. | |
| acknowledge_limited_profile | No | At triage, explicitly accept that the selected test analyzer or explorer cannot report implementation findings. |
Output Schema
| Name | Required | Description |
|---|---|---|
| run_id | Yes | |
| status | Yes | |
| revision | No | Workflow revision for conditional writes. |
| read_only | No | |
| task_type | Yes | |
| expires_at | Yes | |
| next_action | Yes | |
| stop_reason | No | Host-reported, sanitized reason for an early stop; not independently verified. |
| audit_events | No | Bounded hash-chained host-submitted workflow trace; no raw request bodies. |
| current_step | Yes | |
| model_policy | No | |
| risk_signals | No | |
| route_warning | No | Advisory scope limitation for a selected single profile; not a finding. |
| review_context | No | |
| allowed_bundles | No | |
| current_profile | No | |
| deep_assessment | No | |
| profile_reports | No | |
| review_profiles | No | |
| selected_bundle | No | |
| allowed_profiles | No | |
| deep_reason_code | No | |
| selected_profile | No | |
| completed_profiles | No | |
| final_review_report | No | |
| host_owns_decisions | No | |
| recommended_bundles | No | Task- and changed-file-based shortlists only; the host selects the route. |
| transition_receipts | No | Bounded request hashes for safe replay; no raw transition payloads are stored. |
| audit_trace_complete | No | True when the retained audit trace starts with session creation. |
| recommended_profiles | No | File-type-based profile hints only; the host selects the route. |
| review_completion_mode | No | Legacy preserves restored sessions; new bound sessions require complete inputs and impact coverage. |
| selected_review_routes | No | After a successful triage selection, the exact checklists and execution groups for the selected route. Use this instead of a separate prepare call. This response-only field is not stored in the session. |
| review_execution_groups | No | Execution groups fixed at triage; absent on older stored sessions. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the coarse profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false); the description adds the substantive behavior: success saves state and refreshes expires_at, invalid/stale/unknown run_ids fail without advancing, request_id plus expected_revision gives exact-retry safety, and legacy calls without request_id are non-idempotent and must not be retried blindly. It also discloses the trust boundary — which completion fields are host-reported, what the server does and does not validate, and that skip_synthesis claims cannot be verified — which is exactly the behavioral context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with the core purpose, then organized into short labeled bullets (Triage, Early stop, Trust boundary, Legacy calls) that map to the workflow's decision points. It is long, but the length is largely justified by the number of states; some material, such as the skip_synthesis preconditions and trust-boundary caveats, repeats what the schema descriptions already state, which keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description needn't document return values, and it correctly limits itself to saying the response includes updated state, next_action, and selected_review_routes after triage. For a state-machine mutation tool with 16 parameters, it covers the transitions, the early-stop path, idempotency, failure behavior, and the host/server trust split — everything an agent needs to call it correctly across steps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each field and the baseline would be 3. The description still adds cross-parameter workflow meaning beyond the schema: completed_step must be copied from the latest session's current_step, completed_profiles must list the whole next execution group exactly once in fixed route order, risk_signals is required only with the final completed primary-review profile ({} when none apply), and stop_reason is the marker for early-stop payload shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence states a specific verb and resource: 'Record one active QA step's result; return updated state and next_action instructions.' It explicitly contrasts itself with finish_qa_orchestration (finalization at awaiting_host_outcome) and get_qa_orchestration (post-error recovery read), so an agent can distinguish it from all nearby siblings without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use rules per step: select exactly one bundle or profile at triage, report an ordered group after a whole execution group finishes, set skip_synthesis only under enumerated clean-review conditions, and provide stop_reason for early stops. It names the alternative tool for finalization and the fallback path for legacy non-idempotent retries, leaving little to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_qa_orchestrationDiscard QA session stateADestructiveIdempotent
Delete one QA session from memory and configured recovery storage. To retain a final QA outcome, use finish_qa_orchestration.
run_id selects one session at any stage; no prior advance or finish required. Recover a lost ID via list_qa_orchestrations(), matching task type, route, and stage; confirm the target if several entries match.
Idempotent: deleted=true confirms absence, including unknown or expired IDs.
Irreversible: get/advance/finish cannot use the ID, even after restart.
Storage failure: memory stays intact; resolve the error and retry.
Host tasks and model executions are unaffected.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | Session identifier returned by start_qa_orchestration or list_qa_orchestrations: qar- followed by 32 lowercase hexadecimal characters. Reuse it for this session; do not invent or transform it. |
Output Schema
| Name | Required | Description |
|---|---|---|
| run_id | Yes | |
| deleted | No | The run_id is absent from this server and its recovery store, including if already absent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructive, idempotent, and non-read-only, but the description adds material context beyond them: deleted=true confirms absence even for unknown/expired IDs, irreversibility that survives restart, storage-failure behavior where memory stays intact, and the explicit note that host tasks and model executions are unaffected. These are exactly the operational details annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded imperative sentence, then a bulleted block where each line carries a distinct fact (mutation behavior, idempotency, irreversibility, failure recovery, unaffected systems). No sentence restates the name or the annotations verbatim, and there is no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return fields, and it correctly stops there. For a single-parameter destructive mutation with full annotation coverage, everything an agent needs to call it safely and recover from edge cases is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema itself documents the qar- pattern, so the baseline is 3. The description nonetheless adds dispatch-relevant meaning: run_id can select a session at any stage with no prior advance or finish, and it points at list_qa_orchestrations as the recovery path for an unknown ID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Delete one QA session from memory and configured recovery storage') and immediately distinguishes itself from the sibling that shares its domain by naming finish_qa_orchestration as the retain-outcome alternative. An agent can differentiate it from advance/get/list/prepare with no schema inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states when to use this tool ('to retain a final QA outcome, use finish_qa_orchestration' implies deletion is for discarding), relaxes a constraint ('no prior advance or finish required'), and routes the agent to list_qa_orchestrations to recover a lost ID with instructions for disambiguating matches. Explicit alternatives and conditions are provided rather than implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finish_qa_orchestrationRecord final QA outcomeAIdempotent
Finalize the QA run and store its structured report when the session is review-bound.
After normal synthesis or an eligible clean single-profile fast path, use the retained run_id at awaiting_host_outcome to choose completed, partial, or blocked. After an early stop recorded by advance_qa_orchestration, outcome must match its partial/blocked status.
A completed review-bound session requires
final_review_report.Structured reports survive a restart only with the same configured session store; otherwise they are in-memory only. Legacy finalized sessions without review artifacts are removed at restart.
Same outcome: returns the retained terminal session.
Different outcome:
conflicting final outcome; status unchanged.Premature call:
outcome is not ready. Retained sessions expire at the configured TTL (1800s default), or are removed by eviction or explicit deletion. Removed run_ids cannot be deduplicated.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | Session identifier returned by start_qa_orchestration or list_qa_orchestrations: qar- followed by 32 lowercase hexadecimal characters. Reuse it for this session; do not invent or transform it. | |
| outcome | Yes | Host-selected final session status: completed, partial, or blocked. | |
| expected_revision | No | Optional current workflow revision for a new finalization. The same retained outcome/report can still be replayed idempotently. | |
| final_review_report | No | Structured synthesized findings and coverage for a review_context-bound session. Required when its outcome is completed; each finding cites registered evidence refs and the original profile-local candidate IDs and evidence that support it. The report must include one candidate_decisions entry per submitted candidate. Every defect candidate needs failure_condition, flip_condition, expected_behavior, and actual_behavior (source-predicted, not runtime proof), and every outcome needs a bound refutation assessment: not_refuted for confirmed/duplicate, refuted for rejected, unverified for unverified. Rejected/unverified outcomes preserve the original candidate snapshot. Confirmed findings require host severity, impact, affected area, and source locations. Optional verification_records capture test/CI/runtime scenarios, results, environment, run reference, reason, and head SHA when known; for diff-only reviews the head binding remains unknown. These records remain host-supplied and are not independently authenticated by the orchestrator. The report is limited to 80 KiB; profile plus final reports are limited to 288 KiB per session. |
Output Schema
| Name | Required | Description |
|---|---|---|
| run_id | Yes | |
| status | Yes | |
| revision | No | Workflow revision for conditional writes. |
| read_only | No | |
| task_type | Yes | |
| expires_at | Yes | |
| next_action | Yes | |
| stop_reason | No | Host-reported, sanitized reason for an early stop; not independently verified. |
| audit_events | No | Bounded hash-chained host-submitted workflow trace; no raw request bodies. |
| current_step | Yes | |
| model_policy | No | |
| risk_signals | No | |
| review_context | No | |
| allowed_bundles | No | |
| current_profile | No | |
| deep_assessment | No | |
| profile_reports | No | |
| review_profiles | No | |
| selected_bundle | No | |
| allowed_profiles | No | |
| deep_reason_code | No | |
| selected_profile | No | |
| completed_profiles | No | |
| final_review_report | No | |
| host_owns_decisions | No | |
| recommended_bundles | No | Task- and changed-file-based shortlists only; the host selects the route. |
| transition_receipts | No | Bounded request hashes for safe replay; no raw transition payloads are stored. |
| audit_trace_complete | No | True when the retained audit trace starts with session creation. |
| recommended_profiles | No | File-type-based profile hints only; the host selects the route. |
| review_completion_mode | No | Legacy preserves restored sessions; new bound sessions require complete inputs and impact coverage. |
| review_execution_groups | No | Execution groups fixed at triage; absent on older stored sessions. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (idempotentHint=true, readOnlyHint=false), the description discloses durability semantics (structured reports survive restart only with the same configured session store, otherwise in-memory), legacy-session cleanup at restart, TTL/eviction/deletion expiry at 1800s default, and the fact that removed run_ids cannot be deduplicated. It also clarifies the three distinct return paths: same outcome replays the retained terminal session, a different outcome errors with status unchanged, and an early call errors as not ready.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is front-loaded with purpose, then preconditions, then error/durability behavior in short bullet-style lines, which is easy to scan. A few statements restate schema-level facts (outcome enum values, final_review_report requirement), so it is dense but not wasteful overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a state-machine mutation tool with an output schema already present, the description covers the gating state, the alternative entry paths, idempotent replay, conflict handling, premature-call handling, and retention/expiry behavior. An agent has everything needed to decide whether to call it and to interpret non-success responses.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already carries run_id format, the outcome enum, and the detailed final_review_report contract, making the baseline 3 appropriate. The description adds only the conditional requirement that a completed review-bound session needs final_review_report and the outcome-must-match-early-stop rule, and says nothing about expected_revision beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening line gives a specific verb+resource (finalize the QA run, store its structured report) and scopes it to review-bound sessions, which separates it from start_qa_orchestration, advance_qa_orchestration, and delete_qa_orchestration. The scoping clause 'when the session is review-bound' slightly narrows the apparent applicability while the body then describes non-review-bound paths (clean single-profile fast path), creating a small internal tension about exactly which sessions this covers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It names the exact trigger conditions (after normal synthesis or an eligible clean single-profile fast path), the required session state (run_id at awaiting_host_outcome), and the interaction rule with the sibling advance_qa_orchestration when the run was early-stopped. It also spells out the failure modes that indicate wrong timing or wrong outcome (premature call, conflicting final outcome), which is precisely the guidance an agent needs before invoking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_qa_orchestrationInspect one QA sessionARead-onlyIdempotent
Read one retained run_id's state, audit trace, bound context and structured reports.
Use run_id on the server retaining that session to resume or reconcile a lost
advance_qa_orchestration response. Reads do not extend expires_at. Errors unknown run_id or
expired session require a new session via start_qa_orchestration.
If run_id is lost, use list_qa_orchestrations() to find retained sessions first.
For all-stage server policy, use get_qa_orchestration_model_policy(); for review progress or final outcome, use advance_qa_orchestration or finish_qa_orchestration, respectively. Local stdio access requires no additional credentials.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | Session identifier returned by start_qa_orchestration or list_qa_orchestrations: qar- followed by 32 lowercase hexadecimal characters. Reuse it for this session; do not invent or transform it. |
Output Schema
| Name | Required | Description |
|---|---|---|
| run_id | Yes | |
| status | Yes | |
| revision | No | Workflow revision for conditional writes. |
| read_only | No | |
| task_type | Yes | |
| expires_at | Yes | |
| next_action | Yes | |
| stop_reason | No | Host-reported, sanitized reason for an early stop; not independently verified. |
| audit_events | No | Bounded hash-chained host-submitted workflow trace; no raw request bodies. |
| current_step | Yes | |
| model_policy | No | |
| risk_signals | No | |
| review_context | No | |
| allowed_bundles | No | |
| current_profile | No | |
| deep_assessment | No | |
| profile_reports | No | |
| review_profiles | No | |
| selected_bundle | No | |
| allowed_profiles | No | |
| deep_reason_code | No | |
| selected_profile | No | |
| completed_profiles | No | |
| final_review_report | No | |
| host_owns_decisions | No | |
| recommended_bundles | No | Task- and changed-file-based shortlists only; the host selects the route. |
| transition_receipts | No | Bounded request hashes for safe replay; no raw transition payloads are stored. |
| audit_trace_complete | No | True when the retained audit trace starts with session creation. |
| recommended_profiles | No | File-type-based profile hints only; the host selects the route. |
| review_completion_mode | No | Legacy preserves restored sessions; new bound sessions require complete inputs and impact coverage. |
| review_execution_groups | No | Execution groups fixed at triage; absent on older stored sessions. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/no open-world, and the description adds non-obvious traits the annotations cannot express: reads do not extend expires_at, the exact error strings returned and their recovery paths, and that local stdio access needs no extra credentials.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action and return contents, then grouped cleanly into failure recovery and sibling routing. Slightly verbose with quoted error strings, but each sentence carries actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema covering return values, full annotation coverage, and a single fully documented parameter, the description supplies exactly the missing layer: TTL behavior, error semantics, and tool routing. Nothing an agent needs to invoke it correctly is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the pattern and format are already documented. The description still adds meaning the schema does not: the run_id must be used against the server that retains that session, which implies a routing constraint an agent could otherwise miss.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific verb ('Read') plus the exact resource ('one retained run_id's state') and enumerates what comes back: audit trace, bound context, structured reports. That makes it trivially distinguishable from advance_/start_/finish_/list_ siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It names concrete use cases (resume or reconcile a lost advance_qa_orchestration response), the prerequisite (run_id must be on the server retaining that session), and explicit fallbacks for each failure mode: unknown/expired → start_qa_orchestration, lost run_id → list_qa_orchestrations. It also routes adjacent needs to the correct sibling (model policy, review progress, final outcome).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_qa_orchestration_catalogDiscover QA profiles and bundlesARead-onlyIdempotent
Read the static profile/bundle catalog: specialists, review scopes, and execution schedules.
Use before creating a session or choosing its triage route; no session or arguments required. Task-type recommendations are shortlists, not restrictions. Choose a bundle for broad work or a single profile for a narrow concern using changed files and confirmed stack.
For a session, the successful triage response includes selected_review_routes with the selected profile or bundle checklists and execution_groups.
Standalone or recovery lookup: prepare_qa_orchestration(agent_profile) or prepare_qa_orchestration_bundle(bundle).
Create a session: start_qa_orchestration; set its route: advance_qa_orchestration.
Session IDs: list_qa_orchestrations().
Available routes come from the installed server's bundled definitions; active sessions and configured models do not change this catalog.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| bundles | Yes | |
| profiles | Yes | |
| read_only | No | |
| host_owns_decisions | No | |
| recommended_bundles_by_task_type | Yes | Task-based shortlists only; they do not restrict the available bundles. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so safety is covered. The description adds genuinely non-obvious context: the catalog is static, requires no session or arguments, and is unaffected by active sessions or configured models. It stops short of describing the response shape, but an output schema exists to carry that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose in the first sentence, then routes. The bulleted alternative map is dense but each entry carries routing value; it is slightly longer than strictly necessary for a zero-argument catalog read.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the description covers everything else an agent needs: what the catalog contains, when to consult it, that it is static and argument-free, and which sibling handles each follow-up action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so the baseline is 4. The description reinforces this by noting 'no session or arguments required,' which prevents an agent from inventing a session_id or filter argument.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read the static profile/bundle catalog') and enumerates its contents (specialists, review scopes, execution schedules), which no sibling covers. An agent can distinguish it from prepare_qa_orchestration, start_qa_orchestration, and list_qa_orchestrations without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use it ('before creating a session or choosing its triage route') and routes to alternatives by scenario: standalone/recovery lookup goes to prepare_qa_orchestration(_bundle), session creation to start_qa_orchestration, route setting to advance_qa_orchestration, session listing to list_qa_orchestrations. It also clarifies that task-type recommendations are shortlists, not restrictions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_qa_orchestration_model_policyInspect server model settingsARead-onlyIdempotent
Read the server-wide model policy used to create new sessions.
The mode is either host_default (use the host's configured model and reasoning) or configured (use the returned per-stage provider, model IDs, and reasoning).
Use to inspect the policy loaded for new sessions; takes no arguments.
Existing session state and current-stage policy: get_qa_orchestration(run_id).
Create a session with these settings: start_qa_orchestration.
Reads the loaded in-memory snapshot, not the current policy file; restart the server connection after file changes. No session is created and no provider is contacted; the result does not verify which model the host executed.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | Yes | |
| provider | No | |
| deep_model | No | |
| triage_model | No | |
| primary_model | No | |
| deep_reasoning | No | |
| synthesis_model | No | |
| triage_reasoning | No | |
| primary_reasoning | No | |
| synthesis_reasoning | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/closed-world, yet the description adds genuinely non-obvious behavior: it reads a loaded in-memory snapshot rather than the policy file, requires a server reconnect after file edits, creates no session, contacts no provider, and does not verify what the host actually executed. These are exactly the caveats that would otherwise cause an agent to misinterpret stale results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then a compact mode definition, then a scannable bullet list of routing alternatives and caveats. Slightly longer than strictly necessary – the mode explanation is helpful but dense – though every sentence carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the return shape needn't be described, and the description instead covers the interpretive semantics an agent needs (host_default vs configured modes, snapshot staleness, non-verification). Nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4; the description correctly confirms 'takes no arguments', which matches the empty schema. No further parameter detail is possible or needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read the server-wide model policy used to create new sessions') and immediately scopes it to new-session policy, which separates it from get_qa_orchestration (existing session state) and start_qa_orchestration (session creation). An agent can pick it apart from the ten siblings without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use it ('Use to inspect the policy loaded for new sessions; takes no arguments') and gives two named alternatives with the conditions that select them, covering both the read-sibling and the create-sibling. This is the when/when-not/alternatives pattern scored at the top of the range.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_qa_orchestrationsList retained QA sessionsARead-onlyIdempotent
List non-expired QA session identifiers and brief metadata, including bound review identity.
Recover a lost run_id by matching task type, route, and stage; confirm if several match. Call get_qa_orchestration(run_id) for full state and next action, or get_qa_orchestration_model_policy() for server policy. Takes no arguments.
Includes retained terminal sessions; expired or evicted sessions are unrecoverable.
Sorts by expires_at descending, then run_id descending; empty means none are retained.
After restart, unfinished sessions and finalized sessions with saved review artifacts restored from configured local storage appear.
Reading does not extend session TTL.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| sessions | Yes | |
| read_only | No | |
| host_owns_decisions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (readOnly, idempotent, closed-world). The description adds genuinely non-obvious traits: retention scope (terminal sessions retained, expired/evicted unrecoverable), deterministic sort order, restart/storage restoration behavior, and the fact that reading does not extend TTL. This is exactly the behavioral context an agent cannot get from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the primary purpose in sentence one, followed by usage and alternatives, then three tight bullets for retention, ordering, and restart semantics. No sentence is redundant and each bullet carries distinct operational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-shape explanation is unnecessary. Between purpose, routing to alternatives, retention/expiry rules, sort order, and TTL behavior, the description covers everything an agent needs to decide to call this and interpret the results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. The description correctly notes 'Takes no arguments,' which is fully adequate; there is nothing further to specify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List non-expired QA session identifiers and brief metadata') and immediately scopes it against the sibling that returns detail ('Call get_qa_orchestration(run_id) for full state'). An agent can distinguish this list tool from get_qa_orchestration and get_qa_orchestration_model_policy without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit use case ('Recover a lost run_id by matching task type, route, and stage; confirm if several match') and routes to two named alternatives for different needs (full state, server policy). It also states the calling constraint ('Takes no arguments'), leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_qa_orchestrationRead specialist review checklistARead-onlyIdempotent
Return one specialist's fixed ReviewRoute checklist: profile, display_name, focus, required_sections, constraints, and escalation_signals.
Use before reviewing one scoped concern when no session is active, or to recover a checklist when the triage response is unavailable; no session is required.
Standalone review: use get_qa_orchestration_catalog() to match profile focus to changed files and confirmed stack.
Session primary_review: use selected_review_routes returned by the successful triage advance call. It contains every selected checklist and execution_group; do not make a separate preparation call for the same session.
This local lookup reads bundled definitions, without executing reviews or calling models. Use advance_qa_orchestration to apply a session route. Results depend only on agent_profile. Invalid values fail input validation; retry with a listed enum value.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_profile | Yes | Choose one fixed specialist profile: code_explorer maps execution and evidence; code_reviewer reviews implementation; pr_test_analyzer reviews coverage; security_reviewer and silent_failure_hunter target security and silent failures; ruby_reviewer, python_reviewer, typescript_reviewer, react_reviewer, and mobile_reviewer target their named stacks. Choose from changed files and confirmed stack. |
Output Schema
| Name | Required | Description |
|---|---|---|
| focus | Yes | The profile's review boundary and primary responsibility. |
| profile | Yes | |
| read_only | No | |
| constraints | Yes | Shared limits for this read-only review profile. |
| display_name | Yes | |
| required_sections | Yes | Profile-specific output sections; use these instead of a generic template. |
| escalation_signals | No | 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. |
| host_owns_decisions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/openWorld, but the description adds real context beyond them: it is a local lookup of bundled definitions that executes no reviews or models, needs no session, is deterministic on agent_profile, and fails input validation on invalid enums. It does not, however, describe anything about the returned checklist structure beyond naming the fields, and no output schema detail is referenced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose, then uses tight bullets for the two usage scenarios before closing with two short operational notes. Slightly long with some restatement of the session distinction, but every section carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single enum parameter, full schema coverage, existing annotations, and an output schema covering return values, the description supplies everything else needed: usage routing, no-session behavior, local-only execution, and error recovery. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the enum values are already fully documented in the schema itself, so the baseline is 3. The description adds only marginal value: 'Results depend only on agent_profile' and the retry-with-listed-enum guidance, which is behavioral rather than semantic.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a concrete verb and resource: 'Return one specialist's fixed ReviewRoute checklist', then names the exact payload fields (profile, display_name, focus, required_sections, constraints, escalation_signals). It is clearly distinguishable from siblings like advance_qa_orchestration, get_qa_orchestration_catalog, and prepare_qa_orchestration_bundle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use branches: standalone review uses get_qa_orchestration_catalog to match profile to changed files, while session primary_review should use selected_review_routes from triage instead. It also states the exclusion plainly – 'do not make a separate preparation call for the same session' – and notes no session is required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_qa_orchestration_bundleRead bundle review checklistsARead-onlyIdempotent
Return every fixed ReviewRoute checklist and execution wave for one bundle.
Use for standalone bundle lookup or to recover checklists when the successful triage response is unavailable. In a session, the triage advance response includes the selected checklists and execution_groups. Run execution_groups in order; profiles in one group are independent and may run concurrently when the host supports it. For session transitions, follow advance_qa_orchestration's group-reporting rules. For a single profile, use prepare_qa_orchestration. This stateless lookup reads bundled definitions; it does not execute reviews, create a session, or call models.
| Name | Required | Description | Default |
|---|---|---|---|
| bundle | Yes | Selected fixed multi-profile bundle. The tool returns every checklist and its ordered execution_groups. Profiles in the same group may run concurrently; for one profile, use prepare_qa_orchestration. |
Output Schema
| Name | Required | Description |
|---|---|---|
| bundle | Yes | Fixed bundle whose profile checklists are returned. |
| routes | Yes | Detailed checklists in the selected route's declared profile order. Each route is a fixed, read-only checklist; it does not execute a review. |
| execution_groups | Yes | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/idempotentHint annotations, the description states it is a stateless lookup that does not execute reviews, create a session, or call models, and it discloses execution semantics — run execution_groups in order, with same-group profiles being concurrency-safe. That is meaningful behavioral context the annotations alone do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and usage are front-loaded in the first two sentences, and the closing sentence cleanly bounds side effects. However, the concurrency rule for same-group profiles is stated twice (once in the body, once in the parameter description) and the terminology drifts between 'execution wave' and 'execution_groups'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the description still covers selection, alternatives, ordering/concurrency of execution groups, and the absence of side effects. Nothing an agent needs in order to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single enum parameter already lists all bundle values and explains same-group concurrency. The description only restates that the tool returns checklists and ordered groups for one bundle, adding little semantic detail the schema does not already carry, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence gives a specific verb and resource — returning every fixed ReviewRoute checklist plus execution groups for exactly one bundle — and immediately scopes it with 'one bundle'. It also names the sibling that handles the single-profile case (prepare_qa_orchestration), so an agent can distinguish it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use cases are given: standalone bundle lookup, or recovering checklists when the triage response is unavailable. It also routes session transitions to advance_qa_orchestration's group-reporting rules and single-profile work to prepare_qa_orchestration, covering both alternatives and exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
renew_qa_orchestrationRenew active QA session leaseA
Extend an active session's TTL while host review work is running.
Pass the retained run_id and, optionally, the latest session revision as expected_revision; a stale revision fails without renewing. Before expires_at, active primary/deep/synthesis and awaiting-host-outcome sessions may be renewed. Terminal or expired sessions cannot be revived. Only the lease changes: no workflow revision advances and no worker or model is launched. Use advance_qa_orchestration to record progress and finish_qa_orchestration for the outcome.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | Session identifier returned by start_qa_orchestration or list_qa_orchestrations: qar- followed by 32 lowercase hexadecimal characters. Reuse it for this session; do not invent or transform it. | |
| expected_revision | No | Optional current workflow revision; stale renewals fail. |
Output Schema
| Name | Required | Description |
|---|---|---|
| run_id | Yes | |
| status | Yes | |
| revision | No | Workflow revision for conditional writes. |
| read_only | No | |
| task_type | Yes | |
| expires_at | Yes | |
| next_action | Yes | |
| stop_reason | No | Host-reported, sanitized reason for an early stop; not independently verified. |
| audit_events | No | Bounded hash-chained host-submitted workflow trace; no raw request bodies. |
| current_step | Yes | |
| model_policy | No | |
| risk_signals | No | |
| review_context | No | |
| allowed_bundles | No | |
| current_profile | No | |
| deep_assessment | No | |
| profile_reports | No | |
| review_profiles | No | |
| selected_bundle | No | |
| allowed_profiles | No | |
| deep_reason_code | No | |
| selected_profile | No | |
| completed_profiles | No | |
| final_review_report | No | |
| host_owns_decisions | No | |
| recommended_bundles | No | Task- and changed-file-based shortlists only; the host selects the route. |
| transition_receipts | No | Bounded request hashes for safe replay; no raw transition payloads are stored. |
| audit_trace_complete | No | True when the retained audit trace starts with session creation. |
| recommended_profiles | No | File-type-based profile hints only; the host selects the route. |
| review_completion_mode | No | Legacy preserves restored sessions; new bound sessions require complete inputs and impact coverage. |
| review_execution_groups | No | Execution groups fixed at triage; absent on older stored sessions. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (which only declare it non-read-only, non-idempotent, non-destructive), the description discloses the key behavioral traits: a stale expected_revision fails without renewing, nothing but the lease changes, no workflow revision advances, and no worker or model is launched. That is exactly the context an agent needs before calling a mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with the action and constrained by clear boundaries. Every clause adds a distinct rule (renewable states, pre-expiry timing, stale-revision failure, lease-only effect, sibling routing) with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter lease-renewal mutation with an output schema, the description covers purpose, eligible states, failure modes, and side-effect scope. An agent has everything needed to invoke it correctly and to route elsewhere when the intent is progress or completion.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are already fully documented in the input schema, including the run_id pattern and the meaning of expected_revision. The description largely restates the schema's stale-revision failure behavior rather than adding new semantics, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Extend an active session's TTL'. It also narrows the scope ('while host review work is running') and explicitly distinguishes this lease-only action from advance_qa_orchestration and finish_qa_orchestration, so an agent can tell it apart from all eleven siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states exactly which session states qualify for renewal (active primary/deep/synthesis and awaiting-host-outcome), the timing constraint ('before expires_at'), and the hard exclusion that terminal or expired sessions cannot be revived. It also names the alternative tools for other intents, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_git_review_inputResolve local Git review inputARead-onlyIdempotent
Resolve two locally available Git refs into immutable commits and diff metadata.
The repository path is on the server host. This compares the resolved commits directly; choose the merge base explicitly when a merge-base comparison is required. It does not fetch refs, inspect uncommitted changes, or construct the evidence packet. Unresolvable refs fail; both refs must resolve to different commits with a nonempty diff.
| Name | Required | Description | Default |
|---|---|---|---|
| base | Yes | Locally available base Git ref or commit. | |
| head | Yes | Locally available head Git ref or commit. | |
| repository | Yes | Absolute path to the local Git repository on the server host. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/closed-world annotations, the description discloses key preconditions and failure behavior: refs must resolve, must be different commits, and must produce a nonempty diff, otherwise the call fails. It also flags that the repository path lives on the server host and that no fetch happens, which matters for staleness. Return shape is left to the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences: action first, then environment, then the merge-base caveat, then exclusions and failure conditions. Nothing is padded and the most consequential constraints are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All three required parameters are documented in the schema, annotations cover the safety profile, and an output schema covers the return value, so the description only needs to carry preconditions and exclusions, which it does. Nothing an agent needs before invoking this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, and the description adds real constraint meaning: refs must be locally resolvable and must resolve to two distinct commits with a nonempty diff. The server-host remark largely repeats the repository parameter's schema text, but the diff-validity constraint meaningfully informs how base and head must be supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence gives a specific verb and resource: resolving two local Git refs into immutable commits plus diff metadata, with 'locally available' narrowing scope. It does not name a sibling tool, but the sibling list is entirely QA-orchestration tools, so ambiguity is low; the mention that it does not construct the evidence packet further delimits its role in the pipeline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance is given for merge-base cases ('choose the merge base explicitly when a merge-base comparison is required'), and the negative list (no fetching, no uncommitted changes, no evidence packet) steers an agent away from misfires. It stops short of naming an alternative tool for those excluded cases, so it is clear context rather than full when/when-not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_qa_orchestrationA
Create a QA session and bind code reviews to one immutable review input.
Before calling for ordinary_review or widget_review, complete review preflight: resolve the authoritative task/MR, pin exact base_sha and head_sha for Git input, or use input_kind=diff with no Git revisions for a standalone unified diff; inspect the exact diff, build the host-owned Evidence Packet and stable refs, compute diff_sha256 and evidence_packet_sha256, and provide input_manifest.schema_version=2 with source_inventory_status and source_conflict_status. A task or MR URL alone is not enough. If an exact repository, required Git revisions, diff, or packet identity cannot be pinned, do not start; resolve it or tell the user what is missing. Record unavailable requirement/spec sources with partial or unknown manifest statuses.
Every call creates a separate session. Use prepare_qa_orchestration for a stateless profile
checklist. task_type narrows the bundle shortlist; the host still selects the review route.
Code review task types require review_context with the exact source and Evidence Packet
identifiers plus an input manifest schema v2. The server stores identifiers and submitted
report fields, not the raw diff or full Evidence Packet.
Sessions expire after the configured TTL (1800 seconds by default).
Capacity is 100 sessions by default and can be configured.
Expired sessions are purged and retained terminal sessions may be evicted. If capacity can only be freed by removing an active session, the call returns a
session limiterror.
| Name | Required | Description | Default |
|---|---|---|---|
| task_type | Yes | Broad request category: ordinary_review for implementation review, widget_review for widget changes, epic_analysis for broad exploration, requirements_analysis for requirement review, qa_planning for coverage planning, autotest_implementation for automation work, or other. This shapes the task-type shortlist; review_context may append stack-matched bundles. The host chooses the route from changed files and evidence; this is not a risk level. | |
| review_context | No | May be omitted only for non-review task types. Required for ordinary_review and widget_review. Before calling for either review type, resolve the authoritative task/MR and, for Git input, exact base_sha and head_sha; for standalone diff use input_kind=diff with no revisions. Inspect the diff, and provide changed_files, diff_sha256, evidence_packet_sha256, evidence_refs, and input_manifest.schema_version=2 with source_inventory_status and source_conflict_status. Do not use a URL or placeholder instead. Keep raw source, diff, and Evidence Packet contents with the host; pass only identifiers, digests, and metadata. When supplied, every completed profile must include a structured report whose evidence references belong to this packet; completed outcomes require a final report. The response may include file-type-based recommended_profiles and stack-matched recommended_bundles as non-binding hints. Optional evidence_registry metadata binds each ref to a source kind, revision, coordinates and content hash. The host verifies actual content locally. |
Output Schema
| Name | Required | Description |
|---|---|---|
| run_id | Yes | |
| status | Yes | |
| revision | No | Workflow revision for conditional writes. |
| read_only | No | |
| task_type | Yes | |
| expires_at | Yes | |
| next_action | Yes | |
| stop_reason | No | Host-reported, sanitized reason for an early stop; not independently verified. |
| audit_events | No | Bounded hash-chained host-submitted workflow trace; no raw request bodies. |
| current_step | Yes | |
| model_policy | No | |
| risk_signals | No | |
| review_context | No | |
| allowed_bundles | No | |
| current_profile | No | |
| deep_assessment | No | |
| profile_reports | No | |
| review_profiles | No | |
| selected_bundle | No | |
| allowed_profiles | No | |
| deep_reason_code | No | |
| selected_profile | No | |
| completed_profiles | No | |
| final_review_report | No | |
| host_owns_decisions | No | |
| recommended_bundles | No | Task- and changed-file-based shortlists only; the host selects the route. |
| transition_receipts | No | Bounded request hashes for safe replay; no raw transition payloads are stored. |
| audit_trace_complete | No | True when the retained audit trace starts with session creation. |
| recommended_profiles | No | File-type-based profile hints only; the host selects the route. |
| review_completion_mode | No | Legacy preserves restored sessions; new bound sessions require complete inputs and impact coverage. |
| review_execution_groups | No | Execution groups fixed at triage; absent on older stored sessions. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (which only say the call is not read-only, not idempotent, closed-world, non-destructive), the description discloses session TTL (1800s default), default capacity (100, configurable), eviction/purge behavior, and the specific 'session limit' error condition. It also clarifies a critical data-handling trait: 'The server stores identifiers and submitted report fields, not the raw diff or full Evidence Packet.' This is substantial disclosure the annotations do not carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and the preflight obligations are front-loaded, and the bulleted limits block at the end is scannable. However, the middle preflight paragraph is a dense imperative wall that largely repeats the review_context schema's own description nearly verbatim, so some sentences do not earn their place twice over.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with a very large nested review_context, the description covers the operational envelope (TTL, capacity, eviction, error), the storage model, the required preflight, and the sibling to use for a dry run. With an output schema present and 100% schema description coverage, return-value details need not be explained, and nothing an agent needs to call this correctly appears missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters, but the description still adds real meaning: task_type is framed as narrowing a bundle shortlist rather than a risk level and explicitly 'not a risk level,' and the host selects the route. It also states that review_context may be omitted only for non-review task types, which is semantic guidance the enum alone does not convey. Minor gap: the many auxiliary hashes (neighbor_discovery_*, diff_hunk_inventory_*) are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence gives a specific verb+resource+scoping constraint: 'Create a QA session and bind code reviews to one immutable review input.' It also tells the agent exactly which sibling to use for the lighter-weight case ('Use prepare_qa_orchestration for a stateless profile checklist'), so the boundary between the two tools is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description spells out explicit preconditions per task type ('Code review task types require review_context...') and a clear negative rule: 'If an exact repository, required Git revisions, diff, or packet identity cannot be pinned, do not start; resolve it or tell the user what is missing.' It also warns that 'A task or MR URL alone is not enough,' which is exactly the kind of misuse-prevention guidance agents need.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v0.2.22- Changed
advance_qa_orchestration4 fields changed- changed
Input schema / properties / profile_reports / anyOfPrevious 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" - }, - "origin": { - "default": "review", - "enum": [ - "review", - "verifier" - ], - "type": "string" - }, - "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_cycle_receipts": { - "default": [], - "items": { - "additionalProperties": false, - "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", - "properties": { - "included_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "omitted_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "prompt_write_status": { - "enum": [ - "prepared", - "written" - ], - "type": "string" - }, - "selected_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "source_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "stage": { - "enum": [ - "review", - "second_look", - "verify" - ], - "type": "string" - }, - "submitted_prompt_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "stage", - "prompt_write_status", - "submitted_prompt_sha256", - "source_packet_sha256", - "selected_packet_sha256" - ], - "type": "object" - }, - "maxItems": 3, - "type": "array" - }, - "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" - }, - "origin": { - "default": "review", - "enum": [ - "review", - "verifier" - ], - "type": "string" - }, - "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "review_cycle_stages": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Observed execution of one cycle stage; usage is not an inferred total.", + "properties": { + "cached_input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "elapsed_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "outcome": { + "enum": [ + "returned", + "failed", + "cancelled" + ], + "type": "string" + }, + "output_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "prompt_write_status": { + "anyOf": [ + { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + } + }, + "required": [ + "stage", + "outcome", + "elapsed_seconds" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "text": { + "maxLength": 2000, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "maxItems": 100, + "type": "array" + } + }, + "required": [ + "profile", + "scope" + ], + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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" - }, - "origin": { - "default": "review", - "enum": [ - "review", - "verifier" - ], - "type": "string" - }, - "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_cycle_receipts": { - "default": [], - "items": { - "additionalProperties": false, - "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", - "properties": { - "included_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "omitted_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "prompt_write_status": { - "enum": [ - "prepared", - "written" - ], - "type": "string" - }, - "selected_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "source_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "stage": { - "enum": [ - "review", - "second_look", - "verify" - ], - "type": "string" - }, - "submitted_prompt_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "stage", - "prompt_write_status", - "submitted_prompt_sha256", - "source_packet_sha256", - "selected_packet_sha256" - ], - "type": "object" - }, - "maxItems": 3, - "type": "array" - }, - "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" - }, - "origin": { - "default": "review", - "enum": [ - "review", - "verifier" - ], - "type": "string" - }, - "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": { - "anyOf": [ - { - "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", - "type": "string" - }, - { - "type": "null" - } - ], - "default": null - }, - "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", - "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "review_cycle_stages": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Observed execution of one cycle stage; usage is not an inferred total.", + "properties": { + "cached_input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "elapsed_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "outcome": { + "enum": [ + "returned", + "failed", + "cancelled" + ], + "type": "string" + }, + "output_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "prompt_write_status": { + "anyOf": [ + { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + } + }, + "required": [ + "stage", + "outcome", + "elapsed_seconds" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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": { + "anyOf": [ + { + "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "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", + "environment", + "source", + "source_ref" + ], + "type": "object" + }, + "maxItems": 250, + "type": "array" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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_cycle_receipts": { - "default": [], - "items": { - "additionalProperties": false, - "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", - "properties": { - "included_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "omitted_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "prompt_write_status": { - "enum": [ - "prepared", - "written" - ], - "type": "string" - }, - "selected_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "source_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "stage": { - "enum": [ - "review", - "second_look", - "verify" - ], - "type": "string" - }, - "submitted_prompt_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "stage", - "prompt_write_status", - "submitted_prompt_sha256", - "source_packet_sha256", - "selected_packet_sha256" - ], - "type": "object" - }, - "maxItems": 3, - "type": "array" - }, - "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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "review_cycle_stages": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Observed execution of one cycle stage; usage is not an inferred total.", + "properties": { + "cached_input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "elapsed_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "outcome": { + "enum": [ + "returned", + "failed", + "cancelled" + ], + "type": "string" + }, + "output_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "prompt_write_status": { + "anyOf": [ + { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + } + }, + "required": [ + "stage", + "outcome", + "elapsed_seconds" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + } +] - added
Output schema / properties / review_execution_groupsAdded value: +{ + "anyOf": [ + { + "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" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Execution groups fixed at triage; absent on older stored sessions." +}
- Changed
finish_qa_orchestration4 fields changed- changed
Input schema / properties / final_review_report / anyOfPrevious 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" - }, - "origin": { - "default": "review", - "enum": [ - "review", - "verifier" - ], - "type": "string" - }, - "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_cycle_receipts": { - "default": [], - "items": { - "additionalProperties": false, - "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", - "properties": { - "included_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "omitted_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "prompt_write_status": { - "enum": [ - "prepared", - "written" - ], - "type": "string" - }, - "selected_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "source_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "stage": { - "enum": [ - "review", - "second_look", - "verify" - ], - "type": "string" - }, - "submitted_prompt_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "stage", - "prompt_write_status", - "submitted_prompt_sha256", - "source_packet_sha256", - "selected_packet_sha256" - ], - "type": "object" - }, - "maxItems": 3, - "type": "array" - }, - "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" - }, - "origin": { - "default": "review", - "enum": [ - "review", - "verifier" - ], - "type": "string" - }, - "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": { - "anyOf": [ - { - "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", - "type": "string" - }, - { - "type": "null" - } - ], - "default": null - }, - "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", - "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "review_cycle_stages": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Observed execution of one cycle stage; usage is not an inferred total.", + "properties": { + "cached_input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "elapsed_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "outcome": { + "enum": [ + "returned", + "failed", + "cancelled" + ], + "type": "string" + }, + "output_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "prompt_write_status": { + "anyOf": [ + { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + } + }, + "required": [ + "stage", + "outcome", + "elapsed_seconds" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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": { + "anyOf": [ + { + "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "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", + "environment", + "source", + "source_ref" + ], + "type": "object" + }, + "maxItems": 250, + "type": "array" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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" - }, - "origin": { - "default": "review", - "enum": [ - "review", - "verifier" - ], - "type": "string" - }, - "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_cycle_receipts": { - "default": [], - "items": { - "additionalProperties": false, - "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", - "properties": { - "included_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "omitted_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "prompt_write_status": { - "enum": [ - "prepared", - "written" - ], - "type": "string" - }, - "selected_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "source_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "stage": { - "enum": [ - "review", - "second_look", - "verify" - ], - "type": "string" - }, - "submitted_prompt_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "stage", - "prompt_write_status", - "submitted_prompt_sha256", - "source_packet_sha256", - "selected_packet_sha256" - ], - "type": "object" - }, - "maxItems": 3, - "type": "array" - }, - "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" - }, - "origin": { - "default": "review", - "enum": [ - "review", - "verifier" - ], - "type": "string" - }, - "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": { - "anyOf": [ - { - "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", - "type": "string" - }, - { - "type": "null" - } - ], - "default": null - }, - "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", - "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "review_cycle_stages": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Observed execution of one cycle stage; usage is not an inferred total.", + "properties": { + "cached_input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "elapsed_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "outcome": { + "enum": [ + "returned", + "failed", + "cancelled" + ], + "type": "string" + }, + "output_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "prompt_write_status": { + "anyOf": [ + { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + } + }, + "required": [ + "stage", + "outcome", + "elapsed_seconds" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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": { + "anyOf": [ + { + "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "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", + "environment", + "source", + "source_ref" + ], + "type": "object" + }, + "maxItems": 250, + "type": "array" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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_cycle_receipts": { - "default": [], - "items": { - "additionalProperties": false, - "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", - "properties": { - "included_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "omitted_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "prompt_write_status": { - "enum": [ - "prepared", - "written" - ], - "type": "string" - }, - "selected_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "source_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "stage": { - "enum": [ - "review", - "second_look", - "verify" - ], - "type": "string" - }, - "submitted_prompt_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "stage", - "prompt_write_status", - "submitted_prompt_sha256", - "source_packet_sha256", - "selected_packet_sha256" - ], - "type": "object" - }, - "maxItems": 3, - "type": "array" - }, - "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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "review_cycle_stages": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Observed execution of one cycle stage; usage is not an inferred total.", + "properties": { + "cached_input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "elapsed_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "outcome": { + "enum": [ + "returned", + "failed", + "cancelled" + ], + "type": "string" + }, + "output_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "prompt_write_status": { + "anyOf": [ + { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + } + }, + "required": [ + "stage", + "outcome", + "elapsed_seconds" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + } +] - added
Output schema / properties / review_execution_groupsAdded value: +{ + "anyOf": [ + { + "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" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Execution groups fixed at triage; absent on older stored sessions." +}
- Changed
get_qa_orchestration3 fields changed- changed
Output schema / properties / final_review_report / anyOfPrevious 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" - }, - "origin": { - "default": "review", - "enum": [ - "review", - "verifier" - ], - "type": "string" - }, - "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_cycle_receipts": { - "default": [], - "items": { - "additionalProperties": false, - "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", - "properties": { - "included_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "omitted_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "prompt_write_status": { - "enum": [ - "prepared", - "written" - ], - "type": "string" - }, - "selected_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "source_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "stage": { - "enum": [ - "review", - "second_look", - "verify" - ], - "type": "string" - }, - "submitted_prompt_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "stage", - "prompt_write_status", - "submitted_prompt_sha256", - "source_packet_sha256", - "selected_packet_sha256" - ], - "type": "object" - }, - "maxItems": 3, - "type": "array" - }, - "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" - }, - "origin": { - "default": "review", - "enum": [ - "review", - "verifier" - ], - "type": "string" - }, - "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": { - "anyOf": [ - { - "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", - "type": "string" - }, - { - "type": "null" - } - ], - "default": null - }, - "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", - "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "review_cycle_stages": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Observed execution of one cycle stage; usage is not an inferred total.", + "properties": { + "cached_input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "elapsed_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "outcome": { + "enum": [ + "returned", + "failed", + "cancelled" + ], + "type": "string" + }, + "output_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "prompt_write_status": { + "anyOf": [ + { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + } + }, + "required": [ + "stage", + "outcome", + "elapsed_seconds" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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": { + "anyOf": [ + { + "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "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", + "environment", + "source", + "source_ref" + ], + "type": "object" + }, + "maxItems": 250, + "type": "array" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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_cycle_receipts": { - "default": [], - "items": { - "additionalProperties": false, - "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", - "properties": { - "included_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "omitted_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "prompt_write_status": { - "enum": [ - "prepared", - "written" - ], - "type": "string" - }, - "selected_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "source_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "stage": { - "enum": [ - "review", - "second_look", - "verify" - ], - "type": "string" - }, - "submitted_prompt_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "stage", - "prompt_write_status", - "submitted_prompt_sha256", - "source_packet_sha256", - "selected_packet_sha256" - ], - "type": "object" - }, - "maxItems": 3, - "type": "array" - }, - "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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "review_cycle_stages": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Observed execution of one cycle stage; usage is not an inferred total.", + "properties": { + "cached_input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "elapsed_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "outcome": { + "enum": [ + "returned", + "failed", + "cancelled" + ], + "type": "string" + }, + "output_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "prompt_write_status": { + "anyOf": [ + { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + } + }, + "required": [ + "stage", + "outcome", + "elapsed_seconds" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + } +] - added
Output schema / properties / review_execution_groupsAdded value: +{ + "anyOf": [ + { + "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" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Execution groups fixed at triage; absent on older stored sessions." +}
- Changed
renew_qa_orchestration3 fields changed- changed
Output schema / properties / final_review_report / anyOfPrevious 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" - }, - "origin": { - "default": "review", - "enum": [ - "review", - "verifier" - ], - "type": "string" - }, - "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_cycle_receipts": { - "default": [], - "items": { - "additionalProperties": false, - "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", - "properties": { - "included_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "omitted_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "prompt_write_status": { - "enum": [ - "prepared", - "written" - ], - "type": "string" - }, - "selected_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "source_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "stage": { - "enum": [ - "review", - "second_look", - "verify" - ], - "type": "string" - }, - "submitted_prompt_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "stage", - "prompt_write_status", - "submitted_prompt_sha256", - "source_packet_sha256", - "selected_packet_sha256" - ], - "type": "object" - }, - "maxItems": 3, - "type": "array" - }, - "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" - }, - "origin": { - "default": "review", - "enum": [ - "review", - "verifier" - ], - "type": "string" - }, - "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": { - "anyOf": [ - { - "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", - "type": "string" - }, - { - "type": "null" - } - ], - "default": null - }, - "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", - "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "review_cycle_stages": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Observed execution of one cycle stage; usage is not an inferred total.", + "properties": { + "cached_input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "elapsed_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "outcome": { + "enum": [ + "returned", + "failed", + "cancelled" + ], + "type": "string" + }, + "output_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "prompt_write_status": { + "anyOf": [ + { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + } + }, + "required": [ + "stage", + "outcome", + "elapsed_seconds" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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": { + "anyOf": [ + { + "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "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", + "environment", + "source", + "source_ref" + ], + "type": "object" + }, + "maxItems": 250, + "type": "array" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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_cycle_receipts": { - "default": [], - "items": { - "additionalProperties": false, - "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", - "properties": { - "included_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "omitted_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "prompt_write_status": { - "enum": [ - "prepared", - "written" - ], - "type": "string" - }, - "selected_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "source_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "stage": { - "enum": [ - "review", - "second_look", - "verify" - ], - "type": "string" - }, - "submitted_prompt_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "stage", - "prompt_write_status", - "submitted_prompt_sha256", - "source_packet_sha256", - "selected_packet_sha256" - ], - "type": "object" - }, - "maxItems": 3, - "type": "array" - }, - "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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "review_cycle_stages": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Observed execution of one cycle stage; usage is not an inferred total.", + "properties": { + "cached_input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "elapsed_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "outcome": { + "enum": [ + "returned", + "failed", + "cancelled" + ], + "type": "string" + }, + "output_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "prompt_write_status": { + "anyOf": [ + { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + } + }, + "required": [ + "stage", + "outcome", + "elapsed_seconds" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + } +] - added
Output schema / properties / review_execution_groupsAdded value: +{ + "anyOf": [ + { + "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" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Execution groups fixed at triage; absent on older stored sessions." +}
- Changed
start_qa_orchestration3 fields changed- changed
Output schema / properties / final_review_report / anyOfPrevious 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" - }, - "origin": { - "default": "review", - "enum": [ - "review", - "verifier" - ], - "type": "string" - }, - "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_cycle_receipts": { - "default": [], - "items": { - "additionalProperties": false, - "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", - "properties": { - "included_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "omitted_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "prompt_write_status": { - "enum": [ - "prepared", - "written" - ], - "type": "string" - }, - "selected_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "source_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "stage": { - "enum": [ - "review", - "second_look", - "verify" - ], - "type": "string" - }, - "submitted_prompt_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "stage", - "prompt_write_status", - "submitted_prompt_sha256", - "source_packet_sha256", - "selected_packet_sha256" - ], - "type": "object" - }, - "maxItems": 3, - "type": "array" - }, - "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" - }, - "origin": { - "default": "review", - "enum": [ - "review", - "verifier" - ], - "type": "string" - }, - "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": { - "anyOf": [ - { - "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", - "type": "string" - }, - { - "type": "null" - } - ], - "default": null - }, - "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", - "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "review_cycle_stages": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Observed execution of one cycle stage; usage is not an inferred total.", + "properties": { + "cached_input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "elapsed_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "outcome": { + "enum": [ + "returned", + "failed", + "cancelled" + ], + "type": "string" + }, + "output_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "prompt_write_status": { + "anyOf": [ + { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + } + }, + "required": [ + "stage", + "outcome", + "elapsed_seconds" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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": { + "anyOf": [ + { + "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "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", + "environment", + "source", + "source_ref" + ], + "type": "object" + }, + "maxItems": 250, + "type": "array" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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_cycle_receipts": { - "default": [], - "items": { - "additionalProperties": false, - "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", - "properties": { - "included_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "omitted_evidence_refs": { - "default": [], - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", - "type": "string" - }, - "maxItems": 1000, - "type": "array" - }, - "prompt_write_status": { - "enum": [ - "prepared", - "written" - ], - "type": "string" - }, - "selected_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "source_packet_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - }, - "stage": { - "enum": [ - "review", - "second_look", - "verify" - ], - "type": "string" - }, - "submitted_prompt_sha256": { - "pattern": "(?i)^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "stage", - "prompt_write_status", - "submitted_prompt_sha256", - "source_packet_sha256", - "selected_packet_sha256" - ], - "type": "object" - }, - "maxItems": 3, - "type": "array" - }, - "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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "review_cycle_stages": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Observed execution of one cycle stage; usage is not an inferred total.", + "properties": { + "cached_input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "elapsed_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "outcome": { + "enum": [ + "returned", + "failed", + "cancelled" + ], + "type": "string" + }, + "output_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "prompt_write_status": { + "anyOf": [ + { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + } + }, + "required": [ + "stage", + "outcome", + "elapsed_seconds" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + } +] - added
Output schema / properties / review_execution_groupsAdded value: +{ + "anyOf": [ + { + "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" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Execution groups fixed at triage; absent on older stored sessions." +}
5 tool updates
v0.2.21- Changed
advance_qa_orchestration5 fields changed- changed
Input schema / properties / profile_reports / anyOfPrevious 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" - } -]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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "text": { + "maxLength": 2000, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "maxItems": 100, + "type": "array" + } + }, + "required": [ + "profile", + "scope" + ], + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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" - } -]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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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": { + "anyOf": [ + { + "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "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", + "environment", + "source", + "source_ref" + ], + "type": "object" + }, + "maxItems": 250, + "type": "array" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / profile_reports / items / properties / coverage_gaps / items / properties / originAdded value: +{ + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" +} - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - } -]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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / unverified / items / properties / originAdded value: +{ + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" +}
- Changed
finish_qa_orchestration6 fields changed- changed
Input schema / properties / final_review_report / anyOfPrevious 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" - } -]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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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": { + "anyOf": [ + { + "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "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", + "environment", + "source", + "source_ref" + ], + "type": "object" + }, + "maxItems": 250, + "type": "array" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Input schema / properties / final_review_report / descriptionPrevious value: -"Structured synthesized findings and coverage for a review_context-bound session. Required when its outcome is completed; each finding cites registered evidence refs and the original profile-local candidate IDs and evidence that support it. The report must include one candidate_decisions entry per submitted candidate. Every defect candidate needs failure_condition, flip_condition, expected_behavior, and actual_behavior (source-predicted, not runtime proof), and every outcome needs a bound refutation assessment: not_refuted for confirmed/duplicate, refuted for rejected, unverified for unverified. Rejected/unverified outcomes preserve the original candidate snapshot. Confirmed findings require host severity, impact, affected area, and source locations. Optional verification_records capture test/CI/runtime scenarios, results, environment, run reference, reason, and exact reviewed head SHA; these remain host-supplied and are not independently authenticated by the orchestrator. The report is limited to 80 KiB; profile plus final reports are limited to 288 KiB per session."New value: +"Structured synthesized findings and coverage for a review_context-bound session. Required when its outcome is completed; each finding cites registered evidence refs and the original profile-local candidate IDs and evidence that support it. The report must include one candidate_decisions entry per submitted candidate. Every defect candidate needs failure_condition, flip_condition, expected_behavior, and actual_behavior (source-predicted, not runtime proof), and every outcome needs a bound refutation assessment: not_refuted for confirmed/duplicate, refuted for rejected, unverified for unverified. Rejected/unverified outcomes preserve the original candidate snapshot. Confirmed findings require host severity, impact, affected area, and source locations. Optional verification_records capture test/CI/runtime scenarios, results, environment, run reference, reason, and head SHA when known; for diff-only reviews the head binding remains unknown. These records remain host-supplied and are not independently authenticated by the orchestrator. The report is limited to 80 KiB; profile plus final reports are limited to 288 KiB per session." - changed
Output schema / properties / final_review_report / anyOfPrevious 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" - } -]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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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": { + "anyOf": [ + { + "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "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", + "environment", + "source", + "source_ref" + ], + "type": "object" + }, + "maxItems": 250, + "type": "array" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / profile_reports / items / properties / coverage_gaps / items / properties / originAdded value: +{ + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" +} - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - } -]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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / unverified / items / properties / originAdded value: +{ + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" +}
- Changed
get_qa_orchestration4 fields changed- changed
Output schema / properties / final_review_report / anyOfPrevious 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" - } -]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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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": { + "anyOf": [ + { + "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "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", + "environment", + "source", + "source_ref" + ], + "type": "object" + }, + "maxItems": 250, + "type": "array" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / profile_reports / items / properties / coverage_gaps / items / properties / originAdded value: +{ + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" +} - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - } -]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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / unverified / items / properties / originAdded value: +{ + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" +}
- Changed
renew_qa_orchestration4 fields changed- changed
Output schema / properties / final_review_report / anyOfPrevious 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" - } -]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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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": { + "anyOf": [ + { + "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "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", + "environment", + "source", + "source_ref" + ], + "type": "object" + }, + "maxItems": 250, + "type": "array" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / profile_reports / items / properties / coverage_gaps / items / properties / originAdded value: +{ + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" +} - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - } -]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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / unverified / items / properties / originAdded value: +{ + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" +}
- Changed
start_qa_orchestration4 fields changed- changed
Output schema / properties / final_review_report / anyOfPrevious 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" - } -]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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + }, + "origin": { + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" + }, + "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": { + "anyOf": [ + { + "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "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", + "environment", + "source", + "source_ref" + ], + "type": "object" + }, + "maxItems": 250, + "type": "array" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / profile_reports / items / properties / coverage_gaps / items / properties / originAdded value: +{ + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" +} - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - } -]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_cycle_receipts": { + "default": [], + "items": { + "additionalProperties": false, + "description": "Local prompt handoff for one review-cycle stage; not proof of model reasoning.", + "properties": { + "included_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "omitted_evidence_refs": { + "default": [], + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 1000, + "type": "array" + }, + "prompt_write_status": { + "enum": [ + "prepared", + "written" + ], + "type": "string" + }, + "selected_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "source_packet_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + "stage": { + "enum": [ + "review", + "second_look", + "verify" + ], + "type": "string" + }, + "submitted_prompt_sha256": { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "stage", + "prompt_write_status", + "submitted_prompt_sha256", + "source_packet_sha256", + "selected_packet_sha256" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / unverified / items / properties / originAdded value: +{ + "default": "review", + "enum": [ + "review", + "verifier" + ], + "type": "string" +}
10 tool updates
v0.2.20- Changed
advance_qa_orchestration22 fields changed- changed
Input schema / properties / completed_profile / anyOfPrevious 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" + } +] - changed
Input schema / properties / completed_profiles / anyOfPrevious 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" + } +] - changed
Input schema / properties / implementation_review / descriptionPrevious 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." - changed
Input schema / properties / profile_reports / anyOfPrevious 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" + } +] - changed
Input schema / properties / selected_profile / anyOfPrevious 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" + } +] - added
Input schema / properties / stop_reasonAdded 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." +} - changed
Output schema / properties / allowed_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / audit_events / items / properties / completed_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / audit_events / items / properties / current_profile / anyOfPrevious 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" + } +] - changed
Output schema / properties / audit_events / items / properties / selected_profile / anyOfPrevious 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" + } +] - changed
Output schema / properties / completed_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / current_profile / anyOfPrevious 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" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" + } +] - changed
Output schema / properties / profile_reports / items / properties / profile / enumPrevious 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" +] - removed
Output schema / properties / profile_reports / items / properties / targeted_scenario_auditRemoved 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" -} - changed
Output schema / properties / recommended_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / review_context / anyOfPrevious 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" + } +] - changed
Output schema / properties / review_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / selected_profile / anyOfPrevious 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" + } +] - changed
Output schema / properties / selected_review_routes / anyOfPrevious 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" + } +] - added
Output schema / properties / stop_reasonAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Host-reported, sanitized reason for an early stop; not independently verified." +}
- Changed
finish_qa_orchestration16 fields changed- changed
Input schema / properties / final_review_report / anyOfPrevious 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" + } +] - changed
Output schema / properties / allowed_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / audit_events / items / properties / completed_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / audit_events / items / properties / current_profile / anyOfPrevious 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" + } +] - changed
Output schema / properties / audit_events / items / properties / selected_profile / anyOfPrevious 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" + } +] - changed
Output schema / properties / completed_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / current_profile / anyOfPrevious 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" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" + } +] - changed
Output schema / properties / profile_reports / items / properties / profile / enumPrevious 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" +] - removed
Output schema / properties / profile_reports / items / properties / targeted_scenario_auditRemoved 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" -} - changed
Output schema / properties / recommended_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / review_context / anyOfPrevious 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" + } +] - changed
Output schema / properties / review_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / selected_profile / anyOfPrevious 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" + } +] - added
Output schema / properties / stop_reasonAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Host-reported, sanitized reason for an early stop; not independently verified." +}
- Changed
get_qa_orchestration15 fields changed- changed
Output schema / properties / allowed_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / audit_events / items / properties / completed_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / audit_events / items / properties / current_profile / anyOfPrevious 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" + } +] - changed
Output schema / properties / audit_events / items / properties / selected_profile / anyOfPrevious 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" + } +] - changed
Output schema / properties / completed_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / current_profile / anyOfPrevious 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" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" + } +] - changed
Output schema / properties / profile_reports / items / properties / profile / enumPrevious 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" +] - removed
Output schema / properties / profile_reports / items / properties / targeted_scenario_auditRemoved 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" -} - changed
Output schema / properties / recommended_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / review_context / anyOfPrevious 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" + } +] - changed
Output schema / properties / review_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / selected_profile / anyOfPrevious 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" + } +] - added
Output schema / properties / stop_reasonAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Host-reported, sanitized reason for an early stop; not independently verified." +}
- Changed
get_qa_orchestration_catalog3 fields changed- changed
Output schema / properties / bundles / items / properties / execution_groups / items / items / enumPrevious 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" +] - changed
Output schema / properties / bundles / items / properties / profiles / items / enumPrevious 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" +] - changed
Output schema / properties / profiles / items / properties / profile / enumPrevious 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" +]
- Changed
list_qa_orchestrations2 fields changed- changed
Output schema / properties / sessions / items / properties / current_profile / anyOfPrevious 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" + } +] - changed
Output schema / properties / sessions / items / properties / selected_profile / anyOfPrevious 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" + } +]
- Changed
prepare_qa_orchestration2 fields changed- changed
Input schema / properties / agent_profile / enumPrevious 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" +] - changed
Output schema / properties / profile / enumPrevious 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" +]
- Changed
prepare_qa_orchestration_bundle2 fields changed- changed
Output schema / properties / execution_groups / items / items / enumPrevious 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" +] - changed
Output schema / properties / routes / items / properties / profile / enumPrevious 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" +]
- Changed
renew_qa_orchestration15 fields changed- changed
Output schema / properties / allowed_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / audit_events / items / properties / completed_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / audit_events / items / properties / current_profile / anyOfPrevious 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" + } +] - changed
Output schema / properties / audit_events / items / properties / selected_profile / anyOfPrevious 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" + } +] - changed
Output schema / properties / completed_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / current_profile / anyOfPrevious 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" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" + } +] - changed
Output schema / properties / profile_reports / items / properties / profile / enumPrevious 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" +] - removed
Output schema / properties / profile_reports / items / properties / targeted_scenario_auditRemoved 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" -} - changed
Output schema / properties / recommended_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / review_context / anyOfPrevious 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" + } +] - changed
Output schema / properties / review_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / selected_profile / anyOfPrevious 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" + } +] - added
Output schema / properties / stop_reasonAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Host-reported, sanitized reason for an early stop; not independently verified." +}
- Added
resolve_git_review_input - Changed
start_qa_orchestration17 fields changed- changed
Input schema / properties / review_context / anyOfPrevious 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" + } +] - changed
Input schema / properties / review_context / descriptionPrevious value: -"Optional immutable repository, base/head, changed-file, diff, and Evidence Packet identity. Required for ordinary_review and widget_review, with an input_manifest using schema v2. When supplied, every completed profile must include a structured report whose evidence references belong to this packet; completed outcomes require a final report. The response may include file-type-based recommended_profiles and stack-matched recommended_bundles as non-binding hints. Optional evidence_registry metadata binds each ref to a source kind, revision, coordinates and content hash. The host verifies actual content locally."New value: +"May be omitted only for non-review task types. Required for ordinary_review and widget_review. Before calling for either review type, resolve the authoritative task/MR and, for Git input, exact base_sha and head_sha; for standalone diff use input_kind=diff with no revisions. Inspect the diff, and provide changed_files, diff_sha256, evidence_packet_sha256, evidence_refs, and input_manifest.schema_version=2 with source_inventory_status and source_conflict_status. Do not use a URL or placeholder instead. Keep raw source, diff, and Evidence Packet contents with the host; pass only identifiers, digests, and metadata. When supplied, every completed profile must include a structured report whose evidence references belong to this packet; completed outcomes require a final report. The response may include file-type-based recommended_profiles and stack-matched recommended_bundles as non-binding hints. Optional evidence_registry metadata binds each ref to a source kind, revision, coordinates and content hash. The host verifies actual content locally." - changed
Output schema / properties / allowed_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / audit_events / items / properties / completed_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / audit_events / items / properties / current_profile / anyOfPrevious 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" + } +] - changed
Output schema / properties / audit_events / items / properties / selected_profile / anyOfPrevious 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" + } +] - changed
Output schema / properties / completed_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / current_profile / anyOfPrevious 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" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" + } +] - changed
Output schema / properties / profile_reports / items / properties / profile / enumPrevious 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" +] - removed
Output schema / properties / profile_reports / items / properties / targeted_scenario_auditRemoved 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" -} - changed
Output schema / properties / recommended_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / review_context / anyOfPrevious 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" + } +] - changed
Output schema / properties / review_profiles / items / enumPrevious 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" +] - changed
Output schema / properties / selected_profile / anyOfPrevious 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" + } +] - added
Output schema / properties / stop_reasonAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Host-reported, sanitized reason for an early stop; not independently verified." +}
5 tool updates
v0.2.19- Changed
advance_qa_orchestration8 fields changed- added
Input schema / properties / acknowledge_limited_profileAdded value: +{ + "default": false, + "description": "At triage, explicitly accept that the selected test analyzer or explorer cannot report implementation findings.", + "type": "boolean" +} - added
Input schema / properties / compact_responseAdded value: +{ + "default": false, + "description": "Return workflow state without stored context, reports and audit history; use get_qa_orchestration for full state.", + "type": "boolean" +} - added
Input schema / properties / implementation_reviewAdded value: +{ + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, + "description": "At triage, whether the user's request includes review of implementation behavior. Unknown when omitted." +} - changed
Input schema / properties / profile_reports / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "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_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" - }, - "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", + "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" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "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_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", + "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" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "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_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", + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / targeted_scenario_auditAdded 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" +} - added
Output schema / properties / route_warningAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Advisory scope limitation for a selected single profile; not a finding." +}
- Changed
finish_qa_orchestration4 fields changed- changed
Input schema / properties / final_review_report / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "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_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", + "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" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "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_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", + "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" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "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_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", + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / targeted_scenario_auditAdded 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" +}
- Changed
get_qa_orchestration3 fields changed- changed
Output schema / properties / final_review_report / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "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_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", + "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" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "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_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", + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / targeted_scenario_auditAdded 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" +}
- Changed
renew_qa_orchestration3 fields changed- changed
Output schema / properties / final_review_report / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "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_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", + "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" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "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_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", + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / targeted_scenario_auditAdded 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" +}
- Changed
start_qa_orchestration3 fields changed- changed
Output schema / properties / final_review_report / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "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_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", + "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" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "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_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", + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / targeted_scenario_auditAdded 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" +}
6 tool updates
v0.2.18- Changed
advance_qa_orchestration7 fields changed- changed
Input schema / properties / profile_reports / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "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_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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "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" - } -]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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "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_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" + }, + "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" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "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_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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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 - }, - "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", + "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "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_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" + } +] - changed
Output schema / properties / model_policy / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "configured", - "default": "configured", - "type": "string" - }, - "model": { - "anyOf": [ - { - "enum": [ - "gpt-6-luna", - "gpt-6-sol" - ], - "type": "string" - }, - { - "type": "string" - } - ] - }, - "provider": { - "default": "openai", - "enum": [ - "openai", - "anthropic" - ], - "type": "string" - }, - "reasoning": { - "enum": [ - "none", - "minimal", - "low", - "medium", - "high", - "xhigh", - "max" - ], - "type": "string" - }, - "reasoning_capabilities_verified": { - "default": false, - "type": "boolean" - } - }, - "required": [ - "model", - "reasoning" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "host_default", - "default": "host_default", - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "configured", + "default": "configured", + "type": "string" + }, + "model": { + "anyOf": [ + { + "enum": [ + "gpt-6-luna", + "gpt-6-sol" + ], + "type": "string" + }, + { + "type": "string" + } + ] + }, + "provider": { + "default": "openai", + "enum": [ + "openai", + "anthropic" + ], + "type": "string" + }, + "reasoning": { + "enum": [ + "none", + "low", + "medium", + "high", + "xhigh", + "max", + "ultra" + ], + "type": "string" + }, + "reasoning_capabilities_verified": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "model", + "reasoning" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "host_default", + "default": "host_default", + "type": "string" + } + }, + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / change_origin / descriptionPrevious value: -"Whether the behavior is introduced by the reviewed change, pre-existing, or unknown."New value: +"Whether the defect was introduced by the reviewed change, pre-existing, made worse by the PR, or of unknown origin." - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / change_origin / enumPrevious value: -[ - "introduced", - "pre_existing", - "unknown" -]New value: +[ + "introduced", + "exacerbated_by_pr", + "pre_existing", + "unknown" +] - added
Output schema / properties / profile_reports / items / properties / scenario_coverageAdded value: +{ + "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" +} - changed
Output schema / properties / review_context / anyOfPrevious 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_sha256": { - "anyOf": [ - { - "pattern": "(?i)^[a-f0-9]{64}$", - "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_set_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": { + "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" + } +]
- Changed
finish_qa_orchestration7 fields changed- changed
Input schema / properties / final_review_report / anyOfPrevious 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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "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_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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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 - }, - "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", + "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "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_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" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "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_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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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 - }, - "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", + "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "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_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" + } +] - changed
Output schema / properties / model_policy / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "configured", - "default": "configured", - "type": "string" - }, - "model": { - "anyOf": [ - { - "enum": [ - "gpt-6-luna", - "gpt-6-sol" - ], - "type": "string" - }, - { - "type": "string" - } - ] - }, - "provider": { - "default": "openai", - "enum": [ - "openai", - "anthropic" - ], - "type": "string" - }, - "reasoning": { - "enum": [ - "none", - "minimal", - "low", - "medium", - "high", - "xhigh", - "max" - ], - "type": "string" - }, - "reasoning_capabilities_verified": { - "default": false, - "type": "boolean" - } - }, - "required": [ - "model", - "reasoning" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "host_default", - "default": "host_default", - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "configured", + "default": "configured", + "type": "string" + }, + "model": { + "anyOf": [ + { + "enum": [ + "gpt-6-luna", + "gpt-6-sol" + ], + "type": "string" + }, + { + "type": "string" + } + ] + }, + "provider": { + "default": "openai", + "enum": [ + "openai", + "anthropic" + ], + "type": "string" + }, + "reasoning": { + "enum": [ + "none", + "low", + "medium", + "high", + "xhigh", + "max", + "ultra" + ], + "type": "string" + }, + "reasoning_capabilities_verified": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "model", + "reasoning" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "host_default", + "default": "host_default", + "type": "string" + } + }, + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / change_origin / descriptionPrevious value: -"Whether the behavior is introduced by the reviewed change, pre-existing, or unknown."New value: +"Whether the defect was introduced by the reviewed change, pre-existing, made worse by the PR, or of unknown origin." - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / change_origin / enumPrevious value: -[ - "introduced", - "pre_existing", - "unknown" -]New value: +[ + "introduced", + "exacerbated_by_pr", + "pre_existing", + "unknown" +] - added
Output schema / properties / profile_reports / items / properties / scenario_coverageAdded value: +{ + "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" +} - changed
Output schema / properties / review_context / anyOfPrevious 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_sha256": { - "anyOf": [ - { - "pattern": "(?i)^[a-f0-9]{64}$", - "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_set_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": { + "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" + } +]
- Changed
get_qa_orchestration6 fields changed- changed
Output schema / properties / final_review_report / anyOfPrevious 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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "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_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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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 - }, - "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", + "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "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_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" + } +] - changed
Output schema / properties / model_policy / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "configured", - "default": "configured", - "type": "string" - }, - "model": { - "anyOf": [ - { - "enum": [ - "gpt-6-luna", - "gpt-6-sol" - ], - "type": "string" - }, - { - "type": "string" - } - ] - }, - "provider": { - "default": "openai", - "enum": [ - "openai", - "anthropic" - ], - "type": "string" - }, - "reasoning": { - "enum": [ - "none", - "minimal", - "low", - "medium", - "high", - "xhigh", - "max" - ], - "type": "string" - }, - "reasoning_capabilities_verified": { - "default": false, - "type": "boolean" - } - }, - "required": [ - "model", - "reasoning" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "host_default", - "default": "host_default", - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "configured", + "default": "configured", + "type": "string" + }, + "model": { + "anyOf": [ + { + "enum": [ + "gpt-6-luna", + "gpt-6-sol" + ], + "type": "string" + }, + { + "type": "string" + } + ] + }, + "provider": { + "default": "openai", + "enum": [ + "openai", + "anthropic" + ], + "type": "string" + }, + "reasoning": { + "enum": [ + "none", + "low", + "medium", + "high", + "xhigh", + "max", + "ultra" + ], + "type": "string" + }, + "reasoning_capabilities_verified": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "model", + "reasoning" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "host_default", + "default": "host_default", + "type": "string" + } + }, + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / change_origin / descriptionPrevious value: -"Whether the behavior is introduced by the reviewed change, pre-existing, or unknown."New value: +"Whether the defect was introduced by the reviewed change, pre-existing, made worse by the PR, or of unknown origin." - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / change_origin / enumPrevious value: -[ - "introduced", - "pre_existing", - "unknown" -]New value: +[ + "introduced", + "exacerbated_by_pr", + "pre_existing", + "unknown" +] - added
Output schema / properties / profile_reports / items / properties / scenario_coverageAdded value: +{ + "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" +} - changed
Output schema / properties / review_context / anyOfPrevious 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_sha256": { - "anyOf": [ - { - "pattern": "(?i)^[a-f0-9]{64}$", - "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_set_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": { + "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" + } +]
- Changed
get_qa_orchestration_model_policy4 fields changed- changed
Output schema / properties / deep_reasoning / anyOfPrevious value: -[ - { - "enum": [ - "none", - "minimal", - "low", - "medium", - "high", - "xhigh", - "max" - ], - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "enum": [ + "none", + "low", + "medium", + "high", + "xhigh", + "max", + "ultra" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / primary_reasoning / anyOfPrevious value: -[ - { - "enum": [ - "none", - "minimal", - "low", - "medium", - "high", - "xhigh", - "max" - ], - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "enum": [ + "none", + "low", + "medium", + "high", + "xhigh", + "max", + "ultra" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / synthesis_reasoning / anyOfPrevious value: -[ - { - "enum": [ - "none", - "minimal", - "low", - "medium", - "high", - "xhigh", - "max" - ], - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "enum": [ + "none", + "low", + "medium", + "high", + "xhigh", + "max", + "ultra" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / triage_reasoning / anyOfPrevious value: -[ - { - "enum": [ - "none", - "minimal", - "low", - "medium", - "high", - "xhigh", - "max" - ], - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "enum": [ + "none", + "low", + "medium", + "high", + "xhigh", + "max", + "ultra" + ], + "type": "string" + }, + { + "type": "null" + } +]
- Changed
renew_qa_orchestration6 fields changed- changed
Output schema / properties / final_review_report / anyOfPrevious 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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "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_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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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 - }, - "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", + "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "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_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" + } +] - changed
Output schema / properties / model_policy / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "configured", - "default": "configured", - "type": "string" - }, - "model": { - "anyOf": [ - { - "enum": [ - "gpt-6-luna", - "gpt-6-sol" - ], - "type": "string" - }, - { - "type": "string" - } - ] - }, - "provider": { - "default": "openai", - "enum": [ - "openai", - "anthropic" - ], - "type": "string" - }, - "reasoning": { - "enum": [ - "none", - "minimal", - "low", - "medium", - "high", - "xhigh", - "max" - ], - "type": "string" - }, - "reasoning_capabilities_verified": { - "default": false, - "type": "boolean" - } - }, - "required": [ - "model", - "reasoning" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "host_default", - "default": "host_default", - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "configured", + "default": "configured", + "type": "string" + }, + "model": { + "anyOf": [ + { + "enum": [ + "gpt-6-luna", + "gpt-6-sol" + ], + "type": "string" + }, + { + "type": "string" + } + ] + }, + "provider": { + "default": "openai", + "enum": [ + "openai", + "anthropic" + ], + "type": "string" + }, + "reasoning": { + "enum": [ + "none", + "low", + "medium", + "high", + "xhigh", + "max", + "ultra" + ], + "type": "string" + }, + "reasoning_capabilities_verified": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "model", + "reasoning" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "host_default", + "default": "host_default", + "type": "string" + } + }, + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / change_origin / descriptionPrevious value: -"Whether the behavior is introduced by the reviewed change, pre-existing, or unknown."New value: +"Whether the defect was introduced by the reviewed change, pre-existing, made worse by the PR, or of unknown origin." - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / change_origin / enumPrevious value: -[ - "introduced", - "pre_existing", - "unknown" -]New value: +[ + "introduced", + "exacerbated_by_pr", + "pre_existing", + "unknown" +] - added
Output schema / properties / profile_reports / items / properties / scenario_coverageAdded value: +{ + "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" +} - changed
Output schema / properties / review_context / anyOfPrevious 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_sha256": { - "anyOf": [ - { - "pattern": "(?i)^[a-f0-9]{64}$", - "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_set_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": { + "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" + } +]
- Changed
start_qa_orchestration7 fields changed- changed
Input schema / properties / review_context / anyOfPrevious 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_sha256": { - "anyOf": [ - { - "pattern": "(?i)^[a-f0-9]{64}$", - "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_set_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": { + "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" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "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_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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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 - }, - "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", + "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "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_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" + } +] - changed
Output schema / properties / model_policy / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "configured", - "default": "configured", - "type": "string" - }, - "model": { - "anyOf": [ - { - "enum": [ - "gpt-6-luna", - "gpt-6-sol" - ], - "type": "string" - }, - { - "type": "string" - } - ] - }, - "provider": { - "default": "openai", - "enum": [ - "openai", - "anthropic" - ], - "type": "string" - }, - "reasoning": { - "enum": [ - "none", - "minimal", - "low", - "medium", - "high", - "xhigh", - "max" - ], - "type": "string" - }, - "reasoning_capabilities_verified": { - "default": false, - "type": "boolean" - } - }, - "required": [ - "model", - "reasoning" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "host_default", - "default": "host_default", - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "configured", + "default": "configured", + "type": "string" + }, + "model": { + "anyOf": [ + { + "enum": [ + "gpt-6-luna", + "gpt-6-sol" + ], + "type": "string" + }, + { + "type": "string" + } + ] + }, + "provider": { + "default": "openai", + "enum": [ + "openai", + "anthropic" + ], + "type": "string" + }, + "reasoning": { + "enum": [ + "none", + "low", + "medium", + "high", + "xhigh", + "max", + "ultra" + ], + "type": "string" + }, + "reasoning_capabilities_verified": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "model", + "reasoning" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "host_default", + "default": "host_default", + "type": "string" + } + }, + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / change_origin / descriptionPrevious value: -"Whether the behavior is introduced by the reviewed change, pre-existing, or unknown."New value: +"Whether the defect was introduced by the reviewed change, pre-existing, made worse by the PR, or of unknown origin." - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / change_origin / enumPrevious value: -[ - "introduced", - "pre_existing", - "unknown" -]New value: +[ + "introduced", + "exacerbated_by_pr", + "pre_existing", + "unknown" +] - added
Output schema / properties / profile_reports / items / properties / scenario_coverageAdded value: +{ + "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" +} - changed
Output schema / properties / review_context / anyOfPrevious 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_sha256": { - "anyOf": [ - { - "pattern": "(?i)^[a-f0-9]{64}$", - "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_set_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": { + "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" + } +]
5 tool updates
v0.2.17- Changed
advance_qa_orchestration1 field changed- changed
Output schema / properties / review_context / anyOfPrevious 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_sha256": { - "anyOf": [ - { - "pattern": "(?i)^[a-f0-9]{64}$", - "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": { - "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_set_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": { + "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_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "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_set_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" + } +]
- Changed
finish_qa_orchestration1 field changed- changed
Output schema / properties / review_context / anyOfPrevious 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_sha256": { - "anyOf": [ - { - "pattern": "(?i)^[a-f0-9]{64}$", - "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": { - "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_set_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": { + "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_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "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_set_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" + } +]
- Changed
get_qa_orchestration1 field changed- changed
Output schema / properties / review_context / anyOfPrevious 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_sha256": { - "anyOf": [ - { - "pattern": "(?i)^[a-f0-9]{64}$", - "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": { - "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_set_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": { + "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_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "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_set_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" + } +]
- Changed
renew_qa_orchestration1 field changed- changed
Output schema / properties / review_context / anyOfPrevious 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_sha256": { - "anyOf": [ - { - "pattern": "(?i)^[a-f0-9]{64}$", - "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": { - "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_set_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": { + "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_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "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_set_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" + } +]
- Changed
start_qa_orchestration3 fields changed- changed
Input schema / properties / review_context / anyOfPrevious 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_sha256": { - "anyOf": [ - { - "pattern": "(?i)^[a-f0-9]{64}$", - "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": { - "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_set_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": { + "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_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "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_set_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" + } +] - changed
Input schema / properties / review_context / descriptionPrevious value: -"Optional immutable repository, base/head, changed-file, diff, and Evidence Packet identity. When supplied, every completed profile must include a structured report whose evidence references belong to this packet; completed outcomes require a final report. The response may include file-type-based recommended_profiles and stack-matched recommended_bundles as non-binding hints. Optional evidence_registry metadata binds each ref to a source kind, revision, coordinates and content hash. The host verifies actual content locally."New value: +"Optional immutable repository, base/head, changed-file, diff, and Evidence Packet identity. Required for ordinary_review and widget_review, with an input_manifest using schema v2. When supplied, every completed profile must include a structured report whose evidence references belong to this packet; completed outcomes require a final report. The response may include file-type-based recommended_profiles and stack-matched recommended_bundles as non-binding hints. Optional evidence_registry metadata binds each ref to a source kind, revision, coordinates and content hash. The host verifies actual content locally." - changed
Output schema / properties / review_context / anyOfPrevious 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_sha256": { - "anyOf": [ - { - "pattern": "(?i)^[a-f0-9]{64}$", - "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": { - "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_set_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": { + "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_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "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_set_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" + } +]
9 tool updates
v0.2.16- Changed
advance_qa_orchestration23 fields changed- changed
Input schema / properties / completed_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Input schema / properties / completed_profiles / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } +] - changed
Input schema / properties / profile_reports / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "model_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null - }, - "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" - }, - "queue_seconds": { - "minimum": 0, - "type": "number" - }, - "started_at": { - "format": "date-time", - "type": "string" - }, - "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": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "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" - }, - "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" - } -]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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "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_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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "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" + } +] - changed
Input schema / properties / selected_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / allowed_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / audit_events / items / properties / completed_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / audit_events / items / properties / current_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / audit_events / items / properties / selected_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / completed_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / current_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "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" - }, - "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 - }, - "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" - } - }, - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "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_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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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 + }, + "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" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "model_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null - }, - "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" - }, - "queue_seconds": { - "minimum": 0, - "type": "number" - }, - "started_at": { - "format": "date-time", - "type": "string" - }, - "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "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_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" + } +] - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / actual_behaviorAdded value: +{ + "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." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / expected_behaviorAdded value: +{ + "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." +} - changed
Output schema / properties / profile_reports / items / properties / profile / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - added
Output schema / properties / profile_reports / items / properties / reviewed_diff_hunk_indexesAdded value: +{ + "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" +} - changed
Output schema / properties / profile_reports / maxItemsPrevious value: -10New value: +11 - changed
Output schema / properties / recommended_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - added
Output schema / properties / review_completion_modeAdded value: +{ + "default": "legacy", + "description": "Legacy preserves restored sessions; new bound sessions require complete inputs and impact coverage.", + "enum": [ + "legacy", + "strict" + ], + "type": "string" +} - changed
Output schema / properties / review_context / anyOfPrevious 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_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", - "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" - }, - "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": { + "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_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "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": { + "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_set_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" + } +] - changed
Output schema / properties / review_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / selected_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / selected_review_routes / anyOfPrevious 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" - } -]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", + "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" + } +]
- Changed
finish_qa_orchestration20 fields changed- changed
Input schema / properties / final_review_report / anyOfPrevious 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": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "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" - }, - "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 - }, - "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" - } - }, - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "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_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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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 + }, + "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" + } +] - changed
Input schema / properties / final_review_report / descriptionPrevious value: -"Structured synthesized findings and coverage for a review_context-bound session. Required when its outcome is completed; each finding cites registered evidence refs and the original profile-local candidate IDs and evidence that support it. The report must include one candidate_decisions entry per submitted candidate. Every defect candidate needs failure_condition and flip_condition, and every outcome needs a bound refutation assessment: not_refuted for confirmed/duplicate, refuted for rejected, unverified for unverified. Rejected/unverified outcomes preserve the original candidate snapshot. Confirmed findings require host severity, impact, affected area, and source locations. The report is limited to 72 KiB; profile plus final reports are limited to 288 KiB per session."New value: +"Structured synthesized findings and coverage for a review_context-bound session. Required when its outcome is completed; each finding cites registered evidence refs and the original profile-local candidate IDs and evidence that support it. The report must include one candidate_decisions entry per submitted candidate. Every defect candidate needs failure_condition, flip_condition, expected_behavior, and actual_behavior (source-predicted, not runtime proof), and every outcome needs a bound refutation assessment: not_refuted for confirmed/duplicate, refuted for rejected, unverified for unverified. Rejected/unverified outcomes preserve the original candidate snapshot. Confirmed findings require host severity, impact, affected area, and source locations. Optional verification_records capture test/CI/runtime scenarios, results, environment, run reference, reason, and exact reviewed head SHA; these remain host-supplied and are not independently authenticated by the orchestrator. The report is limited to 80 KiB; profile plus final reports are limited to 288 KiB per session." - changed
Output schema / properties / allowed_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / audit_events / items / properties / completed_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / audit_events / items / properties / current_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / audit_events / items / properties / selected_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / completed_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / current_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "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" - }, - "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 - }, - "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" - } - }, - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "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_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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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 + }, + "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" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "model_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null - }, - "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" - }, - "queue_seconds": { - "minimum": 0, - "type": "number" - }, - "started_at": { - "format": "date-time", - "type": "string" - }, - "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "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_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" + } +] - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / actual_behaviorAdded value: +{ + "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." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / expected_behaviorAdded value: +{ + "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." +} - changed
Output schema / properties / profile_reports / items / properties / profile / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - added
Output schema / properties / profile_reports / items / properties / reviewed_diff_hunk_indexesAdded value: +{ + "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" +} - changed
Output schema / properties / profile_reports / maxItemsPrevious value: -10New value: +11 - changed
Output schema / properties / recommended_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - added
Output schema / properties / review_completion_modeAdded value: +{ + "default": "legacy", + "description": "Legacy preserves restored sessions; new bound sessions require complete inputs and impact coverage.", + "enum": [ + "legacy", + "strict" + ], + "type": "string" +} - changed
Output schema / properties / review_context / anyOfPrevious 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_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", - "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" - }, - "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": { + "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_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "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": { + "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_set_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" + } +] - changed
Output schema / properties / review_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / selected_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +]
- Changed
get_qa_orchestration18 fields changed- changed
Output schema / properties / allowed_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / audit_events / items / properties / completed_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / audit_events / items / properties / current_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / audit_events / items / properties / selected_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / completed_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / current_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "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" - }, - "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 - }, - "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" - } - }, - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "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_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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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 + }, + "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" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "model_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null - }, - "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" - }, - "queue_seconds": { - "minimum": 0, - "type": "number" - }, - "started_at": { - "format": "date-time", - "type": "string" - }, - "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "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_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" + } +] - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / actual_behaviorAdded value: +{ + "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." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / expected_behaviorAdded value: +{ + "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." +} - changed
Output schema / properties / profile_reports / items / properties / profile / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - added
Output schema / properties / profile_reports / items / properties / reviewed_diff_hunk_indexesAdded value: +{ + "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" +} - changed
Output schema / properties / profile_reports / maxItemsPrevious value: -10New value: +11 - changed
Output schema / properties / recommended_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - added
Output schema / properties / review_completion_modeAdded value: +{ + "default": "legacy", + "description": "Legacy preserves restored sessions; new bound sessions require complete inputs and impact coverage.", + "enum": [ + "legacy", + "strict" + ], + "type": "string" +} - changed
Output schema / properties / review_context / anyOfPrevious 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_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", - "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" - }, - "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": { + "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_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "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": { + "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_set_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" + } +] - changed
Output schema / properties / review_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / selected_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +]
- Changed
get_qa_orchestration_catalog3 fields changed- changed
Output schema / properties / bundles / items / properties / execution_groups / items / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / bundles / items / properties / profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / profiles / items / properties / profile / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +]
- Changed
list_qa_orchestrations2 fields changed- changed
Output schema / properties / sessions / items / properties / current_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / sessions / items / properties / selected_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +]
- Changed
prepare_qa_orchestration2 fields changed- changed
Input schema / properties / agent_profile / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / profile / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +]
- Changed
prepare_qa_orchestration_bundle2 fields changed- changed
Output schema / properties / execution_groups / items / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / routes / items / properties / profile / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +]
- Changed
renew_qa_orchestration18 fields changed- changed
Output schema / properties / allowed_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / audit_events / items / properties / completed_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / audit_events / items / properties / current_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / audit_events / items / properties / selected_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / completed_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / current_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "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" - }, - "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 - }, - "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" - } - }, - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "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_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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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 + }, + "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" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "model_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null - }, - "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" - }, - "queue_seconds": { - "minimum": 0, - "type": "number" - }, - "started_at": { - "format": "date-time", - "type": "string" - }, - "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "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_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" + } +] - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / actual_behaviorAdded value: +{ + "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." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / expected_behaviorAdded value: +{ + "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." +} - changed
Output schema / properties / profile_reports / items / properties / profile / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - added
Output schema / properties / profile_reports / items / properties / reviewed_diff_hunk_indexesAdded value: +{ + "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" +} - changed
Output schema / properties / profile_reports / maxItemsPrevious value: -10New value: +11 - changed
Output schema / properties / recommended_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - added
Output schema / properties / review_completion_modeAdded value: +{ + "default": "legacy", + "description": "Legacy preserves restored sessions; new bound sessions require complete inputs and impact coverage.", + "enum": [ + "legacy", + "strict" + ], + "type": "string" +} - changed
Output schema / properties / review_context / anyOfPrevious 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_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", - "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" - }, - "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": { + "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_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "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": { + "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_set_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" + } +] - changed
Output schema / properties / review_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / selected_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +]
- Changed
start_qa_orchestration19 fields changed- changed
Input schema / properties / review_context / anyOfPrevious 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_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", - "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" - }, - "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": { + "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_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "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": { + "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_set_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" + } +] - changed
Output schema / properties / allowed_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / audit_events / items / properties / completed_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / audit_events / items / properties / current_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / audit_events / items / properties / selected_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / completed_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / current_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "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" - }, - "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 - }, - "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" - } - }, - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "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_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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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 + }, + "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" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "model_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null - }, - "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" - }, - "queue_seconds": { - "minimum": 0, - "type": "number" - }, - "started_at": { - "format": "date-time", - "type": "string" - }, - "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "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_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" + } +] - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / actual_behaviorAdded value: +{ + "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." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / expected_behaviorAdded value: +{ + "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." +} - changed
Output schema / properties / profile_reports / items / properties / profile / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - added
Output schema / properties / profile_reports / items / properties / reviewed_diff_hunk_indexesAdded value: +{ + "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" +} - changed
Output schema / properties / profile_reports / maxItemsPrevious value: -10New value: +11 - changed
Output schema / properties / recommended_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - added
Output schema / properties / review_completion_modeAdded value: +{ + "default": "legacy", + "description": "Legacy preserves restored sessions; new bound sessions require complete inputs and impact coverage.", + "enum": [ + "legacy", + "strict" + ], + "type": "string" +} - changed
Output schema / properties / review_context / anyOfPrevious 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_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", - "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" - }, - "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": { + "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_sha256": { + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "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": { + "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_set_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" + } +] - changed
Output schema / properties / review_profiles / items / enumPrevious value: -[ - "pr_test_analyzer", - "code_reviewer", - "security_reviewer", - "silent_failure_hunter", - "code_explorer", - "typescript_reviewer", - "react_reviewer", - "ruby_reviewer", - "python_reviewer", - "mobile_reviewer" -]New 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" +] - changed
Output schema / properties / selected_profile / anyOfPrevious 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" - } -]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", + "omission_auditor" + ], + "type": "string" + }, + { + "type": "null" + } +]
5 tool updates
v0.2.15- Changed
advance_qa_orchestration4 fields changed- changed
Input schema / properties / profile_reports / anyOfPrevious 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" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "model_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null - }, - "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" - }, - "queue_seconds": { - "minimum": 0, - "type": "number" - }, - "started_at": { - "format": "date-time", - "type": "string" - }, - "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": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "failure_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Specific preconditions that make the alleged failure occur." - }, - "flip_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete source/contract evidence that would refute this candidate." - }, - "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" - }, - "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" - } -]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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "model_seconds": { + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null + }, + "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" + }, + "queue_seconds": { + "minimum": 0, + "type": "number" + }, + "started_at": { + "format": "date-time", + "type": "string" + }, + "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": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "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" + }, + "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" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "failure_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Specific preconditions that make the alleged failure occur." - }, - "flip_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete source/contract evidence that would refute this candidate." - }, - "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" - }, - "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 - }, - "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" - } - }, - "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": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "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" + }, + "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 + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / failure_condition / descriptionPrevious value: -"Specific preconditions that make the alleged failure occur."New value: +"Specific preconditions that make the alleged failure occur; required for new submitted defect candidates. Optional only for legacy persisted payloads." - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / flip_condition / descriptionPrevious value: -"Concrete source/contract evidence that would refute this candidate."New value: +"Concrete source/contract evidence that would refute this candidate; required for new submitted defect candidates. Optional only for legacy persisted payloads."
- Changed
finish_qa_orchestration5 fields changed- changed
Input schema / properties / final_review_report / anyOfPrevious 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": { - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "failure_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Specific preconditions that make the alleged failure occur." - }, - "flip_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete source/contract evidence that would refute this candidate." - }, - "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" - }, - "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 - }, - "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" - } - }, - "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": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "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" + }, + "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 + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Input schema / properties / final_review_report / descriptionPrevious value: -"Structured synthesized findings and coverage for a review_context-bound session. Required when its outcome is completed; each finding cites registered evidence refs and the original profile-local candidate IDs and evidence that support it. The report must include one candidate_decisions entry per submitted candidate. Confirmed findings require host severity, impact, affected area, and source locations. The report is limited to 72 KiB; profile plus final reports are limited to 288 KiB per session."New value: +"Structured synthesized findings and coverage for a review_context-bound session. Required when its outcome is completed; each finding cites registered evidence refs and the original profile-local candidate IDs and evidence that support it. The report must include one candidate_decisions entry per submitted candidate. Every defect candidate needs failure_condition and flip_condition, and every outcome needs a bound refutation assessment: not_refuted for confirmed/duplicate, refuted for rejected, unverified for unverified. Rejected/unverified outcomes preserve the original candidate snapshot. Confirmed findings require host severity, impact, affected area, and source locations. The report is limited to 72 KiB; profile plus final reports are limited to 288 KiB per session." - changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "failure_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Specific preconditions that make the alleged failure occur." - }, - "flip_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete source/contract evidence that would refute this candidate." - }, - "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" - }, - "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 - }, - "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" - } - }, - "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": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "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" + }, + "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 + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / failure_condition / descriptionPrevious value: -"Specific preconditions that make the alleged failure occur."New value: +"Specific preconditions that make the alleged failure occur; required for new submitted defect candidates. Optional only for legacy persisted payloads." - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / flip_condition / descriptionPrevious value: -"Concrete source/contract evidence that would refute this candidate."New value: +"Concrete source/contract evidence that would refute this candidate; required for new submitted defect candidates. Optional only for legacy persisted payloads."
- Changed
get_qa_orchestration3 fields changed- changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "failure_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Specific preconditions that make the alleged failure occur." - }, - "flip_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete source/contract evidence that would refute this candidate." - }, - "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" - }, - "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 - }, - "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" - } - }, - "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": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "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" + }, + "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 + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / failure_condition / descriptionPrevious value: -"Specific preconditions that make the alleged failure occur."New value: +"Specific preconditions that make the alleged failure occur; required for new submitted defect candidates. Optional only for legacy persisted payloads." - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / flip_condition / descriptionPrevious value: -"Concrete source/contract evidence that would refute this candidate."New value: +"Concrete source/contract evidence that would refute this candidate; required for new submitted defect candidates. Optional only for legacy persisted payloads."
- Changed
renew_qa_orchestration3 fields changed- changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "failure_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Specific preconditions that make the alleged failure occur." - }, - "flip_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete source/contract evidence that would refute this candidate." - }, - "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" - }, - "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 - }, - "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" - } - }, - "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": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "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" + }, + "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 + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / failure_condition / descriptionPrevious value: -"Specific preconditions that make the alleged failure occur."New value: +"Specific preconditions that make the alleged failure occur; required for new submitted defect candidates. Optional only for legacy persisted payloads." - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / flip_condition / descriptionPrevious value: -"Concrete source/contract evidence that would refute this candidate."New value: +"Concrete source/contract evidence that would refute this candidate; required for new submitted defect candidates. Optional only for legacy persisted payloads."
- Changed
start_qa_orchestration3 fields changed- changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "failure_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Specific preconditions that make the alleged failure occur." - }, - "flip_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete source/contract evidence that would refute this candidate." - }, - "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" - }, - "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 - }, - "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" - } - }, - "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": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "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" + }, + "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 + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / failure_condition / descriptionPrevious value: -"Specific preconditions that make the alleged failure occur."New value: +"Specific preconditions that make the alleged failure occur; required for new submitted defect candidates. Optional only for legacy persisted payloads." - changed
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / flip_condition / descriptionPrevious value: -"Concrete source/contract evidence that would refute this candidate."New value: +"Concrete source/contract evidence that would refute this candidate; required for new submitted defect candidates. Optional only for legacy persisted payloads."
5 tool updates
v0.2.14- Changed
advance_qa_orchestration3 fields changed- changed
Input schema / properties / profile_reports / anyOfPrevious 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 actual executor call; no exception bodies or source content.", - "properties": { - "attempt": { - "maximum": 4, - "minimum": 1, - "type": "integer" - }, - "cached_input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "completed_at": { - "format": "date-time", - "type": "string" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "model_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null - }, - "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" - }, - "queue_seconds": { - "minimum": 0, - "type": "number" - }, - "started_at": { - "format": "date-time", - "type": "string" - }, - "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": { - "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", - "enum": [ - "introduced", - "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" - }, - "failure_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Specific preconditions that make the alleged failure occur." - }, - "flip_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete source/contract evidence that would refute this candidate." - }, - "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 - }, - "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" - } -]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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "model_seconds": { + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null + }, + "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" + }, + "queue_seconds": { + "minimum": 0, + "type": "number" + }, + "started_at": { + "format": "date-time", + "type": "string" + }, + "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": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "failure_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." + }, + "flip_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." + }, + "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" + }, + "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" + } +] - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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 actual executor call; no exception bodies or source content.", - "properties": { - "attempt": { - "maximum": 4, - "minimum": 1, - "type": "integer" - }, - "cached_input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "completed_at": { - "format": "date-time", - "type": "string" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "model_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null - }, - "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" - }, - "queue_seconds": { - "minimum": 0, - "type": "number" - }, - "started_at": { - "format": "date-time", - "type": "string" - }, - "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "model_seconds": { + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null + }, + "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" + }, + "queue_seconds": { + "minimum": 0, + "type": "number" + }, + "started_at": { + "format": "date-time", + "type": "string" + }, + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / reviewed_changed_pathsAdded value: +{ + "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" +}
- Changed
finish_qa_orchestration2 fields changed- changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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 actual executor call; no exception bodies or source content.", - "properties": { - "attempt": { - "maximum": 4, - "minimum": 1, - "type": "integer" - }, - "cached_input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "completed_at": { - "format": "date-time", - "type": "string" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "model_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null - }, - "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" - }, - "queue_seconds": { - "minimum": 0, - "type": "number" - }, - "started_at": { - "format": "date-time", - "type": "string" - }, - "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "model_seconds": { + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null + }, + "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" + }, + "queue_seconds": { + "minimum": 0, + "type": "number" + }, + "started_at": { + "format": "date-time", + "type": "string" + }, + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / reviewed_changed_pathsAdded value: +{ + "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" +}
- Changed
get_qa_orchestration2 fields changed- changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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 actual executor call; no exception bodies or source content.", - "properties": { - "attempt": { - "maximum": 4, - "minimum": 1, - "type": "integer" - }, - "cached_input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "completed_at": { - "format": "date-time", - "type": "string" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "model_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null - }, - "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" - }, - "queue_seconds": { - "minimum": 0, - "type": "number" - }, - "started_at": { - "format": "date-time", - "type": "string" - }, - "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "model_seconds": { + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null + }, + "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" + }, + "queue_seconds": { + "minimum": 0, + "type": "number" + }, + "started_at": { + "format": "date-time", + "type": "string" + }, + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / reviewed_changed_pathsAdded value: +{ + "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" +}
- Changed
renew_qa_orchestration2 fields changed- changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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 actual executor call; no exception bodies or source content.", - "properties": { - "attempt": { - "maximum": 4, - "minimum": 1, - "type": "integer" - }, - "cached_input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "completed_at": { - "format": "date-time", - "type": "string" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "model_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null - }, - "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" - }, - "queue_seconds": { - "minimum": 0, - "type": "number" - }, - "started_at": { - "format": "date-time", - "type": "string" - }, - "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "model_seconds": { + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null + }, + "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" + }, + "queue_seconds": { + "minimum": 0, + "type": "number" + }, + "started_at": { + "format": "date-time", + "type": "string" + }, + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / reviewed_changed_pathsAdded value: +{ + "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" +}
- Changed
start_qa_orchestration2 fields changed- changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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 actual executor call; no exception bodies or source content.", - "properties": { - "attempt": { - "maximum": 4, - "minimum": 1, - "type": "integer" - }, - "cached_input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "completed_at": { - "format": "date-time", - "type": "string" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "model_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null - }, - "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" - }, - "queue_seconds": { - "minimum": 0, - "type": "number" - }, - "started_at": { - "format": "date-time", - "type": "string" - }, - "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" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "model_seconds": { + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null + }, + "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" + }, + "queue_seconds": { + "minimum": 0, + "type": "number" + }, + "started_at": { + "format": "date-time", + "type": "string" + }, + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / reviewed_changed_pathsAdded value: +{ + "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" +}
5 tool updates
v0.2.13- Changed
advance_qa_orchestration9 fields changed- changed
Input schema / properties / profile_reports / anyOfPrevious 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" - }, - "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_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 actual executor call; no exception bodies or source content.", - "properties": { - "attempt": { - "maximum": 4, - "minimum": 1, - "type": "integer" - }, - "cached_input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "completed_at": { - "format": "date-time", - "type": "string" - }, - "executor_seconds": { - "minimum": 0, - "type": "number" - }, - "input_tokens": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null - }, - "model_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null - }, - "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" - }, - "queue_seconds": { - "minimum": 0, - "type": "number" - }, - "started_at": { - "format": "date-time", - "type": "string" - }, - "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": { - "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" - }, - "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" - }, - "failure_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Specific preconditions that make the alleged failure occur." - }, - "flip_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete source/contract evidence that would refute this candidate." - }, - "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 - }, - "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" - } -]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 actual executor call; no exception bodies or source content.", + "properties": { + "attempt": { + "maximum": 4, + "minimum": 1, + "type": "integer" + }, + "cached_input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "completed_at": { + "format": "date-time", + "type": "string" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "model_seconds": { + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null + }, + "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" + }, + "queue_seconds": { + "minimum": 0, + "type": "number" + }, + "started_at": { + "format": "date-time", + "type": "string" + }, + "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": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "failure_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." + }, + "flip_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." + }, + "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 + }, + "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" + } +] - changed
Input schema / properties / profile_reports / descriptionPrevious value: -"For a review-context-bound session, one structured result per completed profile, in the same order. Every finding must cite Evidence Packet references. Optional execution_metrics are host-reported and are not independently verified. Up to ten reports are accepted, with 64 KiB per report and 256 KiB combined per session. Omit for legacy sessions without review_context."New value: +"For a review-context-bound session, one structured result per completed profile, in the same order. Every finding must cite Evidence Packet references. Optional execution_metrics are host-reported and are not independently verified. Up to ten reports are accepted, with 72 KiB per report and 288 KiB combined per session. Omit for legacy sessions without review_context." - added
Output schema / properties / audit_eventsAdded value: +{ + "description": "Bounded hash-chained host-submitted workflow trace; no raw request bodies.", + "items": { + "additionalProperties": false, + "description": "Hash-chained record of one host-submitted orchestration transition.", + "properties": { + "completed_profiles": { + "default": [], + "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" + }, + "current_profile": { + "anyOf": [ + { + "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" + } + ], + "default": null + }, + "event_sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "event_type": { + "enum": [ + "session_started", + "transition_applied", + "session_finalized" + ], + "type": "string" + }, + "from_status": { + "anyOf": [ + { + "enum": [ + "active", + "awaiting_host_outcome", + "completed", + "partial", + "blocked", + "expired" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "from_step": { + "anyOf": [ + { + "enum": [ + "triage", + "primary_review", + "deep_review", + "synthesis", + "awaiting_host_outcome" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "previous_event_sha256": { + "anyOf": [ + { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "recorded_at": { + "format": "date-time", + "type": "string" + }, + "request_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "request_sha256": { + "anyOf": [ + { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "revision": { + "minimum": 0, + "type": "integer" + }, + "run_id": { + "pattern": "^qar-[0-9a-f]{32}$", + "type": "string" + }, + "selected_bundle": { + "anyOf": [ + { + "enum": [ + "ordinary_mr", + "widget", + "widget_js", + "ruby_backend", + "python_backend", + "mobile", + "security", + "autotest", + "requirements" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "selected_profile": { + "anyOf": [ + { + "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" + } + ], + "default": null + }, + "sequence": { + "minimum": 1, + "type": "integer" + }, + "to_status": { + "enum": [ + "active", + "awaiting_host_outcome", + "completed", + "partial", + "blocked", + "expired" + ], + "type": "string" + }, + "to_step": { + "enum": [ + "triage", + "primary_review", + "deep_review", + "synthesis", + "awaiting_host_outcome" + ], + "type": "string" + } + }, + "required": [ + "run_id", + "sequence", + "event_type", + "revision", + "recorded_at", + "to_status", + "to_step", + "event_sha256" + ], + "type": "object" + }, + "maxItems": 256, + "type": "array" +} - added
Output schema / properties / audit_trace_completeAdded value: +{ + "default": false, + "description": "True when the retained audit trace starts with session creation.", + "type": "boolean" +} - changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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" - }, - "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" - }, - "failure_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Specific preconditions that make the alleged failure occur." - }, - "flip_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete source/contract evidence that would refute this candidate." - }, - "impact": { - "anyOf": [ - { - "maxLength": 2000, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete effect on users or contracts; severity remains host-owned." - }, - "severity": { - "anyOf": [ - { - "enum": [ - "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" - }, - "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 - }, - "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" - } - }, - "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": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "failure_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." + }, + "flip_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." + }, + "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" + }, + "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 + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / context_selection / anyOfPrevious value: -[ - { - "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" - }, - "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_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" - } -]New value: +[ + { + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / change_originAdded value: +{ + "default": "unknown", + "description": "Whether the behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "pre_existing", + "unknown" + ], + "type": "string" +} - added
Output schema / properties / recommended_bundles / descriptionAdded value: +"Task- and changed-file-based shortlists only; the host selects the route." - changed
Output schema / properties / review_context / anyOfPrevious 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_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", - "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" - }, - "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" - }, - "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": { + "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_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", + "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" + }, + "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" + } +]
- Changed
finish_qa_orchestration9 fields changed- changed
Input schema / properties / final_review_report / anyOfPrevious 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": { - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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" - }, - "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" - }, - "failure_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Specific preconditions that make the alleged failure occur." - }, - "flip_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete source/contract evidence that would refute this candidate." - }, - "impact": { - "anyOf": [ - { - "maxLength": 2000, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete effect on users or contracts; severity remains host-owned." - }, - "severity": { - "anyOf": [ - { - "enum": [ - "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" - }, - "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 - }, - "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" - } - }, - "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": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "failure_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." + }, + "flip_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." + }, + "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" + }, + "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 + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Input schema / properties / final_review_report / descriptionPrevious value: -"Structured synthesized findings and coverage for a review_context-bound session. Required when its outcome is completed; each finding cites registered evidence refs and the original profile-local candidate IDs and evidence that support it. The report must include one candidate_decisions entry per submitted candidate. Confirmed findings require host severity, impact, affected area, and source locations. The report is limited to 64 KiB; profile plus final reports are limited to 256 KiB per session."New value: +"Structured synthesized findings and coverage for a review_context-bound session. Required when its outcome is completed; each finding cites registered evidence refs and the original profile-local candidate IDs and evidence that support it. The report must include one candidate_decisions entry per submitted candidate. Confirmed findings require host severity, impact, affected area, and source locations. The report is limited to 72 KiB; profile plus final reports are limited to 288 KiB per session." - added
Output schema / properties / audit_eventsAdded value: +{ + "description": "Bounded hash-chained host-submitted workflow trace; no raw request bodies.", + "items": { + "additionalProperties": false, + "description": "Hash-chained record of one host-submitted orchestration transition.", + "properties": { + "completed_profiles": { + "default": [], + "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" + }, + "current_profile": { + "anyOf": [ + { + "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" + } + ], + "default": null + }, + "event_sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "event_type": { + "enum": [ + "session_started", + "transition_applied", + "session_finalized" + ], + "type": "string" + }, + "from_status": { + "anyOf": [ + { + "enum": [ + "active", + "awaiting_host_outcome", + "completed", + "partial", + "blocked", + "expired" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "from_step": { + "anyOf": [ + { + "enum": [ + "triage", + "primary_review", + "deep_review", + "synthesis", + "awaiting_host_outcome" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "previous_event_sha256": { + "anyOf": [ + { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "recorded_at": { + "format": "date-time", + "type": "string" + }, + "request_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "request_sha256": { + "anyOf": [ + { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "revision": { + "minimum": 0, + "type": "integer" + }, + "run_id": { + "pattern": "^qar-[0-9a-f]{32}$", + "type": "string" + }, + "selected_bundle": { + "anyOf": [ + { + "enum": [ + "ordinary_mr", + "widget", + "widget_js", + "ruby_backend", + "python_backend", + "mobile", + "security", + "autotest", + "requirements" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "selected_profile": { + "anyOf": [ + { + "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" + } + ], + "default": null + }, + "sequence": { + "minimum": 1, + "type": "integer" + }, + "to_status": { + "enum": [ + "active", + "awaiting_host_outcome", + "completed", + "partial", + "blocked", + "expired" + ], + "type": "string" + }, + "to_step": { + "enum": [ + "triage", + "primary_review", + "deep_review", + "synthesis", + "awaiting_host_outcome" + ], + "type": "string" + } + }, + "required": [ + "run_id", + "sequence", + "event_type", + "revision", + "recorded_at", + "to_status", + "to_step", + "event_sha256" + ], + "type": "object" + }, + "maxItems": 256, + "type": "array" +} - added
Output schema / properties / audit_trace_completeAdded value: +{ + "default": false, + "description": "True when the retained audit trace starts with session creation.", + "type": "boolean" +} - changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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" - }, - "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" - }, - "failure_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Specific preconditions that make the alleged failure occur." - }, - "flip_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete source/contract evidence that would refute this candidate." - }, - "impact": { - "anyOf": [ - { - "maxLength": 2000, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete effect on users or contracts; severity remains host-owned." - }, - "severity": { - "anyOf": [ - { - "enum": [ - "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" - }, - "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 - }, - "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" - } - }, - "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": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "failure_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." + }, + "flip_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." + }, + "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" + }, + "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 + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / context_selection / anyOfPrevious value: -[ - { - "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" - }, - "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_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" - } -]New value: +[ + { + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / change_originAdded value: +{ + "default": "unknown", + "description": "Whether the behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "pre_existing", + "unknown" + ], + "type": "string" +} - added
Output schema / properties / recommended_bundles / descriptionAdded value: +"Task- and changed-file-based shortlists only; the host selects the route." - changed
Output schema / properties / review_context / anyOfPrevious 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_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", - "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" - }, - "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" - }, - "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": { + "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_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", + "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" + }, + "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" + } +]
- Changed
get_qa_orchestration7 fields changed- added
Output schema / properties / audit_eventsAdded value: +{ + "description": "Bounded hash-chained host-submitted workflow trace; no raw request bodies.", + "items": { + "additionalProperties": false, + "description": "Hash-chained record of one host-submitted orchestration transition.", + "properties": { + "completed_profiles": { + "default": [], + "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" + }, + "current_profile": { + "anyOf": [ + { + "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" + } + ], + "default": null + }, + "event_sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "event_type": { + "enum": [ + "session_started", + "transition_applied", + "session_finalized" + ], + "type": "string" + }, + "from_status": { + "anyOf": [ + { + "enum": [ + "active", + "awaiting_host_outcome", + "completed", + "partial", + "blocked", + "expired" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "from_step": { + "anyOf": [ + { + "enum": [ + "triage", + "primary_review", + "deep_review", + "synthesis", + "awaiting_host_outcome" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "previous_event_sha256": { + "anyOf": [ + { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "recorded_at": { + "format": "date-time", + "type": "string" + }, + "request_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "request_sha256": { + "anyOf": [ + { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "revision": { + "minimum": 0, + "type": "integer" + }, + "run_id": { + "pattern": "^qar-[0-9a-f]{32}$", + "type": "string" + }, + "selected_bundle": { + "anyOf": [ + { + "enum": [ + "ordinary_mr", + "widget", + "widget_js", + "ruby_backend", + "python_backend", + "mobile", + "security", + "autotest", + "requirements" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "selected_profile": { + "anyOf": [ + { + "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" + } + ], + "default": null + }, + "sequence": { + "minimum": 1, + "type": "integer" + }, + "to_status": { + "enum": [ + "active", + "awaiting_host_outcome", + "completed", + "partial", + "blocked", + "expired" + ], + "type": "string" + }, + "to_step": { + "enum": [ + "triage", + "primary_review", + "deep_review", + "synthesis", + "awaiting_host_outcome" + ], + "type": "string" + } + }, + "required": [ + "run_id", + "sequence", + "event_type", + "revision", + "recorded_at", + "to_status", + "to_step", + "event_sha256" + ], + "type": "object" + }, + "maxItems": 256, + "type": "array" +} - added
Output schema / properties / audit_trace_completeAdded value: +{ + "default": false, + "description": "True when the retained audit trace starts with session creation.", + "type": "boolean" +} - changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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" - }, - "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" - }, - "failure_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Specific preconditions that make the alleged failure occur." - }, - "flip_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete source/contract evidence that would refute this candidate." - }, - "impact": { - "anyOf": [ - { - "maxLength": 2000, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete effect on users or contracts; severity remains host-owned." - }, - "severity": { - "anyOf": [ - { - "enum": [ - "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" - }, - "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 - }, - "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" - } - }, - "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": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "failure_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." + }, + "flip_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." + }, + "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" + }, + "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 + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / context_selection / anyOfPrevious value: -[ - { - "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" - }, - "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_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" - } -]New value: +[ + { + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / change_originAdded value: +{ + "default": "unknown", + "description": "Whether the behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "pre_existing", + "unknown" + ], + "type": "string" +} - added
Output schema / properties / recommended_bundles / descriptionAdded value: +"Task- and changed-file-based shortlists only; the host selects the route." - changed
Output schema / properties / review_context / anyOfPrevious 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_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", - "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" - }, - "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" - }, - "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": { + "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_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", + "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" + }, + "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" + } +]
- Changed
renew_qa_orchestration7 fields changed- added
Output schema / properties / audit_eventsAdded value: +{ + "description": "Bounded hash-chained host-submitted workflow trace; no raw request bodies.", + "items": { + "additionalProperties": false, + "description": "Hash-chained record of one host-submitted orchestration transition.", + "properties": { + "completed_profiles": { + "default": [], + "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" + }, + "current_profile": { + "anyOf": [ + { + "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" + } + ], + "default": null + }, + "event_sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "event_type": { + "enum": [ + "session_started", + "transition_applied", + "session_finalized" + ], + "type": "string" + }, + "from_status": { + "anyOf": [ + { + "enum": [ + "active", + "awaiting_host_outcome", + "completed", + "partial", + "blocked", + "expired" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "from_step": { + "anyOf": [ + { + "enum": [ + "triage", + "primary_review", + "deep_review", + "synthesis", + "awaiting_host_outcome" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "previous_event_sha256": { + "anyOf": [ + { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "recorded_at": { + "format": "date-time", + "type": "string" + }, + "request_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "request_sha256": { + "anyOf": [ + { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "revision": { + "minimum": 0, + "type": "integer" + }, + "run_id": { + "pattern": "^qar-[0-9a-f]{32}$", + "type": "string" + }, + "selected_bundle": { + "anyOf": [ + { + "enum": [ + "ordinary_mr", + "widget", + "widget_js", + "ruby_backend", + "python_backend", + "mobile", + "security", + "autotest", + "requirements" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "selected_profile": { + "anyOf": [ + { + "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" + } + ], + "default": null + }, + "sequence": { + "minimum": 1, + "type": "integer" + }, + "to_status": { + "enum": [ + "active", + "awaiting_host_outcome", + "completed", + "partial", + "blocked", + "expired" + ], + "type": "string" + }, + "to_step": { + "enum": [ + "triage", + "primary_review", + "deep_review", + "synthesis", + "awaiting_host_outcome" + ], + "type": "string" + } + }, + "required": [ + "run_id", + "sequence", + "event_type", + "revision", + "recorded_at", + "to_status", + "to_step", + "event_sha256" + ], + "type": "object" + }, + "maxItems": 256, + "type": "array" +} - added
Output schema / properties / audit_trace_completeAdded value: +{ + "default": false, + "description": "True when the retained audit trace starts with session creation.", + "type": "boolean" +} - changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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" - }, - "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" - }, - "failure_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Specific preconditions that make the alleged failure occur." - }, - "flip_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete source/contract evidence that would refute this candidate." - }, - "impact": { - "anyOf": [ - { - "maxLength": 2000, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete effect on users or contracts; severity remains host-owned." - }, - "severity": { - "anyOf": [ - { - "enum": [ - "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" - }, - "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 - }, - "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" - } - }, - "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": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "failure_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." + }, + "flip_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." + }, + "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" + }, + "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 + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / context_selection / anyOfPrevious value: -[ - { - "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" - }, - "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_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" - } -]New value: +[ + { + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / change_originAdded value: +{ + "default": "unknown", + "description": "Whether the behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "pre_existing", + "unknown" + ], + "type": "string" +} - added
Output schema / properties / recommended_bundles / descriptionAdded value: +"Task- and changed-file-based shortlists only; the host selects the route." - changed
Output schema / properties / review_context / anyOfPrevious 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_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", - "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" - }, - "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" - }, - "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": { + "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_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", + "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" + }, + "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" + } +]
- Changed
start_qa_orchestration10 fields changed- changed
Input schema / properties / review_context / anyOfPrevious 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_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", - "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" - }, - "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" - }, - "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": { + "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_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", + "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" + }, + "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" + } +] - changed
Input schema / properties / review_context / descriptionPrevious value: -"Optional immutable repository, base/head, changed-file, diff, and Evidence Packet identity. When supplied, every completed profile must include a structured report whose evidence references belong to this packet; completed outcomes require a final report. The response may include file-type-based recommended_profiles as non-binding hints. Optional evidence_registry metadata binds each ref to a source kind, revision, coordinates and content hash. The host verifies actual content locally."New value: +"Optional immutable repository, base/head, changed-file, diff, and Evidence Packet identity. When supplied, every completed profile must include a structured report whose evidence references belong to this packet; completed outcomes require a final report. The response may include file-type-based recommended_profiles and stack-matched recommended_bundles as non-binding hints. Optional evidence_registry metadata binds each ref to a source kind, revision, coordinates and content hash. The host verifies actual content locally." - changed
Input schema / properties / task_type / descriptionPrevious value: -"Broad request category: ordinary_review for implementation review, widget_review for widget changes, epic_analysis for broad exploration, requirements_analysis for requirement review, qa_planning for coverage planning, autotest_implementation for automation work, or other. This affects recommended_bundles only; the host chooses the route from changed files and evidence; it is not a risk level."New value: +"Broad request category: ordinary_review for implementation review, widget_review for widget changes, epic_analysis for broad exploration, requirements_analysis for requirement review, qa_planning for coverage planning, autotest_implementation for automation work, or other. This shapes the task-type shortlist; review_context may append stack-matched bundles. The host chooses the route from changed files and evidence; this is not a risk level." - added
Output schema / properties / audit_eventsAdded value: +{ + "description": "Bounded hash-chained host-submitted workflow trace; no raw request bodies.", + "items": { + "additionalProperties": false, + "description": "Hash-chained record of one host-submitted orchestration transition.", + "properties": { + "completed_profiles": { + "default": [], + "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" + }, + "current_profile": { + "anyOf": [ + { + "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" + } + ], + "default": null + }, + "event_sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "event_type": { + "enum": [ + "session_started", + "transition_applied", + "session_finalized" + ], + "type": "string" + }, + "from_status": { + "anyOf": [ + { + "enum": [ + "active", + "awaiting_host_outcome", + "completed", + "partial", + "blocked", + "expired" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "from_step": { + "anyOf": [ + { + "enum": [ + "triage", + "primary_review", + "deep_review", + "synthesis", + "awaiting_host_outcome" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "previous_event_sha256": { + "anyOf": [ + { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "recorded_at": { + "format": "date-time", + "type": "string" + }, + "request_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "request_sha256": { + "anyOf": [ + { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "revision": { + "minimum": 0, + "type": "integer" + }, + "run_id": { + "pattern": "^qar-[0-9a-f]{32}$", + "type": "string" + }, + "selected_bundle": { + "anyOf": [ + { + "enum": [ + "ordinary_mr", + "widget", + "widget_js", + "ruby_backend", + "python_backend", + "mobile", + "security", + "autotest", + "requirements" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null + }, + "selected_profile": { + "anyOf": [ + { + "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" + } + ], + "default": null + }, + "sequence": { + "minimum": 1, + "type": "integer" + }, + "to_status": { + "enum": [ + "active", + "awaiting_host_outcome", + "completed", + "partial", + "blocked", + "expired" + ], + "type": "string" + }, + "to_step": { + "enum": [ + "triage", + "primary_review", + "deep_review", + "synthesis", + "awaiting_host_outcome" + ], + "type": "string" + } + }, + "required": [ + "run_id", + "sequence", + "event_type", + "revision", + "recorded_at", + "to_status", + "to_step", + "event_sha256" + ], + "type": "object" + }, + "maxItems": 256, + "type": "array" +} - added
Output schema / properties / audit_trace_completeAdded value: +{ + "default": false, + "description": "True when the retained audit trace starts with session creation.", + "type": "boolean" +} - changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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" - }, - "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" - }, - "failure_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Specific preconditions that make the alleged failure occur." - }, - "flip_condition": { - "anyOf": [ - { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete source/contract evidence that would refute this candidate." - }, - "impact": { - "anyOf": [ - { - "maxLength": 2000, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete effect on users or contracts; severity remains host-owned." - }, - "severity": { - "anyOf": [ - { - "enum": [ - "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" - }, - "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 - }, - "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" - } - }, - "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": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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 behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "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" + }, + "failure_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." + }, + "flip_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." + }, + "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" + }, + "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 + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / profile_reports / items / properties / context_selection / anyOfPrevious value: -[ - { - "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" - }, - "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_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" - } -]New value: +[ + { + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / change_originAdded value: +{ + "default": "unknown", + "description": "Whether the behavior is introduced by the reviewed change, pre-existing, or unknown.", + "enum": [ + "introduced", + "pre_existing", + "unknown" + ], + "type": "string" +} - added
Output schema / properties / recommended_bundles / descriptionAdded value: +"Task- and changed-file-based shortlists only; the host selects the route." - changed
Output schema / properties / review_context / anyOfPrevious 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_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", - "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" - }, - "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" - }, - "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": { + "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_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", + "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" + }, + "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" + } +]
5 tool updates
v0.2.11- Changed
advance_qa_orchestration8 fields changed- changed
Input schema / properties / profile_reports / anyOfPrevious value: -[ - { - "items": { - "additionalProperties": false, - "description": "Structured host-reported result for one completed specialist profile.", - "properties": { - "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" - }, - "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": { - "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" - }, - "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" - }, - "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" - }, - "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" - } -]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" + }, + "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_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 actual executor call; no exception bodies or source content.", + "properties": { + "attempt": { + "maximum": 4, + "minimum": 1, + "type": "integer" + }, + "cached_input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "completed_at": { + "format": "date-time", + "type": "string" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "model_seconds": { + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null + }, + "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" + }, + "queue_seconds": { + "minimum": 0, + "type": "number" + }, + "started_at": { + "format": "date-time", + "type": "string" + }, + "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": { + "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" + }, + "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" + }, + "failure_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." + }, + "flip_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." + }, + "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 + }, + "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" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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" - }, - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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" - }, - "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" - }, - "impact": { - "anyOf": [ - { - "maxLength": 2000, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete effect on users or contracts; severity remains host-owned." - }, - "severity": { - "anyOf": [ - { - "enum": [ - "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" - }, - "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" - }, - "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" - } - }, - "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": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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" + }, + "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" + }, + "failure_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." + }, + "flip_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." + }, + "impact": { + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete effect on users or contracts; severity remains host-owned." + }, + "severity": { + "anyOf": [ + { + "enum": [ + "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" + }, + "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 + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / profile_reports / items / properties / context_selectionAdded value: +{ + "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" + }, + "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_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 +} - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - }, - "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 actual executor call; no exception bodies or source content.", + "properties": { + "attempt": { + "maximum": 4, + "minimum": 1, + "type": "integer" + }, + "cached_input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "completed_at": { + "format": "date-time", + "type": "string" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "model_seconds": { + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null + }, + "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" + }, + "queue_seconds": { + "minimum": 0, + "type": "number" + }, + "started_at": { + "format": "date-time", + "type": "string" + }, + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / failure_conditionAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / flip_conditionAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." +} - added
Output schema / properties / profile_reports / items / properties / review_rules_sha256Added value: +{ + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null +} - changed
Output schema / properties / review_context / anyOfPrevious 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_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", - "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" - }, - "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" - }, - "repository": { - "maxLength": 512, - "minLength": 1, - "type": "string" - } - }, - "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": { + "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_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", + "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" + }, + "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" + }, + "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" + } +]
- Changed
finish_qa_orchestration8 fields changed- changed
Input schema / properties / final_review_report / anyOfPrevious 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": { - "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" - }, - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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" - }, - "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" - }, - "impact": { - "anyOf": [ - { - "maxLength": 2000, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete effect on users or contracts; severity remains host-owned." - }, - "severity": { - "anyOf": [ - { - "enum": [ - "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" - }, - "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" - }, - "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" - } - }, - "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": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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" + }, + "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" + }, + "failure_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." + }, + "flip_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." + }, + "impact": { + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete effect on users or contracts; severity remains host-owned." + }, + "severity": { + "anyOf": [ + { + "enum": [ + "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" + }, + "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 + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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" - }, - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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" - }, - "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" - }, - "impact": { - "anyOf": [ - { - "maxLength": 2000, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete effect on users or contracts; severity remains host-owned." - }, - "severity": { - "anyOf": [ - { - "enum": [ - "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" - }, - "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" - }, - "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" - } - }, - "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": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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" + }, + "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" + }, + "failure_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." + }, + "flip_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." + }, + "impact": { + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete effect on users or contracts; severity remains host-owned." + }, + "severity": { + "anyOf": [ + { + "enum": [ + "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" + }, + "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 + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / profile_reports / items / properties / context_selectionAdded value: +{ + "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" + }, + "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_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 +} - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - }, - "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 actual executor call; no exception bodies or source content.", + "properties": { + "attempt": { + "maximum": 4, + "minimum": 1, + "type": "integer" + }, + "cached_input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "completed_at": { + "format": "date-time", + "type": "string" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "model_seconds": { + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null + }, + "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" + }, + "queue_seconds": { + "minimum": 0, + "type": "number" + }, + "started_at": { + "format": "date-time", + "type": "string" + }, + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / failure_conditionAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / flip_conditionAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." +} - added
Output schema / properties / profile_reports / items / properties / review_rules_sha256Added value: +{ + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null +} - changed
Output schema / properties / review_context / anyOfPrevious 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_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", - "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" - }, - "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" - }, - "repository": { - "maxLength": 512, - "minLength": 1, - "type": "string" - } - }, - "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": { + "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_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", + "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" + }, + "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" + }, + "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" + } +]
- Changed
get_qa_orchestration7 fields changed- changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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" - }, - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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" - }, - "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" - }, - "impact": { - "anyOf": [ - { - "maxLength": 2000, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete effect on users or contracts; severity remains host-owned." - }, - "severity": { - "anyOf": [ - { - "enum": [ - "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" - }, - "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" - }, - "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" - } - }, - "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": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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" + }, + "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" + }, + "failure_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." + }, + "flip_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." + }, + "impact": { + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete effect on users or contracts; severity remains host-owned." + }, + "severity": { + "anyOf": [ + { + "enum": [ + "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" + }, + "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 + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / profile_reports / items / properties / context_selectionAdded value: +{ + "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" + }, + "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_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 +} - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - }, - "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 actual executor call; no exception bodies or source content.", + "properties": { + "attempt": { + "maximum": 4, + "minimum": 1, + "type": "integer" + }, + "cached_input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "completed_at": { + "format": "date-time", + "type": "string" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "model_seconds": { + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null + }, + "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" + }, + "queue_seconds": { + "minimum": 0, + "type": "number" + }, + "started_at": { + "format": "date-time", + "type": "string" + }, + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / failure_conditionAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / flip_conditionAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." +} - added
Output schema / properties / profile_reports / items / properties / review_rules_sha256Added value: +{ + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null +} - changed
Output schema / properties / review_context / anyOfPrevious 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_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", - "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" - }, - "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" - }, - "repository": { - "maxLength": 512, - "minLength": 1, - "type": "string" - } - }, - "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": { + "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_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", + "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" + }, + "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" + }, + "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" + } +]
- Changed
renew_qa_orchestration7 fields changed- changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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" - }, - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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" - }, - "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" - }, - "impact": { - "anyOf": [ - { - "maxLength": 2000, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete effect on users or contracts; severity remains host-owned." - }, - "severity": { - "anyOf": [ - { - "enum": [ - "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" - }, - "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" - }, - "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" - } - }, - "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": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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" + }, + "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" + }, + "failure_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." + }, + "flip_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." + }, + "impact": { + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete effect on users or contracts; severity remains host-owned." + }, + "severity": { + "anyOf": [ + { + "enum": [ + "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" + }, + "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 + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / profile_reports / items / properties / context_selectionAdded value: +{ + "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" + }, + "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_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 +} - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - }, - "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 actual executor call; no exception bodies or source content.", + "properties": { + "attempt": { + "maximum": 4, + "minimum": 1, + "type": "integer" + }, + "cached_input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "completed_at": { + "format": "date-time", + "type": "string" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "model_seconds": { + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null + }, + "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" + }, + "queue_seconds": { + "minimum": 0, + "type": "number" + }, + "started_at": { + "format": "date-time", + "type": "string" + }, + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / failure_conditionAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / flip_conditionAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." +} - added
Output schema / properties / profile_reports / items / properties / review_rules_sha256Added value: +{ + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null +} - changed
Output schema / properties / review_context / anyOfPrevious 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_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", - "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" - }, - "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" - }, - "repository": { - "maxLength": 512, - "minLength": 1, - "type": "string" - } - }, - "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": { + "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_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", + "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" + }, + "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" + }, + "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" + } +]
- Changed
start_qa_orchestration8 fields changed- changed
Input schema / properties / review_context / anyOfPrevious 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_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", - "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" - }, - "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" - }, - "repository": { - "maxLength": 512, - "minLength": 1, - "type": "string" - } - }, - "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": { + "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_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", + "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" + }, + "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" + }, + "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" + } +] - changed
Output schema / properties / final_review_report / anyOfPrevious 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": { - "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" - }, - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "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" - }, - "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" - }, - "impact": { - "anyOf": [ - { - "maxLength": 2000, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Concrete effect on users or contracts; severity remains host-owned." - }, - "severity": { - "anyOf": [ - { - "enum": [ - "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" - }, - "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" - }, - "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" - } - }, - "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": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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" + }, + "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" + }, + "failure_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." + }, + "flip_condition": { + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." + }, + "impact": { + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete effect on users or contracts; severity remains host-owned." + }, + "severity": { + "anyOf": [ + { + "enum": [ + "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" + }, + "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 + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / profile_reports / items / properties / context_selectionAdded value: +{ + "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" + }, + "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_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 +} - changed
Output schema / properties / profile_reports / items / properties / execution_metrics / anyOfPrevious 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" - }, - "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 actual executor call; no exception bodies or source content.", + "properties": { + "attempt": { + "maximum": 4, + "minimum": 1, + "type": "integer" + }, + "cached_input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "completed_at": { + "format": "date-time", + "type": "string" + }, + "executor_seconds": { + "minimum": 0, + "type": "number" + }, + "input_tokens": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + }, + "model_seconds": { + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null + }, + "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" + }, + "queue_seconds": { + "minimum": 0, + "type": "number" + }, + "started_at": { + "format": "date-time", + "type": "string" + }, + "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" + } +] - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / failure_conditionAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Specific preconditions that make the alleged failure occur." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / flip_conditionAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete source/contract evidence that would refute this candidate." +} - added
Output schema / properties / profile_reports / items / properties / review_rules_sha256Added value: +{ + "anyOf": [ + { + "pattern": "(?i)^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null +} - changed
Output schema / properties / review_context / anyOfPrevious 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_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", - "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" - }, - "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" - }, - "repository": { - "maxLength": 512, - "minLength": 1, - "type": "string" - } - }, - "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": { + "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_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", + "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" + }, + "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" + }, + "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" + } +]
5 tool updates
v0.2.10- Changed
advance_qa_orchestration17 fields changed- added
Input schema / properties / expected_revisionAdded value: +{ + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional workflow revision from the latest session. A new transition is rejected if stale; a recognized request_id replay remains safe." +} - changed
Input schema / properties / profile_reports / anyOfPrevious value: -[ - { - "items": { - "additionalProperties": false, - "description": "Structured host-reported result for one completed specialist profile.", - "properties": { - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "description": "A possible defect with evidence references; the host still decides whether it is confirmed.", - "properties": { - "candidate_id": { - "pattern": "^F-[0-9]{2,}$", - "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" - }, - "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" - }, - "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" - } -]New value: +[ + { + "items": { + "additionalProperties": false, + "description": "Structured host-reported result for one completed specialist profile.", + "properties": { + "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" + }, + "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": { + "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" + }, + "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" + }, + "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" + }, + "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" + } +] - changed
Input schema / properties / profile_reports / descriptionPrevious value: -"For a review-context-bound session, one structured result per completed profile, in the same order. Every finding must cite Evidence Packet references. Omit for legacy sessions without review_context."New value: +"For a review-context-bound session, one structured result per completed profile, in the same order. Every finding must cite Evidence Packet references. Optional execution_metrics are host-reported and are not independently verified. Up to ten reports are accepted, with 64 KiB per report and 256 KiB combined per session. Omit for legacy sessions without review_context." - added
Input schema / properties / request_idAdded value: +{ + "anyOf": [ + { + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional unique transition key. Requires expected_revision. Retrying the exact same payload returns current retained state without repeating the transition; reusing the key with another payload is rejected." +} - changed
Input schema / properties / risk_signals / anyOfPrevious value: -[ - { - "additionalProperties": false, - "description": "Content-free, host-supplied signals used for deterministic escalation.", - "properties": { - "cross_system_scope": { - "default": false, - "description": "The relevant behavior crosses repository, service, or system boundaries.", - "type": "boolean" - }, - "evidence_conflict": { - "default": false, - "description": "Relevant authoritative evidence sources disagree.", - "type": "boolean" - }, - "evidence_uncertain": { - "default": false, - "description": "A specific material conclusion remains uncertain, and a scoped read-only review could plausibly resolve it. Do not set solely because CI, Stage, or runtime checks were not run.", - "type": "boolean" - }, - "high_blast_radius": { - "default": false, - "description": "The change could affect many consumers, services, or data records.", - "type": "boolean" - }, - "high_risk_domain": { - "default": false, - "description": "The change affects a sensitive security, identity, payment, fraud, privacy, or access-control area.", - "type": "boolean" - }, - "multiple_plausible_causes": { - "default": false, - "description": "More than one plausible cause remains after investigation.", - "type": "boolean" - }, - "non_reproducible": { - "default": false, - "description": "The reported behavior cannot be reproduced under expected conditions.", - "type": "boolean" - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "description": "Host-supplied escalation signals with the rationale and refs that support them.", + "properties": { + "cross_system_scope": { + "default": false, + "description": "The relevant behavior crosses repository, service, or system boundaries.", + "type": "boolean" + }, + "evidence_conflict": { + "default": false, + "description": "Relevant authoritative evidence sources disagree.", + "type": "boolean" + }, + "evidence_refs": { + "default": [], + "description": "Evidence Packet references supporting the enabled signals.", + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 32, + "type": "array" + }, + "evidence_uncertain": { + "default": false, + "description": "A specific material conclusion remains uncertain, and a scoped read-only review could plausibly resolve it. Do not set solely because CI, Stage, or runtime checks were not run.", + "type": "boolean" + }, + "high_blast_radius": { + "default": false, + "description": "The change could affect many consumers, services, or data records.", + "type": "boolean" + }, + "high_risk_domain": { + "default": false, + "description": "The change affects a sensitive security, identity, payment, fraud, privacy, or access-control area.", + "type": "boolean" + }, + "multiple_plausible_causes": { + "default": false, + "description": "More than one plausible cause remains after investigation.", + "type": "boolean" + }, + "non_reproducible": { + "default": false, + "description": "The reported behavior cannot be reproduced under expected conditions.", + "type": "boolean" + }, + "rationale": { + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Short explanation for the enabled signals; required when any signal is true." + } + }, + "type": "object" + }, + { + "type": "null" + } +] - changed
Input schema / properties / risk_signals / descriptionPrevious value: -"Required with the final completed primary-review profile. Send an empty object when no evidence-based fixed escalation signals apply; do not send on earlier profiles or on the synthesis transition."New value: +"Required with the final completed primary-review profile. Send an empty object when no evidence-based fixed escalation signals apply; any true signal requires a short rationale and Evidence Packet references. Do not send on earlier profiles or on the synthesis transition." - changed
Output schema / properties / final_review_report / anyOfPrevious value: -[ - { - "additionalProperties": false, - "description": "Structured synthesis stored with a review-bound orchestration session.", - "properties": { - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "candidate_id": { - "pattern": "^F-[0-9]{2,}$", - "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" - }, - "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" - }, - "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" - }, - "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" - } - }, - "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": { + "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" + }, + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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" + }, + "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" + }, + "impact": { + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete effect on users or contracts; severity remains host-owned." + }, + "severity": { + "anyOf": [ + { + "enum": [ + "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" + }, + "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" + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / profile_reports / items / properties / execution_metricsAdded value: +{ + "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" + }, + "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." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / affected_areaAdded value: +{ + "anyOf": [ + { + "maxLength": 256, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Affected user flow or system area, when supported by the evidence." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / impactAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete effect on users or contracts; severity remains host-owned." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / source_locationsAdded value: +{ + "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" +} - added
Output schema / properties / profile_reports / maxItemsAdded value: +10 - added
Output schema / properties / recommended_profilesAdded value: +{ + "description": "File-type-based profile hints only; the host selects the route.", + "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" +} - changed
Output schema / properties / review_context / anyOfPrevious 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": { - "type": "string" - }, - "maxItems": 500, - "minItems": 1, - "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" - }, - "head_sha": { - "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", - "type": "string" - }, - "repository": { - "maxLength": 512, - "minLength": 1, - "type": "string" - } - }, - "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": { + "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_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", + "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" + }, + "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" + }, + "repository": { + "maxLength": 512, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "repository", + "base_sha", + "head_sha", + "diff_sha256", + "evidence_packet_sha256", + "changed_files", + "evidence_refs" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / revisionAdded value: +{ + "default": 0, + "description": "Workflow revision for conditional writes.", + "minimum": 0, + "type": "integer" +} - added
Output schema / properties / risk_signalsAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "description": "Host-supplied escalation signals with the rationale and refs that support them.", + "properties": { + "cross_system_scope": { + "default": false, + "description": "The relevant behavior crosses repository, service, or system boundaries.", + "type": "boolean" + }, + "evidence_conflict": { + "default": false, + "description": "Relevant authoritative evidence sources disagree.", + "type": "boolean" + }, + "evidence_refs": { + "default": [], + "description": "Evidence Packet references supporting the enabled signals.", + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 32, + "type": "array" + }, + "evidence_uncertain": { + "default": false, + "description": "A specific material conclusion remains uncertain, and a scoped read-only review could plausibly resolve it. Do not set solely because CI, Stage, or runtime checks were not run.", + "type": "boolean" + }, + "high_blast_radius": { + "default": false, + "description": "The change could affect many consumers, services, or data records.", + "type": "boolean" + }, + "high_risk_domain": { + "default": false, + "description": "The change affects a sensitive security, identity, payment, fraud, privacy, or access-control area.", + "type": "boolean" + }, + "multiple_plausible_causes": { + "default": false, + "description": "More than one plausible cause remains after investigation.", + "type": "boolean" + }, + "non_reproducible": { + "default": false, + "description": "The reported behavior cannot be reproduced under expected conditions.", + "type": "boolean" + }, + "rationale": { + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Short explanation for the enabled signals; required when any signal is true." + } + }, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null +} - added
Output schema / properties / transition_receiptsAdded value: +{ + "description": "Bounded request hashes for safe replay; no raw transition payloads are stored.", + "items": { + "additionalProperties": false, + "properties": { + "applied_revision": { + "minimum": 1, + "type": "integer" + }, + "request_id": { + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$", + "type": "string" + }, + "request_sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "request_id", + "request_sha256", + "applied_revision" + ], + "type": "object" + }, + "maxItems": 128, + "type": "array" +}
- Changed
finish_qa_orchestration14 fields changed- added
Input schema / properties / expected_revisionAdded value: +{ + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional current workflow revision for a new finalization. The same retained outcome/report can still be replayed idempotently." +} - changed
Input schema / properties / final_review_report / anyOfPrevious value: -[ - { - "additionalProperties": false, - "description": "Structured synthesis stored with a review-bound orchestration session.", - "properties": { - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "candidate_id": { - "pattern": "^F-[0-9]{2,}$", - "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" - }, - "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" - }, - "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" - }, - "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" - } - }, - "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": { + "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" + }, + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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" + }, + "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" + }, + "impact": { + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete effect on users or contracts; severity remains host-owned." + }, + "severity": { + "anyOf": [ + { + "enum": [ + "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" + }, + "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" + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Input schema / properties / final_review_report / descriptionPrevious value: -"Structured synthesized findings and coverage for a review_context-bound session. Required when its outcome is completed; each finding cites registered evidence refs."New value: +"Structured synthesized findings and coverage for a review_context-bound session. Required when its outcome is completed; each finding cites registered evidence refs and the original profile-local candidate IDs and evidence that support it. The report must include one candidate_decisions entry per submitted candidate. Confirmed findings require host severity, impact, affected area, and source locations. The report is limited to 64 KiB; profile plus final reports are limited to 256 KiB per session." - changed
Output schema / properties / final_review_report / anyOfPrevious value: -[ - { - "additionalProperties": false, - "description": "Structured synthesis stored with a review-bound orchestration session.", - "properties": { - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "candidate_id": { - "pattern": "^F-[0-9]{2,}$", - "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" - }, - "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" - }, - "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" - }, - "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" - } - }, - "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": { + "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" + }, + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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" + }, + "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" + }, + "impact": { + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete effect on users or contracts; severity remains host-owned." + }, + "severity": { + "anyOf": [ + { + "enum": [ + "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" + }, + "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" + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / profile_reports / items / properties / execution_metricsAdded value: +{ + "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" + }, + "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." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / affected_areaAdded value: +{ + "anyOf": [ + { + "maxLength": 256, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Affected user flow or system area, when supported by the evidence." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / impactAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete effect on users or contracts; severity remains host-owned." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / source_locationsAdded value: +{ + "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" +} - added
Output schema / properties / profile_reports / maxItemsAdded value: +10 - added
Output schema / properties / recommended_profilesAdded value: +{ + "description": "File-type-based profile hints only; the host selects the route.", + "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" +} - changed
Output schema / properties / review_context / anyOfPrevious 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": { - "type": "string" - }, - "maxItems": 500, - "minItems": 1, - "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" - }, - "head_sha": { - "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", - "type": "string" - }, - "repository": { - "maxLength": 512, - "minLength": 1, - "type": "string" - } - }, - "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": { + "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_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", + "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" + }, + "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" + }, + "repository": { + "maxLength": 512, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "repository", + "base_sha", + "head_sha", + "diff_sha256", + "evidence_packet_sha256", + "changed_files", + "evidence_refs" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / revisionAdded value: +{ + "default": 0, + "description": "Workflow revision for conditional writes.", + "minimum": 0, + "type": "integer" +} - added
Output schema / properties / risk_signalsAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "description": "Host-supplied escalation signals with the rationale and refs that support them.", + "properties": { + "cross_system_scope": { + "default": false, + "description": "The relevant behavior crosses repository, service, or system boundaries.", + "type": "boolean" + }, + "evidence_conflict": { + "default": false, + "description": "Relevant authoritative evidence sources disagree.", + "type": "boolean" + }, + "evidence_refs": { + "default": [], + "description": "Evidence Packet references supporting the enabled signals.", + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 32, + "type": "array" + }, + "evidence_uncertain": { + "default": false, + "description": "A specific material conclusion remains uncertain, and a scoped read-only review could plausibly resolve it. Do not set solely because CI, Stage, or runtime checks were not run.", + "type": "boolean" + }, + "high_blast_radius": { + "default": false, + "description": "The change could affect many consumers, services, or data records.", + "type": "boolean" + }, + "high_risk_domain": { + "default": false, + "description": "The change affects a sensitive security, identity, payment, fraud, privacy, or access-control area.", + "type": "boolean" + }, + "multiple_plausible_causes": { + "default": false, + "description": "More than one plausible cause remains after investigation.", + "type": "boolean" + }, + "non_reproducible": { + "default": false, + "description": "The reported behavior cannot be reproduced under expected conditions.", + "type": "boolean" + }, + "rationale": { + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Short explanation for the enabled signals; required when any signal is true." + } + }, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null +} - added
Output schema / properties / transition_receiptsAdded value: +{ + "description": "Bounded request hashes for safe replay; no raw transition payloads are stored.", + "items": { + "additionalProperties": false, + "properties": { + "applied_revision": { + "minimum": 1, + "type": "integer" + }, + "request_id": { + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$", + "type": "string" + }, + "request_sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "request_id", + "request_sha256", + "applied_revision" + ], + "type": "object" + }, + "maxItems": 128, + "type": "array" +}
- Changed
get_qa_orchestration11 fields changed- changed
Output schema / properties / final_review_report / anyOfPrevious value: -[ - { - "additionalProperties": false, - "description": "Structured synthesis stored with a review-bound orchestration session.", - "properties": { - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "candidate_id": { - "pattern": "^F-[0-9]{2,}$", - "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" - }, - "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" - }, - "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" - }, - "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" - } - }, - "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": { + "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" + }, + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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" + }, + "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" + }, + "impact": { + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete effect on users or contracts; severity remains host-owned." + }, + "severity": { + "anyOf": [ + { + "enum": [ + "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" + }, + "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" + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / profile_reports / items / properties / execution_metricsAdded value: +{ + "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" + }, + "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." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / affected_areaAdded value: +{ + "anyOf": [ + { + "maxLength": 256, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Affected user flow or system area, when supported by the evidence." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / impactAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete effect on users or contracts; severity remains host-owned." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / source_locationsAdded value: +{ + "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" +} - added
Output schema / properties / profile_reports / maxItemsAdded value: +10 - added
Output schema / properties / recommended_profilesAdded value: +{ + "description": "File-type-based profile hints only; the host selects the route.", + "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" +} - changed
Output schema / properties / review_context / anyOfPrevious 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": { - "type": "string" - }, - "maxItems": 500, - "minItems": 1, - "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" - }, - "head_sha": { - "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", - "type": "string" - }, - "repository": { - "maxLength": 512, - "minLength": 1, - "type": "string" - } - }, - "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": { + "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_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", + "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" + }, + "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" + }, + "repository": { + "maxLength": 512, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "repository", + "base_sha", + "head_sha", + "diff_sha256", + "evidence_packet_sha256", + "changed_files", + "evidence_refs" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / revisionAdded value: +{ + "default": 0, + "description": "Workflow revision for conditional writes.", + "minimum": 0, + "type": "integer" +} - added
Output schema / properties / risk_signalsAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "description": "Host-supplied escalation signals with the rationale and refs that support them.", + "properties": { + "cross_system_scope": { + "default": false, + "description": "The relevant behavior crosses repository, service, or system boundaries.", + "type": "boolean" + }, + "evidence_conflict": { + "default": false, + "description": "Relevant authoritative evidence sources disagree.", + "type": "boolean" + }, + "evidence_refs": { + "default": [], + "description": "Evidence Packet references supporting the enabled signals.", + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 32, + "type": "array" + }, + "evidence_uncertain": { + "default": false, + "description": "A specific material conclusion remains uncertain, and a scoped read-only review could plausibly resolve it. Do not set solely because CI, Stage, or runtime checks were not run.", + "type": "boolean" + }, + "high_blast_radius": { + "default": false, + "description": "The change could affect many consumers, services, or data records.", + "type": "boolean" + }, + "high_risk_domain": { + "default": false, + "description": "The change affects a sensitive security, identity, payment, fraud, privacy, or access-control area.", + "type": "boolean" + }, + "multiple_plausible_causes": { + "default": false, + "description": "More than one plausible cause remains after investigation.", + "type": "boolean" + }, + "non_reproducible": { + "default": false, + "description": "The reported behavior cannot be reproduced under expected conditions.", + "type": "boolean" + }, + "rationale": { + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Short explanation for the enabled signals; required when any signal is true." + } + }, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null +} - added
Output schema / properties / transition_receiptsAdded value: +{ + "description": "Bounded request hashes for safe replay; no raw transition payloads are stored.", + "items": { + "additionalProperties": false, + "properties": { + "applied_revision": { + "minimum": 1, + "type": "integer" + }, + "request_id": { + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$", + "type": "string" + }, + "request_sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "request_id", + "request_sha256", + "applied_revision" + ], + "type": "object" + }, + "maxItems": 128, + "type": "array" +}
- Added
renew_qa_orchestration - Changed
start_qa_orchestration13 fields changed- changed
Input schema / properties / review_context / anyOfPrevious 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": { - "type": "string" - }, - "maxItems": 500, - "minItems": 1, - "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" - }, - "head_sha": { - "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", - "type": "string" - }, - "repository": { - "maxLength": 512, - "minLength": 1, - "type": "string" - } - }, - "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": { + "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_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", + "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" + }, + "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" + }, + "repository": { + "maxLength": 512, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "repository", + "base_sha", + "head_sha", + "diff_sha256", + "evidence_packet_sha256", + "changed_files", + "evidence_refs" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Input schema / properties / review_context / descriptionPrevious value: -"Optional immutable repository, base/head, diff, and Evidence Packet identity. When supplied, every completed profile must include a structured report whose evidence references belong to this packet; completed outcomes require a final report."New value: +"Optional immutable repository, base/head, changed-file, diff, and Evidence Packet identity. When supplied, every completed profile must include a structured report whose evidence references belong to this packet; completed outcomes require a final report. The response may include file-type-based recommended_profiles as non-binding hints. Optional evidence_registry metadata binds each ref to a source kind, revision, coordinates and content hash. The host verifies actual content locally." - changed
Output schema / properties / final_review_report / anyOfPrevious value: -[ - { - "additionalProperties": false, - "description": "Structured synthesis stored with a review-bound orchestration session.", - "properties": { - "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" - }, - "finding_candidates": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "candidate_id": { - "pattern": "^F-[0-9]{2,}$", - "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" - }, - "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" - }, - "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" - }, - "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" - } - }, - "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": { + "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" + }, + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "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" + }, + "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" + }, + "impact": { + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete effect on users or contracts; severity remains host-owned." + }, + "severity": { + "anyOf": [ + { + "enum": [ + "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" + }, + "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" + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / profile_reports / items / properties / execution_metricsAdded value: +{ + "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" + }, + "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." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / affected_areaAdded value: +{ + "anyOf": [ + { + "maxLength": 256, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Affected user flow or system area, when supported by the evidence." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / impactAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete effect on users or contracts; severity remains host-owned." +} - added
Output schema / properties / profile_reports / items / properties / finding_candidates / items / properties / source_locationsAdded value: +{ + "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" +} - added
Output schema / properties / profile_reports / maxItemsAdded value: +10 - added
Output schema / properties / recommended_profilesAdded value: +{ + "description": "File-type-based profile hints only; the host selects the route.", + "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" +} - changed
Output schema / properties / review_context / anyOfPrevious 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": { - "type": "string" - }, - "maxItems": 500, - "minItems": 1, - "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" - }, - "head_sha": { - "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", - "type": "string" - }, - "repository": { - "maxLength": 512, - "minLength": 1, - "type": "string" - } - }, - "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": { + "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_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", + "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" + }, + "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" + }, + "repository": { + "maxLength": 512, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "repository", + "base_sha", + "head_sha", + "diff_sha256", + "evidence_packet_sha256", + "changed_files", + "evidence_refs" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / revisionAdded value: +{ + "default": 0, + "description": "Workflow revision for conditional writes.", + "minimum": 0, + "type": "integer" +} - added
Output schema / properties / risk_signalsAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "description": "Host-supplied escalation signals with the rationale and refs that support them.", + "properties": { + "cross_system_scope": { + "default": false, + "description": "The relevant behavior crosses repository, service, or system boundaries.", + "type": "boolean" + }, + "evidence_conflict": { + "default": false, + "description": "Relevant authoritative evidence sources disagree.", + "type": "boolean" + }, + "evidence_refs": { + "default": [], + "description": "Evidence Packet references supporting the enabled signals.", + "items": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$", + "type": "string" + }, + "maxItems": 32, + "type": "array" + }, + "evidence_uncertain": { + "default": false, + "description": "A specific material conclusion remains uncertain, and a scoped read-only review could plausibly resolve it. Do not set solely because CI, Stage, or runtime checks were not run.", + "type": "boolean" + }, + "high_blast_radius": { + "default": false, + "description": "The change could affect many consumers, services, or data records.", + "type": "boolean" + }, + "high_risk_domain": { + "default": false, + "description": "The change affects a sensitive security, identity, payment, fraud, privacy, or access-control area.", + "type": "boolean" + }, + "multiple_plausible_causes": { + "default": false, + "description": "More than one plausible cause remains after investigation.", + "type": "boolean" + }, + "non_reproducible": { + "default": false, + "description": "The reported behavior cannot be reproduced under expected conditions.", + "type": "boolean" + }, + "rationale": { + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Short explanation for the enabled signals; required when any signal is true." + } + }, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null +} - added
Output schema / properties / transition_receiptsAdded value: +{ + "description": "Bounded request hashes for safe replay; no raw transition payloads are stored.", + "items": { + "additionalProperties": false, + "properties": { + "applied_revision": { + "minimum": 1, + "type": "integer" + }, + "request_id": { + "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$", + "type": "string" + }, + "request_sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "request_id", + "request_sha256", + "applied_revision" + ], + "type": "object" + }, + "maxItems": 128, + "type": "array" +}
5 tool updates
v0.2.9- Changed
advance_qa_orchestration4 fields changed- added
Input schema / properties / profile_reportsAdded value: +{ + "anyOf": [ + { + "items": { + "additionalProperties": false, + "description": "Structured host-reported result for one completed specialist profile.", + "properties": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "description": "A possible defect with evidence references; the host still decides whether it is confirmed.", + "properties": { + "candidate_id": { + "pattern": "^F-[0-9]{2,}$", + "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" + }, + "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" + }, + "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" + } + ], + "default": null, + "description": "For a review-context-bound session, one structured result per completed profile, in the same order. Every finding must cite Evidence Packet references. Omit for legacy sessions without review_context." +} - added
Output schema / properties / final_review_reportAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "description": "Structured synthesis stored with a review-bound orchestration session.", + "properties": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "candidate_id": { + "pattern": "^F-[0-9]{2,}$", + "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" + }, + "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" + }, + "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" + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "default": null +} - added
Output schema / properties / profile_reportsAdded value: +{ + "items": { + "additionalProperties": false, + "description": "Structured host-reported result for one completed specialist profile.", + "properties": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "description": "A possible defect with evidence references; the host still decides whether it is confirmed.", + "properties": { + "candidate_id": { + "pattern": "^F-[0-9]{2,}$", + "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" + }, + "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" + }, + "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" +} - added
Output schema / properties / review_contextAdded value: +{ + "anyOf": [ + { + "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": { + "type": "string" + }, + "maxItems": 500, + "minItems": 1, + "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" + }, + "head_sha": { + "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", + "type": "string" + }, + "repository": { + "maxLength": 512, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "repository", + "base_sha", + "head_sha", + "diff_sha256", + "evidence_packet_sha256", + "changed_files", + "evidence_refs" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "default": null +}
- Changed
finish_qa_orchestration4 fields changed- added
Input schema / properties / final_review_reportAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "description": "Structured synthesis stored with a review-bound orchestration session.", + "properties": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "candidate_id": { + "pattern": "^F-[0-9]{2,}$", + "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" + }, + "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" + }, + "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" + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Structured synthesized findings and coverage for a review_context-bound session. Required when its outcome is completed; each finding cites registered evidence refs." +} - added
Output schema / properties / final_review_reportAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "description": "Structured synthesis stored with a review-bound orchestration session.", + "properties": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "candidate_id": { + "pattern": "^F-[0-9]{2,}$", + "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" + }, + "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" + }, + "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" + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "default": null +} - added
Output schema / properties / profile_reportsAdded value: +{ + "items": { + "additionalProperties": false, + "description": "Structured host-reported result for one completed specialist profile.", + "properties": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "description": "A possible defect with evidence references; the host still decides whether it is confirmed.", + "properties": { + "candidate_id": { + "pattern": "^F-[0-9]{2,}$", + "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" + }, + "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" + }, + "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" +} - added
Output schema / properties / review_contextAdded value: +{ + "anyOf": [ + { + "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": { + "type": "string" + }, + "maxItems": 500, + "minItems": 1, + "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" + }, + "head_sha": { + "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", + "type": "string" + }, + "repository": { + "maxLength": 512, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "repository", + "base_sha", + "head_sha", + "diff_sha256", + "evidence_packet_sha256", + "changed_files", + "evidence_refs" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "default": null +}
- Changed
get_qa_orchestration3 fields changed- added
Output schema / properties / final_review_reportAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "description": "Structured synthesis stored with a review-bound orchestration session.", + "properties": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "candidate_id": { + "pattern": "^F-[0-9]{2,}$", + "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" + }, + "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" + }, + "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" + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "default": null +} - added
Output schema / properties / profile_reportsAdded value: +{ + "items": { + "additionalProperties": false, + "description": "Structured host-reported result for one completed specialist profile.", + "properties": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "description": "A possible defect with evidence references; the host still decides whether it is confirmed.", + "properties": { + "candidate_id": { + "pattern": "^F-[0-9]{2,}$", + "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" + }, + "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" + }, + "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" +} - added
Output schema / properties / review_contextAdded value: +{ + "anyOf": [ + { + "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": { + "type": "string" + }, + "maxItems": 500, + "minItems": 1, + "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" + }, + "head_sha": { + "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", + "type": "string" + }, + "repository": { + "maxLength": 512, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "repository", + "base_sha", + "head_sha", + "diff_sha256", + "evidence_packet_sha256", + "changed_files", + "evidence_refs" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "default": null +}
- Changed
list_qa_orchestrations5 fields changed- changed
Output schema / properties / sessions / items / descriptionPrevious value: -"Content-free metadata for identifying a retained session."New value: +"Bounded metadata for finding a retained orchestration session." - added
Output schema / properties / sessions / items / properties / has_review_artifactsAdded value: +{ + "default": false, + "type": "boolean" +} - added
Output schema / properties / sessions / items / properties / review_diff_sha256Added value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null +} - added
Output schema / properties / sessions / items / properties / review_head_shaAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null +} - added
Output schema / properties / sessions / items / properties / review_repositoryAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null +}
- Changed
start_qa_orchestration4 fields changed- added
Input schema / properties / review_contextAdded value: +{ + "anyOf": [ + { + "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": { + "type": "string" + }, + "maxItems": 500, + "minItems": 1, + "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" + }, + "head_sha": { + "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", + "type": "string" + }, + "repository": { + "maxLength": 512, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "repository", + "base_sha", + "head_sha", + "diff_sha256", + "evidence_packet_sha256", + "changed_files", + "evidence_refs" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional immutable repository, base/head, diff, and Evidence Packet identity. When supplied, every completed profile must include a structured report whose evidence references belong to this packet; completed outcomes require a final report." +} - added
Output schema / properties / final_review_reportAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "description": "Structured synthesis stored with a review-bound orchestration session.", + "properties": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "candidate_id": { + "pattern": "^F-[0-9]{2,}$", + "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" + }, + "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" + }, + "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" + }, + "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" + } + }, + "required": [ + "summary", + "profiles_reviewed" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "default": null +} - added
Output schema / properties / profile_reportsAdded value: +{ + "items": { + "additionalProperties": false, + "description": "Structured host-reported result for one completed specialist profile.", + "properties": { + "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" + }, + "finding_candidates": { + "default": [], + "items": { + "additionalProperties": false, + "description": "A possible defect with evidence references; the host still decides whether it is confirmed.", + "properties": { + "candidate_id": { + "pattern": "^F-[0-9]{2,}$", + "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" + }, + "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" + }, + "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" +} - added
Output schema / properties / review_contextAdded value: +{ + "anyOf": [ + { + "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": { + "type": "string" + }, + "maxItems": 500, + "minItems": 1, + "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" + }, + "head_sha": { + "pattern": "(?i)^(?:[a-f0-9]{40}|[a-f0-9]{64})$", + "type": "string" + }, + "repository": { + "maxLength": 512, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "repository", + "base_sha", + "head_sha", + "diff_sha256", + "evidence_packet_sha256", + "changed_files", + "evidence_refs" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "default": null +}
7 tool updates
v0.2.5- Changed
advance_qa_orchestration10 fields changed- changed
Input schema / properties / completed_profile / descriptionPrevious value: -"After each successful primary-review step, submit exactly the current_profile returned by the previous advance_qa_orchestration call. Omit for other steps or an early stop."New value: +"Legacy-compatible single-profile completion. After the complete execution_group has finished, submit exactly the current_profile returned by the latest advance_qa_orchestration call and follow fixed route order; never advance parallel profiles concurrently. Use completed_profiles to record a whole group in one call. Omit for other steps or an early stop." - added
Input schema / properties / completed_profilesAdded value: +{ + "anyOf": [ + { + "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" + } + ], + "default": null, + "description": "After the whole next execution_group has finished, submit every profile in that group exactly once and in fixed route order. This records the group in one call. For a bundle, the list must match the next complete group; for one profile, submit a one-item list. Mutually exclusive with completed_profile. Omit for other steps or an early stop." +} - changed
Input schema / properties / completed_step / descriptionPrevious value: -"Active step returned in current_step and completed by this call: triage, primary_review, deep_review, or synthesis. When current_step is awaiting_host_outcome, call finish_qa_orchestration instead."New value: +"Required: copy the exact current_step from the latest session returned by start, advance, or get. Complete only triage, primary_review, deep_review, or synthesis. If current_step is awaiting_host_outcome, call finish_qa_orchestration instead." - changed
Input schema / properties / risk_signals / anyOfPrevious value: -[ - { - "additionalProperties": false, - "description": "Content-free, host-supplied signals used for deterministic escalation.", - "properties": { - "cross_system_scope": { - "default": false, - "description": "The relevant behavior crosses repository, service, or system boundaries.", - "type": "boolean" - }, - "evidence_conflict": { - "default": false, - "description": "Relevant authoritative evidence sources disagree.", - "type": "boolean" - }, - "evidence_uncertain": { - "default": false, - "description": "A material conclusion depends on evidence that is missing or cannot be verified.", - "type": "boolean" - }, - "high_blast_radius": { - "default": false, - "description": "The change could affect many consumers, services, or data records.", - "type": "boolean" - }, - "high_risk_domain": { - "default": false, - "description": "The change affects a sensitive security, identity, payment, fraud, privacy, or access-control area.", - "type": "boolean" - }, - "multiple_plausible_causes": { - "default": false, - "description": "More than one plausible cause remains after investigation.", - "type": "boolean" - }, - "non_reproducible": { - "default": false, - "description": "The reported behavior cannot be reproduced under expected conditions.", - "type": "boolean" - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "description": "Content-free, host-supplied signals used for deterministic escalation.", + "properties": { + "cross_system_scope": { + "default": false, + "description": "The relevant behavior crosses repository, service, or system boundaries.", + "type": "boolean" + }, + "evidence_conflict": { + "default": false, + "description": "Relevant authoritative evidence sources disagree.", + "type": "boolean" + }, + "evidence_uncertain": { + "default": false, + "description": "A specific material conclusion remains uncertain, and a scoped read-only review could plausibly resolve it. Do not set solely because CI, Stage, or runtime checks were not run.", + "type": "boolean" + }, + "high_blast_radius": { + "default": false, + "description": "The change could affect many consumers, services, or data records.", + "type": "boolean" + }, + "high_risk_domain": { + "default": false, + "description": "The change affects a sensitive security, identity, payment, fraud, privacy, or access-control area.", + "type": "boolean" + }, + "multiple_plausible_causes": { + "default": false, + "description": "More than one plausible cause remains after investigation.", + "type": "boolean" + }, + "non_reproducible": { + "default": false, + "description": "The reported behavior cannot be reproduced under expected conditions.", + "type": "boolean" + } + }, + "type": "object" + }, + { + "type": "null" + } +] - changed
Input schema / properties / selected_bundle / descriptionPrevious value: -"For completed triage, choose one allowed fixed bundle for a broad or cross-concern review. It is mutually exclusive with selected_profile; recommended_bundles is only a shortlist."New value: +"For completed triage, choose one fixed bundle only for broad, cross-concern, or high-risk work; several changed files alone do not require one. It is mutually exclusive with selected_profile; recommended_bundles is only a shortlist." - changed
Input schema / properties / selected_profile / descriptionPrevious value: -"For completed triage, choose one allowed profile for a narrow, low-risk review. It is mutually exclusive with selected_bundle."New value: +"For completed triage, default to one allowed profile for a narrow, single-concern, low-risk review. It is mutually exclusive with selected_bundle." - added
Input schema / properties / skip_synthesisAdded value: +{ + "default": false, + "description": "Optional clean-review fast path. Set true only after one selected profile reports no findings or unresolved material questions and every risk signal is false. The host still validates and reports the final QA result; the server trusts this host claim and cannot verify review content. Bundles, findings, unresolved questions, or any risk signal require the normal synthesis stage.", + "type": "boolean" +} - changed
Input schema / properties / status / descriptionPrevious value: -"Use completed after the active step succeeds. Use partial or blocked to stop early; then finalize with the same outcome using finish_qa_orchestration."New value: +"Required on every call, including successful steps: use completed when the active step succeeds. Use partial or blocked only to stop early, then finalize with the same outcome using finish_qa_orchestration." - changed
Output schema / properties / model_policy / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "model": { - "anyOf": [ - { - "enum": [ - "gpt-6-luna", - "gpt-6-sol" - ], - "type": "string" - }, - { - "type": "string" - } - ] - }, - "provider": { - "default": "openai", - "enum": [ - "openai", - "anthropic" - ], - "type": "string" - }, - "reasoning": { - "enum": [ - "none", - "minimal", - "low", - "medium", - "high", - "xhigh", - "max" - ], - "type": "string" - }, - "reasoning_capabilities_verified": { - "default": false, - "type": "boolean" - } - }, - "required": [ - "model", - "reasoning" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "configured", + "default": "configured", + "type": "string" + }, + "model": { + "anyOf": [ + { + "enum": [ + "gpt-6-luna", + "gpt-6-sol" + ], + "type": "string" + }, + { + "type": "string" + } + ] + }, + "provider": { + "default": "openai", + "enum": [ + "openai", + "anthropic" + ], + "type": "string" + }, + "reasoning": { + "enum": [ + "none", + "minimal", + "low", + "medium", + "high", + "xhigh", + "max" + ], + "type": "string" + }, + "reasoning_capabilities_verified": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "model", + "reasoning" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "host_default", + "default": "host_default", + "type": "string" + } + }, + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / selected_review_routesAdded value: +{ + "anyOf": [ + { + "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" + } + ], + "default": null, + "description": "After a successful triage selection, the exact checklists and execution groups for the selected route. Use this instead of a separate prepare call. This response-only field is not stored in the session." +}
- Changed
finish_qa_orchestration1 field changed- changed
Output schema / properties / model_policy / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "model": { - "anyOf": [ - { - "enum": [ - "gpt-6-luna", - "gpt-6-sol" - ], - "type": "string" - }, - { - "type": "string" - } - ] - }, - "provider": { - "default": "openai", - "enum": [ - "openai", - "anthropic" - ], - "type": "string" - }, - "reasoning": { - "enum": [ - "none", - "minimal", - "low", - "medium", - "high", - "xhigh", - "max" - ], - "type": "string" - }, - "reasoning_capabilities_verified": { - "default": false, - "type": "boolean" - } - }, - "required": [ - "model", - "reasoning" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "configured", + "default": "configured", + "type": "string" + }, + "model": { + "anyOf": [ + { + "enum": [ + "gpt-6-luna", + "gpt-6-sol" + ], + "type": "string" + }, + { + "type": "string" + } + ] + }, + "provider": { + "default": "openai", + "enum": [ + "openai", + "anthropic" + ], + "type": "string" + }, + "reasoning": { + "enum": [ + "none", + "minimal", + "low", + "medium", + "high", + "xhigh", + "max" + ], + "type": "string" + }, + "reasoning_capabilities_verified": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "model", + "reasoning" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "host_default", + "default": "host_default", + "type": "string" + } + }, + "type": "object" + }, + { + "type": "null" + } +]
- Changed
get_qa_orchestration1 field changed- changed
Output schema / properties / model_policy / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "model": { - "anyOf": [ - { - "enum": [ - "gpt-6-luna", - "gpt-6-sol" - ], - "type": "string" - }, - { - "type": "string" - } - ] - }, - "provider": { - "default": "openai", - "enum": [ - "openai", - "anthropic" - ], - "type": "string" - }, - "reasoning": { - "enum": [ - "none", - "minimal", - "low", - "medium", - "high", - "xhigh", - "max" - ], - "type": "string" - }, - "reasoning_capabilities_verified": { - "default": false, - "type": "boolean" - } - }, - "required": [ - "model", - "reasoning" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "configured", + "default": "configured", + "type": "string" + }, + "model": { + "anyOf": [ + { + "enum": [ + "gpt-6-luna", + "gpt-6-sol" + ], + "type": "string" + }, + { + "type": "string" + } + ] + }, + "provider": { + "default": "openai", + "enum": [ + "openai", + "anthropic" + ], + "type": "string" + }, + "reasoning": { + "enum": [ + "none", + "minimal", + "low", + "medium", + "high", + "xhigh", + "max" + ], + "type": "string" + }, + "reasoning_capabilities_verified": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "model", + "reasoning" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "host_default", + "default": "host_default", + "type": "string" + } + }, + "type": "object" + }, + { + "type": "null" + } +]
- Changed
get_qa_orchestration_catalog2 fields changed- added
Output schema / properties / bundles / items / properties / execution_groupsAdded value: +{ + "description": "Ordered execution waves. Profiles in the same group are independent and may be reviewed concurrently; finish each group before starting the next.", + "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" + }, + "type": "array" +} - changed
Output schema / properties / bundles / items / requiredPrevious value: -[ - "bundle", - "when_to_use", - "profiles" -]New value: +[ + "bundle", + "when_to_use", + "profiles", + "execution_groups" +]
- Changed
get_qa_orchestration_model_policy56 fields changed- changed
Output schema / descriptionPrevious value: -"The model IDs the host agent should use for each orchestration role."New value: +"Flat MCP response shape for configured and host-default model policies." - added
Output schema / properties / deep_model / anyOfAdded value: +[ + { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Output schema / properties / deep_model / defaultAdded value: +null - removed
Output schema / properties / deep_model / maxLengthRemoved value: -128 - removed
Output schema / properties / deep_model / minLengthRemoved value: -1 - removed
Output schema / properties / deep_model / patternRemoved value: -"^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$" - added
Output schema / properties / deep_model / titleAdded value: +"Deep Model" - removed
Output schema / properties / deep_model / typeRemoved value: -"string" - added
Output schema / properties / deep_reasoning / anyOfAdded value: +[ + { + "enum": [ + "none", + "minimal", + "low", + "medium", + "high", + "xhigh", + "max" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / deep_reasoning / defaultPrevious value: -"high"New value: +null - removed
Output schema / properties / deep_reasoning / enumRemoved value: -[ - "none", - "minimal", - "low", - "medium", - "high", - "xhigh", - "max" -] - added
Output schema / properties / deep_reasoning / titleAdded value: +"Deep Reasoning" - removed
Output schema / properties / deep_reasoning / typeRemoved value: -"string" - added
Output schema / properties / modeAdded value: +{ + "enum": [ + "configured", + "host_default" + ], + "title": "Mode", + "type": "string" +} - added
Output schema / properties / primary_model / anyOfAdded value: +[ + { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Output schema / properties / primary_model / defaultAdded value: +null - removed
Output schema / properties / primary_model / maxLengthRemoved value: -128 - removed
Output schema / properties / primary_model / minLengthRemoved value: -1 - removed
Output schema / properties / primary_model / patternRemoved value: -"^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$" - added
Output schema / properties / primary_model / titleAdded value: +"Primary Model" - removed
Output schema / properties / primary_model / typeRemoved value: -"string" - added
Output schema / properties / primary_reasoning / anyOfAdded value: +[ + { + "enum": [ + "none", + "minimal", + "low", + "medium", + "high", + "xhigh", + "max" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / primary_reasoning / defaultPrevious value: -"medium"New value: +null - removed
Output schema / properties / primary_reasoning / enumRemoved value: -[ - "none", - "minimal", - "low", - "medium", - "high", - "xhigh", - "max" -] - added
Output schema / properties / primary_reasoning / titleAdded value: +"Primary Reasoning" - removed
Output schema / properties / primary_reasoning / typeRemoved value: -"string" - added
Output schema / properties / provider / anyOfAdded value: +[ + { + "enum": [ + "openai", + "anthropic" + ], + "title": "ModelProvider", + "type": "string" + }, + { + "type": "null" + } +] - added
Output schema / properties / provider / defaultAdded value: +null - removed
Output schema / properties / provider / enumRemoved value: -[ - "openai", - "anthropic" -] - removed
Output schema / properties / provider / typeRemoved value: -"string" - added
Output schema / properties / synthesis_model / anyOfAdded value: +[ + { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Output schema / properties / synthesis_model / defaultAdded value: +null - removed
Output schema / properties / synthesis_model / maxLengthRemoved value: -128 - removed
Output schema / properties / synthesis_model / minLengthRemoved value: -1 - removed
Output schema / properties / synthesis_model / patternRemoved value: -"^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$" - added
Output schema / properties / synthesis_model / titleAdded value: +"Synthesis Model" - removed
Output schema / properties / synthesis_model / typeRemoved value: -"string" - added
Output schema / properties / synthesis_reasoning / anyOfAdded value: +[ + { + "enum": [ + "none", + "minimal", + "low", + "medium", + "high", + "xhigh", + "max" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / synthesis_reasoning / defaultPrevious value: -"medium"New value: +null - removed
Output schema / properties / synthesis_reasoning / enumRemoved value: -[ - "none", - "minimal", - "low", - "medium", - "high", - "xhigh", - "max" -] - added
Output schema / properties / synthesis_reasoning / titleAdded value: +"Synthesis Reasoning" - removed
Output schema / properties / synthesis_reasoning / typeRemoved value: -"string" - added
Output schema / properties / triage_model / anyOfAdded value: +[ + { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Output schema / properties / triage_model / defaultAdded value: +null - removed
Output schema / properties / triage_model / maxLengthRemoved value: -128 - removed
Output schema / properties / triage_model / minLengthRemoved value: -1 - removed
Output schema / properties / triage_model / patternRemoved value: -"^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$" - added
Output schema / properties / triage_model / titleAdded value: +"Triage Model" - removed
Output schema / properties / triage_model / typeRemoved value: -"string" - added
Output schema / properties / triage_reasoning / anyOfAdded value: +[ + { + "enum": [ + "none", + "minimal", + "low", + "medium", + "high", + "xhigh", + "max" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / properties / triage_reasoning / defaultPrevious value: -"max"New value: +null - removed
Output schema / properties / triage_reasoning / enumRemoved value: -[ - "none", - "minimal", - "low", - "medium", - "high", - "xhigh", - "max" -] - added
Output schema / properties / triage_reasoning / titleAdded value: +"Triage Reasoning" - removed
Output schema / properties / triage_reasoning / typeRemoved value: -"string" - changed
Output schema / requiredPrevious value: -[ - "provider", - "triage_model", - "primary_model", - "deep_model", - "synthesis_model" -]New value: +[ + "mode" +] - added
Output schema / titleAdded value: +"ModelPolicyResponse"
- Added
prepare_qa_orchestration_bundle - Changed
start_qa_orchestration1 field changed- changed
Output schema / properties / model_policy / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "model": { - "anyOf": [ - { - "enum": [ - "gpt-6-luna", - "gpt-6-sol" - ], - "type": "string" - }, - { - "type": "string" - } - ] - }, - "provider": { - "default": "openai", - "enum": [ - "openai", - "anthropic" - ], - "type": "string" - }, - "reasoning": { - "enum": [ - "none", - "minimal", - "low", - "medium", - "high", - "xhigh", - "max" - ], - "type": "string" - }, - "reasoning_capabilities_verified": { - "default": false, - "type": "boolean" - } - }, - "required": [ - "model", - "reasoning" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "configured", + "default": "configured", + "type": "string" + }, + "model": { + "anyOf": [ + { + "enum": [ + "gpt-6-luna", + "gpt-6-sol" + ], + "type": "string" + }, + { + "type": "string" + } + ] + }, + "provider": { + "default": "openai", + "enum": [ + "openai", + "anthropic" + ], + "type": "string" + }, + "reasoning": { + "enum": [ + "none", + "minimal", + "low", + "medium", + "high", + "xhigh", + "max" + ], + "type": "string" + }, + "reasoning_capabilities_verified": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "model", + "reasoning" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "host_default", + "default": "host_default", + "type": "string" + } + }, + "type": "object" + }, + { + "type": "null" + } +]
TDQS
Scored across 12 tools
Most tools have clearly distinct lifecycle roles: start, advance, finish, renew, get, list, delete, prepare, and static policy/catalog lookups. The main possible confusion is among the three static/preparation tools (catalog, single-profile prepare, and bundle prepare), but their descriptions give enough guidance to distinguish them.
The tools overwhelmingly follow a snake_case verb_noun pattern, mostly centered on qa_orchestration. Minor deviations include prepare_qa_orchestration vs. prepare_qa_orchestration_bundle, get_qa_orchestration_catalog/model_policy, list_qa_orchestrations plural form, and resolve_git_review_input outside the qa_orchestration prefix.
Twelve tools are well-scoped for a QA orchestration lifecycle covering session creation, state advancement, finalization, deletion, renewal, listing, preparation, policy, catalog, and Git input resolution. Each tool appears to earn its place without excessive fragmentation.
The surface covers the full session lifecycle and supporting operations: start, advance, finish, renew, get, list, delete, plus static catalog/model-policy lookup and review-input preparation. It also handles stateless checklist preparation and Git diff resolution, leaving no obvious lifecycle gap.
Maintenance
Related MCP Connectors
MCP server for CertScore.ai public website risk-signal workflows.
Hosted MCP for denial, prior auth, reimbursement, workflow validation, batch scoring, and feedback.
The MCP server that vets MCP servers: identity, risk grade and per-tool risk before you install.
Hybrid human + AI expertise for faster, trusted answers and decisions via MCP Server.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for healthcare claims workflow scoring, validation, and feedback, supporting denial risk, prior authorization, and reimbursement assessment.8MIT
- FlicenseAqualityFmaintenanceA local MCP server for governed support-ticket triage that reads synthetic tickets and knowledge articles, prepares evidence-backed recommendations, and records local audit events.9-
- AlicenseCqualityDmaintenanceAn MCP server that guides QA and verification processes by breaking down tasks into manageable steps and providing LLM-driven, confidence-scored tool recommendations.17 npm6MIT
- AlicenseAqualityCmaintenanceA self-hosted MCP server offering provider-independent AI routing, deterministic verification, and cryptographically signed, tamper-evident audit trails for every response.814 npm2MIT