changedOutput schema / oneOf
Previous value: -[
- {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "auditDetails": {
- "additionalProperties": true,
- "description": "Complete available scope, check states and measurement evidence; unmeasured checks are not passes.",
- "type": "object"
- },
- "blended": {
- "description": "Weighted score across measured pillars, or null when no pillar could be measured.",
- "type": [
- "number",
- "null"
- ]
- },
- "complete": {
- "description": "Compatibility field: every requested pillar runner returned. Consult coverageStatus and auditDetails for unmeasured modules and metrics.",
- "type": "boolean"
- },
- "counts": {
- "additionalProperties": false,
- "description": "Finding totals grouped by normalized severity.",
- "properties": {
- "critical": {
- "description": "Number of critical findings.",
- "minimum": 0,
- "type": "integer"
- },
- "high": {
- "description": "Number of high-severity findings.",
- "minimum": 0,
- "type": "integer"
- },
- "info": {
- "description": "Number of informational findings.",
- "minimum": 0,
- "type": "integer"
- },
- "low": {
- "description": "Number of low-severity findings.",
- "minimum": 0,
- "type": "integer"
- },
- "medium": {
- "description": "Number of medium-severity findings.",
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "critical",
- "high",
- "medium",
- "low",
- "info"
- ],
- "type": "object"
- },
- "coverageStatus": {
- "description": "Availability of measurements within the requested methods and account scope; not a claim to test every possible website behavior.",
- "enum": [
- "measured",
- "partial",
- "unavailable",
- "not_applicable"
- ],
- "type": "string"
- },
- "executionComplete": {
- "description": "Whether all requested pillar runners returned. This is separate from measurement coverage.",
- "type": "boolean"
- },
- "failedPillars": {
- "description": "Pillars that could not be measured and their sanitized errors.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "error": {
- "description": "Sanitized failure reason.",
- "type": "string"
- },
- "pillar": {
- "description": "Audit pillar that failed.",
- "type": "string"
- }
- },
- "required": [
- "pillar",
- "error"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "findings": {
- "description": "Prioritized findings across every completed audit pillar.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "category": {
- "description": "Stable audit category for grouping related findings.",
- "type": "string"
- },
- "evidence": {
- "description": "Bounded observation that supports the finding.",
- "type": "string"
- },
- "findingKey": {
- "description": "Deterministic pillar-scoped identity for before/after comparison.",
- "maxLength": 512,
- "minLength": 1,
- "type": "string"
- },
- "impact": {
- "description": "Why the finding matters to the audited website.",
- "type": "string"
- },
- "location": {
- "description": "Observed URL or path with credentials and query secrets removed, when available.",
- "type": "string"
- },
- "pillar": {
- "description": "Audit pillar that produced the finding.",
- "type": "string"
- },
- "remediation": {
- "description": "Concrete recommended fix or mitigation.",
- "type": "string"
- },
- "severity": {
- "description": "Normalized finding severity: critical, high, medium, low, or info.",
- "type": "string"
- },
- "title": {
- "description": "Short human-readable finding title.",
- "type": "string"
- }
- },
- "required": [
- "pillar",
- "findingKey",
- "severity",
- "title",
- "evidence",
- "impact",
- "remediation",
- "category"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "findingsTruncated": {
- "description": "True when additional findings exist outside this response.",
- "type": "boolean"
- },
- "passingFindings": {
- "description": "Positive observations retained with their complete evidence.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "category": {
- "description": "Stable audit category for grouping related findings.",
- "type": "string"
- },
- "evidence": {
- "description": "Bounded observation that supports the finding.",
- "type": "string"
- },
- "findingKey": {
- "description": "Deterministic pillar-scoped identity for before/after comparison.",
- "maxLength": 512,
- "minLength": 1,
- "type": "string"
- },
- "impact": {
- "description": "Why the finding matters to the audited website.",
- "type": "string"
- },
- "location": {
- "description": "Observed URL or path with credentials and query secrets removed, when available.",
- "type": "string"
- },
- "pillar": {
- "description": "Audit pillar that produced the finding.",
- "type": "string"
- },
- "remediation": {
- "description": "Concrete recommended fix or mitigation.",
- "type": "string"
- },
- "severity": {
- "description": "Normalized finding severity: critical, high, medium, low, or info.",
- "type": "string"
- },
- "title": {
- "description": "Short human-readable finding title.",
- "type": "string"
- }
- },
- "required": [
- "pillar",
- "findingKey",
- "severity",
- "title",
- "evidence",
- "impact",
- "remediation",
- "category"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "pillars": {
- "additionalProperties": {
- "additionalProperties": false,
- "properties": {
- "findings": {
- "description": "Number of findings in this pillar.",
- "minimum": 0,
- "type": "integer"
- },
- "score": {
- "description": "Pillar score, or null when unavailable.",
- "type": [
- "number",
- "null"
- ]
- }
- },
- "required": [
- "score",
- "findings"
- ],
- "type": "object"
- },
- "description": "Per-pillar score and finding-count summary.",
- "type": "object"
- },
- "returnedFindings": {
- "description": "Number of cross-pillar findings included.",
- "minimum": 0,
- "type": "integer"
- },
- "status": {
- "description": "Completed when requested measurements are available; partial when a requested runner or measurement is unavailable.",
- "enum": [
- "completed",
- "partial"
- ],
- "type": "string"
- },
- "target": {
- "description": "Canonical audited target.",
- "type": "string"
- },
- "total": {
- "description": "Total cross-pillar findings before response truncation.",
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "target",
- "blended",
- "pillars",
- "counts",
- "total",
- "returnedFindings",
- "findingsTruncated",
- "findings",
- "complete",
- "failedPillars"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "executionComplete": {
- "const": false,
- "description": "False until the entire audit result is ready for delivery.",
- "type": "boolean"
- },
- "jobId": {
- "description": "Opaque temporary job identifier bound to this account, tool and MCP surface.",
- "pattern": "^mj_[A-Za-z0-9_-]{32}$",
- "type": "string"
- },
- "nextAction": {
- "const": "poll_same_tool",
- "description": "Call this same tool again with pollArguments.",
- "type": "string"
- },
- "pollArguments": {
- "additionalProperties": false,
- "description": "Arguments for retrieving this existing audit without starting another scan.",
- "properties": {
- "jobId": {
- "description": "The same opaque audit job identifier.",
- "pattern": "^mj_[A-Za-z0-9_-]{32}$",
- "type": "string"
- }
- },
- "required": [
- "jobId"
- ],
- "type": "object"
- },
- "retryAfterMs": {
- "description": "Suggested delay in milliseconds before polling this job again.",
- "minimum": 0,
- "type": "integer"
- },
- "status": {
- "const": "running",
- "description": "The audit is still executing or completing durable delivery.",
- "type": "string"
- }
- },
- "required": [
- "status",
- "jobId",
- "executionComplete",
- "nextAction",
- "pollArguments",
- "retryAfterMs"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "auditExecuted": {
- "const": false,
- "description": "This request did not execute a new audit.",
- "type": "boolean"
- },
- "reason": {
- "description": "The recoverable job request prerequisite.",
- "enum": [
- "audit_job_busy",
- "audit_job_unavailable",
- "audit_job_argument_mismatch",
- "audit_job_invalid_arguments"
- ],
- "type": "string"
- },
- "status": {
- "const": "action_required",
- "description": "This request did not start a new audit.",
- "type": "string"
- },
- "usageConsumed": {
- "const": false,
- "description": "This request did not consume additional audit allowance.",
- "type": "boolean"
- }
- },
- "required": [
- "status",
- "reason",
- "auditExecuted",
- "usageConsumed"
- ],
- "type": "object"
- }
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "auditExecuted": {
- "const": false,
- "type": "boolean"
- },
- "reason": {
- "enum": [
- "entitlement_required",
- "target_verification_required",
- "target_reverification_required",
- "verification_scope_required",
- "usage_limit_reached",
- "authorization_consent_required"
- ],
- "type": "string"
- },
- "status": {
- "const": "action_required",
- "type": "string"
- },
- "usageConsumed": {
- "const": false,
- "type": "boolean"
- }
- },
- "required": [
- "status",
- "reason",
- "auditExecuted",
- "usageConsumed"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "auditDetails": {
+ "additionalProperties": true,
+ "description": "Complete available scope, check states and measurement evidence; unmeasured checks are not passes.",
+ "type": "object"
+ },
+ "blended": {
+ "description": "Weighted score across measured pillars, or null when no pillar could be measured.",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "complete": {
+ "description": "Compatibility field: every requested pillar runner returned. Consult coverageStatus and auditDetails for unmeasured modules and metrics.",
+ "type": "boolean"
+ },
+ "counts": {
+ "additionalProperties": false,
+ "description": "Finding totals grouped by normalized severity.",
+ "properties": {
+ "critical": {
+ "description": "Number of critical findings.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "high": {
+ "description": "Number of high-severity findings.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "info": {
+ "description": "Number of informational findings.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "low": {
+ "description": "Number of low-severity findings.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "medium": {
+ "description": "Number of medium-severity findings.",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "critical",
+ "high",
+ "medium",
+ "low",
+ "info"
+ ],
+ "type": "object"
+ },
+ "coverageStatus": {
+ "description": "Availability of measurements within the requested methods and account scope; not a claim to test every possible website behavior.",
+ "enum": [
+ "measured",
+ "partial",
+ "unavailable",
+ "not_applicable"
+ ],
+ "type": "string"
+ },
+ "executionComplete": {
+ "description": "Whether all requested pillar runners returned. This is separate from measurement coverage.",
+ "type": "boolean"
+ },
+ "failedPillars": {
+ "description": "Pillars that could not be measured and their sanitized errors.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "error": {
+ "description": "Sanitized failure reason.",
+ "type": "string"
+ },
+ "pillar": {
+ "description": "Audit pillar that failed.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "pillar",
+ "error"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "findings": {
+ "description": "Prioritized findings across every completed audit pillar.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "category": {
+ "description": "Stable audit category for grouping related findings.",
+ "type": "string"
+ },
+ "evidence": {
+ "description": "Bounded observation that supports the finding.",
+ "type": "string"
+ },
+ "findingKey": {
+ "description": "Deterministic pillar-scoped identity for before/after comparison.",
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "impact": {
+ "description": "Why the finding matters to the audited website.",
+ "type": "string"
+ },
+ "location": {
+ "description": "Observed URL or path with credentials and query secrets removed, when available.",
+ "type": "string"
+ },
+ "pillar": {
+ "description": "Audit pillar that produced the finding.",
+ "type": "string"
+ },
+ "remediation": {
+ "description": "Concrete recommended fix or mitigation.",
+ "type": "string"
+ },
+ "severity": {
+ "description": "Normalized finding severity: critical, high, medium, low, or info.",
+ "type": "string"
+ },
+ "title": {
+ "description": "Short human-readable finding title.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "pillar",
+ "findingKey",
+ "severity",
+ "title",
+ "evidence",
+ "impact",
+ "remediation",
+ "category"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "findingsTruncated": {
+ "description": "True when additional findings exist outside this response.",
+ "type": "boolean"
+ },
+ "passingFindings": {
+ "description": "Positive observations retained with their complete evidence.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "category": {
+ "description": "Stable audit category for grouping related findings.",
+ "type": "string"
+ },
+ "evidence": {
+ "description": "Bounded observation that supports the finding.",
+ "type": "string"
+ },
+ "findingKey": {
+ "description": "Deterministic pillar-scoped identity for before/after comparison.",
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "impact": {
+ "description": "Why the finding matters to the audited website.",
+ "type": "string"
+ },
+ "location": {
+ "description": "Observed URL or path with credentials and query secrets removed, when available.",
+ "type": "string"
+ },
+ "pillar": {
+ "description": "Audit pillar that produced the finding.",
+ "type": "string"
+ },
+ "remediation": {
+ "description": "Concrete recommended fix or mitigation.",
+ "type": "string"
+ },
+ "severity": {
+ "description": "Normalized finding severity: critical, high, medium, low, or info.",
+ "type": "string"
+ },
+ "title": {
+ "description": "Short human-readable finding title.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "pillar",
+ "findingKey",
+ "severity",
+ "title",
+ "evidence",
+ "impact",
+ "remediation",
+ "category"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "pillars": {
+ "additionalProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "findings": {
+ "description": "Number of findings in this pillar.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "score": {
+ "description": "Pillar score, or null when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "score",
+ "findings"
+ ],
+ "type": "object"
+ },
+ "description": "Per-pillar score and finding-count summary.",
+ "type": "object"
+ },
+ "returnedFindings": {
+ "description": "Number of cross-pillar findings included.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "status": {
+ "description": "Completed when requested measurements are available; partial when a requested runner or measurement is unavailable.",
+ "enum": [
+ "completed",
+ "partial"
+ ],
+ "type": "string"
+ },
+ "target": {
+ "description": "Canonical audited target.",
+ "type": "string"
+ },
+ "total": {
+ "description": "Total cross-pillar findings before response truncation.",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "target",
+ "blended",
+ "pillars",
+ "counts",
+ "total",
+ "returnedFindings",
+ "findingsTruncated",
+ "findings",
+ "complete",
+ "failedPillars"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "executionComplete": {
+ "const": false,
+ "description": "False until the entire audit result is ready for delivery.",
+ "type": "boolean"
+ },
+ "jobId": {
+ "description": "Opaque temporary job identifier bound to this account, tool and MCP surface.",
+ "pattern": "^mj_[A-Za-z0-9_-]{32}$",
+ "type": "string"
+ },
+ "nextAction": {
+ "const": "poll_same_tool",
+ "description": "Call this same tool again with pollArguments.",
+ "type": "string"
+ },
+ "pollArguments": {
+ "additionalProperties": false,
+ "description": "Copy these arguments unchanged to retrieve this existing audit without starting another scan. The public target supports clients that require a target on every call.",
+ "properties": {
+ "jobId": {
+ "description": "The same opaque audit job identifier.",
+ "pattern": "^mj_[A-Za-z0-9_-]{32}$",
+ "type": "string"
+ },
+ "target": {
+ "description": "Public polling target for this job, without URL credentials, query or fragment. It does not change the original scan target.",
+ "maxLength": 2048,
+ "type": "string"
+ }
+ },
+ "required": [
+ "jobId"
+ ],
+ "type": "object"
+ },
+ "retryAfterMs": {
+ "description": "Suggested delay in milliseconds before polling this job again.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "status": {
+ "const": "running",
+ "description": "The audit is still executing or completing durable delivery.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "status",
+ "jobId",
+ "executionComplete",
+ "nextAction",
+ "pollArguments",
+ "retryAfterMs"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "auditExecuted": {
+ "const": false,
+ "description": "This request did not execute a new audit.",
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "The recoverable job request prerequisite.",
+ "enum": [
+ "audit_job_busy",
+ "audit_job_unavailable",
+ "audit_job_argument_mismatch",
+ "audit_job_invalid_arguments"
+ ],
+ "type": "string"
+ },
+ "status": {
+ "const": "action_required",
+ "description": "This request did not start a new audit.",
+ "type": "string"
+ },
+ "usageConsumed": {
+ "const": false,
+ "description": "This request did not consume additional audit allowance.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "status",
+ "reason",
+ "auditExecuted",
+ "usageConsumed"
+ ],
+ "type": "object"
+ }
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "auditExecuted": {
+ "const": false,
+ "type": "boolean"
+ },
+ "reason": {
+ "enum": [
+ "entitlement_required",
+ "target_verification_required",
+ "target_reverification_required",
+ "verification_scope_required",
+ "usage_limit_reached",
+ "authorization_consent_required"
+ ],
+ "type": "string"
+ },
+ "status": {
+ "const": "action_required",
+ "type": "string"
+ },
+ "usageConsumed": {
+ "const": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "status",
+ "reason",
+ "auditExecuted",
+ "usageConsumed"
+ ],
+ "type": "object"
+ }
+]