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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: discloses the trust boundary (completion fields, execution_metrics, risk_signals are host-reported and not server-verified), the TTL refresh on success, silent no-advance on invalid/stale requests, and precise idempotency semantics with request_id + expected_revision versus non-idempotent legacy calls. The idempotentHint=false annotation is not contradicted — the description correctly frames idempotency as opt-in via a key rather than inherent.
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, then organized into labelled bullets (Triage, Primary review, Early stop, idempotency) that each carry a distinct rule. It is long and repeats the skip_synthesis conditions already in the schema, which is the main cost, but almost no sentence is 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 16-parameter state-machine transition with an output schema, the description covers sequencing, early-stop shape, idempotency, and failure recovery — everything needed to call it correctly. Return values are appropriately not restated since an output schema exists, though next_action is still surfaced because it drives the host loop.
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 baseline is 3, but the description adds cross-parameter conditional logic the schema cannot express: skip_synthesis preconditions, risk_signals required only on the final completed group and {} when empty, completed_profiles vs legacy completed_profile ordering, and stop_reason with the omission of route selectors. It does not restate every one of the 16 params, which is appropriate given the schema already covers them.
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?
First sentence states a specific verb and resource ('Record one active QA step's result') plus the return payload ('updated state and next_action instructions'). It also names the boundary against the sibling finish_qa_orchestration, so an agent can distinguish the advance path from the finalize path without inspecting schemas.
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 routing: use finish_qa_orchestration at awaiting_host_outcome, use this tool for triage/primary_review/deep_review/synthesis, and match recorded outcome after early stops. It also names the fallback (get_qa_orchestration) after a lost response and the start-a-new-session case for unknown/expired run_ids, which is exactly the alternative-selection guidance the dimension asks for.
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 when the same session store is configured; otherwise they are in-memory only. They remain until TTL expiry, capacity eviction, or explicit deletion.
Same outcome: returns the retained terminal session.
Different outcome:
conflicting final outcome; status unchanged.Premature call:
outcome is not ready. Finalized sessions with review artifacts can be restored from the configured store and expire at configured TTL (1800s default), or are removed by eviction or explicit deletion. Legacy finalized sessions without review artifacts are removed at restart. 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description adds substantial context beyond that: same-outcome replay returns the retained terminal session, different-outcome calls return 'conflicting final outcome' without changing status, premature calls return 'outcome is not ready', and persistence depends on store configuration, TTL, eviction, or deletion.
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 description is front-loaded and organized around the finalization flow, error cases, and retention rules. It is somewhat repetitive about TTL, eviction, and deletion across separate sentences, but the repetition adds the 1800s default and legacy-session behavior.
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 stateful terminal operation with an output schema and complete annotations, the description covers prerequisites, valid outcomes, idempotent replay, failure modes, and persistence lifetime. An agent has enough information to know whether the session is ready and how to choose the final outcome.
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 parameter documentation is already strong. The description still adds conditional meaning not present in the schema alone: final_review_report is required for a completed review-bound session, and outcome must match partial/blocked after an early stop.
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: finalize the QA run and store its structured report. It clearly scopes the call to a review-bound session at awaiting_host_outcome and distinguishes itself from sibling tools like advance_qa_orchestration by defining the terminal finalization step.
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 call it: after normal synthesis or an eligible clean single-profile fast path, using the retained run_id at awaiting_host_outcome. It also states the constraint after an early stop recorded by advance_qa_orchestration and names concrete error states for premature or conflicting calls.
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent, but the description adds meaningful traits beyond them: reads do not extend expires_at, the error vocabulary (unknown run_id, expired session) and the required recovery action, plus the constraint that the server must be the one retaining the session. This is genuinely useful behavioral context.
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 short paragraphs, front-loaded with what is read, followed by recovery guidance and sibling routing. No filler; each sentence adds 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?
With an output schema covering return values and annotations covering safety, the description still supplies error handling, expiry behavior, and sibling routing. Nothing an agent needs 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 parameter description already specifies the qar-<32 hex> pattern and reuse rule, so the baseline is 3. The description adds a non-schema constraint – the run_id must be used on the server retaining that session – which meaningfully aids correct invocation.
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 (read) and resource (one retained run_id's session), and enumerates what is returned: state, audit trace, bound context, structured reports. An agent can distinguish this inspection tool from advance/finish/start siblings 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?
Explicitly routes the agent: use this to resume or reconcile a lost advance_qa_orchestration response, use list_qa_orchestrations when the run_id is lost, start_qa_orchestration after unknown/expired errors, get_qa_orchestration_model_policy for policy, and advance/finish for progress/outcome. Alternatives and their selecting conditions are all named.
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. After every profile in the group finishes, record the complete group once in bundle order with completed_profiles. Older hosts may continue using completed_profile one at a time. 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?
Annotations already declare readOnly/idempotent/no-open-world, but the description adds operational semantics: stateless lookup, no session creation, no model calls, and the ordering/concurrency rules for execution_groups. It does not cover error behavior or pagination, but the added workflow context is substantial.
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, but the middle block about recording completed groups with completed_profiles vs completed_profile describes the advance tool's workflow rather than this read tool, which is scope bleed in an otherwise tight definition.
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 values; it covers purpose, usage conditions, the alternative tool, and execution semantics. Nothing an agent needs 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 description coverage is 100% with an enum, so the schema already fully documents the single 'bundle' parameter. The description's note that it returns checklists and ordered execution_groups adds only marginal meaning beyond the enum list.
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: 'Return every fixed ReviewRoute checklist and execution wave for one bundle.' It explicitly distinguishes itself from prepare_qa_orchestration (single profile) and implicitly from advance/triage flows, so an agent can route without opening schemas.
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 concrete when-to-use conditions ('standalone bundle lookup or to recover checklists when the successful triage response is unavailable') and names the alternative for the single-profile case. Nothing about selection is left to inference.
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.
Renew before expires_at. This changes only the lease, without advancing a profile or workflow revision. Active primary/deep/synthesis and awaiting-host-outcome sessions may be renewed; terminal or expired sessions cannot be revived. No worker or model is launched.
| 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real context beyond the annotations: it discloses that no workflow revision advances, no worker or model is launched, and that expired sessions cannot be revived — which is the key non-obvious behavior for a lease mutation. The non-idempotent readOnly=false annotation profile is consistent with 'extend TTL,' and stale-revision failure is noted. Rate limits/response shape are 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?
Front-loads the core action in the first clause, then layers eligibility and non-effects. Four short sentences with no filler, though the 'Renew before expires_at' line is somewhat redundant with the opening sentence.
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 annotations, a full input schema, and an output schema, the description fills the remaining gap: session-state eligibility and the fact that nothing but the lease changes. Only a pointer to the sibling renewal-adjacent flows (finish/advance when review work ends) 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 both parameters are thoroughly documented in-schema (run_id pattern, expected_revision staleness behavior). The description mentions 'expires_at' and stale-renewal failure but adds no syntax or usage detail for run_id/expected_revision beyond what the schema already states, so 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?
States a specific verb and resource ('Extend an active session's TTL') and immediately scopes it against the obvious confusion ('This changes only the lease, without advancing a profile or workflow revision'), distinguishing it from advance_qa_orchestration in the sibling list. An agent can tell what this does and what it does not do 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?
Gives an explicit trigger ('while host review work is running', 'Renew before expires_at') and explicit exclusions ('terminal or expired sessions cannot be revived'). It does not name a sibling alternative by name, so it falls short of the 5 criteria, but the when/when-not guidance is unambiguous.
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.
| 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?
Annotations already declare readOnly/idempotent/closed-world, and the description adds real context beyond them: the repository path is on the server host, refs must already exist locally, and no fetch occurs. It also discloses that it compares resolved commits directly rather than a merge base. Minor gap: nothing about failure behavior for unresolvable refs.
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 short sentences: purpose first, then the path/locality constraint, then the comparison semantics and exclusions. No redundant restatement of the name or title.
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 values need not be described, and all three required params are schema-documented. Combined with the explicit out-of-scope list, an agent has everything needed to decide and invoke correctly.
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 base, head, and repository. The description only reinforces the server-host locality of the repository path, which the schema param description already states, so it adds little parameter-level value beyond the baseline.
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+resource chain: resolve two local Git refs into immutable commits plus diff metadata. The domain is fully unambiguous, and the listed siblings are all QA-orchestration tools, so cross-domain confusion is not a realistic risk.
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 to choose the merge base explicitly when a merge-base comparison is needed, and enumerates the adjacent tasks it does not perform (fetching refs, inspecting uncommitted changes, building the evidence packet). That gives the agent both when-to-use and when-not-to-use signals.
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: every call creates a separate session (matching idempotentHint=false), 1800s default TTL, 100-session default capacity, expiry/purge and terminal-session eviction, and the specific 'session limit' error when capacity can only be freed by evicting an active session. It also discloses a data-boundary fact the schema cannot: the server stores identifiers and submitted report fields, not the raw diff or full Evidence Packet.
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 one-sentence purpose, then preflight, then lifecycle constraints in a bulleted block. Every paragraph carries real content, though the preflight paragraph substantially restates the review_context schema description ('A task or MR URL alone is not enough' is repeated in both places), costing some redundancy.
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 complex session-creating tool with a large nested review_context, an output schema, and full annotations, the description covers preflight prerequisites, failure behavior, capacity/TTL limits, data retention boundaries, and the non-binding nature of recommended_profiles/bundles. An agent has everything needed to decide and call correctly.
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, but the description adds relational meaning: task_type only narrows the shortlist while the host selects the route, review_context is mandatory for review task types, input_kind=diff must carry no Git revisions, and input_manifest must be schema_version=2 with source_inventory_status and source_conflict_status. Some of this duplicates the verbose schema descriptions, which keeps it from a 5.
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 ('Create a QA session') plus the binding contract ('bind code reviews to one immutable review input'). This clearly separates it from siblings like prepare_qa_orchestration (stateless checklist), advance/finish/renew/delete, which the description names or implies.
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 (before ordinary_review or widget_review), an explicit alternative ('Use prepare_qa_orchestration for a stateless profile checklist'), and an explicit when-NOT-to-call 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 even covers the degraded path (record partial/unknown manifest statuses).
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.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 target clearly distinct lifecycle actions (start/get/list/advance/finish/delete/renew) plus separate lookup tools. The closest cluster is prepare_qa_orchestration vs prepare_qa_orchestration_bundle vs get_qa_orchestration_catalog, which all return checklists but differ by scope; descriptions disambiguate, though an agent could still hesitate on first use. renew_qa_orchestration also lightly overlaps with advance in refreshing TTL, but its description clarifies the difference.
All names follow a consistent snake_case verb_noun pattern with a shared qa_orchestration domain token. The singular/plural distinction (get_qa_orchestration vs list_qa_orchestrations) is intentional and conventional, and the prepare_* variants are predictably suffixed. No mixing of casing or verb styles.
Twelve tools for a session-lifecycle orchestrator (create, read, list, advance, finish, delete, renew, catalog, prepare, prepare_bundle, model policy, git resolve) is well-scoped. Each tool corresponds to a distinct lifecycle or lookup operation rather than redundant variants. No filler tools appear.
The session lifecycle is well covered: start, get, list, advance, finish, delete, renew, plus catalog, per-profile and per-bundle checklists, model policy, and Git review input resolution. Minor gaps remain—there is no dedicated cancel/abort tool (early stop is folded into advance), and no explicit tool to update or rebind a session's review input after creation. These are workable around but represent slight surface incompleteness.
Maintenance
Related MCP Connectors
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.
A paid remote MCP for hosted MCP server, built to return verdicts, receipts, usage logs, and audit-r
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.16 npm6MIT
- AlicenseAqualityCmaintenanceA self-hosted MCP server offering provider-independent AI routing, deterministic verification, and cryptographically signed, tamper-evident audit trails for every response.811 npm2MIT