changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "properties": {
+ "decision": {
+ "anyOf": [
+ {
+ "properties": {
+ "analysis_window": {
+ "anyOf": [
+ {
+ "properties": {
+ "end": {
+ "type": "string"
+ },
+ "start": {
+ "type": "string"
+ },
+ "timezone": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "start",
+ "end",
+ "timezone"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "consequence": {
+ "anyOf": [
+ {
+ "properties": {
+ "financial": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "if_followed": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "if_ignored": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "primary_risk": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "risk_level": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "time_horizon_days": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "primary_risk",
+ "risk_level",
+ "time_horizon_days",
+ "if_ignored",
+ "if_followed",
+ "financial"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "context": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "decision": {
+ "properties": {
+ "confidence": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "posture": {
+ "anyOf": [
+ {
+ "enum": [
+ "scale",
+ "hold",
+ "stop"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "state": {
+ "enum": [
+ "available",
+ "unavailable"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "state",
+ "posture",
+ "confidence"
+ ],
+ "type": "object"
+ },
+ "evidence": {
+ "properties": {
+ "blockers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "completeness": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "missing": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "observed": {
+ "items": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "value": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "label",
+ "value"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "reliability": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "reviewed": {
+ "items": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "value": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "label",
+ "value"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "summary": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "summary",
+ "completeness",
+ "reliability",
+ "observed",
+ "reviewed",
+ "missing",
+ "blockers"
+ ],
+ "type": "object"
+ },
+ "limitations": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metrics": {
+ "properties": {
+ "conversion_rate": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "conversions": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "quality_score": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "traffic_share": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "visitors": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "visitors",
+ "conversions",
+ "conversion_rate",
+ "traffic_share",
+ "quality_score"
+ ],
+ "type": "object"
+ },
+ "next_step": {
+ "properties": {
+ "authorization": {
+ "anyOf": [
+ {
+ "enum": [
+ "authorized",
+ "review_required",
+ "unavailable"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "recommended_action": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "required_review_steps": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "recommended_action",
+ "authorization"
+ ],
+ "type": "object"
+ },
+ "object": {
+ "const": "decision",
+ "type": "string"
+ },
+ "primary_reason": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "readiness": {
+ "properties": {
+ "message": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "state": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "state",
+ "message"
+ ],
+ "type": "object"
+ },
+ "reasons": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "source": {
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "role": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": {
+ "enum": [
+ "source",
+ "affiliate"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "type",
+ "channel",
+ "role"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "object",
+ "source",
+ "decision",
+ "primary_reason",
+ "reasons",
+ "evidence",
+ "limitations",
+ "consequence",
+ "next_step"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "locked": {
+ "type": "boolean"
+ },
+ "object": {
+ "const": "source_decision",
+ "type": "string"
+ },
+ "related": {
+ "properties": {
+ "evidence_gaps": {
+ "items": {
+ "properties": {
+ "bucket": {
+ "anyOf": [
+ {
+ "enum": [
+ "operator_action_required",
+ "collecting_or_unresolved",
+ "system_unavailable",
+ "conflict_requiring_review"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "needs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "bucket",
+ "url",
+ "needs"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "signals": {
+ "items": {
+ "properties": {
+ "change": {
+ "properties": {
+ "currency": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "state": {
+ "enum": [
+ "measured",
+ "missing",
+ "unavailable",
+ "not_applicable"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "state",
+ "value",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "comparison": {
+ "properties": {
+ "currency": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "state": {
+ "enum": [
+ "measured",
+ "missing",
+ "unavailable",
+ "not_applicable"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "state",
+ "value",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "comparison_window": {
+ "anyOf": [
+ {
+ "properties": {
+ "end": {
+ "type": "string"
+ },
+ "start": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "start",
+ "end"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "current": {
+ "properties": {
+ "currency": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "state": {
+ "enum": [
+ "measured",
+ "missing",
+ "unavailable",
+ "not_applicable"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "state",
+ "value",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "current_window": {
+ "properties": {
+ "end": {
+ "type": "string"
+ },
+ "start": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "start",
+ "end"
+ ],
+ "type": "object"
+ },
+ "direction": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "group": {
+ "enum": [
+ "active",
+ "recent"
+ ],
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "observation",
+ "type": "string"
+ },
+ "materiality": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "metric": {
+ "type": "string"
+ },
+ "object": {
+ "const": "signal",
+ "type": "string"
+ },
+ "relative_change": {
+ "properties": {
+ "currency": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "state": {
+ "enum": [
+ "measured",
+ "missing",
+ "unavailable",
+ "not_applicable"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "state",
+ "value",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "source_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "stability": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "status": {
+ "enum": [
+ "active",
+ "expired",
+ "retracted",
+ "superseded"
+ ],
+ "type": "string"
+ },
+ "subject": {
+ "properties": {
+ "id": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "kind": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "label": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "id",
+ "label"
+ ],
+ "type": "object"
+ },
+ "summary": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "title": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "unit": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "direction",
+ "status"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "signals",
+ "evidence_gaps"
+ ],
+ "type": "object"
+ },
+ "site": {
+ "properties": {
+ "domain": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "domain"
+ ],
+ "type": "object"
+ },
+ "source_id": {
+ "type": "string"
+ },
+ "variants": {
+ "items": {
+ "properties": {
+ "id": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "name": {
+ "type": "string"
+ },
+ "posture": {
+ "anyOf": [
+ {
+ "enum": [
+ "scale",
+ "hold",
+ "stop"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "posture"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "object",
+ "site",
+ "source_id",
+ "locked",
+ "decision",
+ "variants",
+ "related"
+ ],
+ "type": "object"
+}