changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "additionalProperties": {},
+ "properties": {
+ "categories": {
+ "additionalProperties": {
+ "additionalProperties": {},
+ "properties": {
+ "critical_failures": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "critical_skipped": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "insufficient_data": {
+ "type": "boolean"
+ },
+ "passed": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "rules_evaluated": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "rules_skipped": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "score": {
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "score",
+ "passed",
+ "rules_evaluated",
+ "rules_skipped",
+ "insufficient_data"
+ ],
+ "type": "object"
+ },
+ "description": "per-bundle verdicts for eval_type all",
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "coverage": {
+ "additionalProperties": {},
+ "description": "per question: judged, unjudged and why, or not_applicable; plus the inputs carried",
+ "properties": {
+ "dormant": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "reason": {
+ "type": "string"
+ },
+ "ruleId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ruleId",
+ "name",
+ "reason"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "inputs": {
+ "additionalProperties": {
+ "type": "boolean"
+ },
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "questions": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "id": {
+ "enum": [
+ "safe_output",
+ "grounded",
+ "complete",
+ "relevant",
+ "task_completed",
+ "tool_use_correct",
+ "within_budget"
+ ],
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "judged",
+ "unjudged",
+ "not_applicable"
+ ],
+ "type": "string"
+ },
+ "why": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "status"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "inputs",
+ "questions"
+ ],
+ "type": "object"
+ },
+ "critical_failures": {
+ "description": "critical rules that failed and vetoed passed",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "critical_skipped": {
+ "description": "critical rules that could not judge; treat as unknown",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "erased_at": {
+ "description": "set once the linked trace was deleted",
+ "type": "string"
+ },
+ "eval_type": {
+ "description": "the bundle that ran",
+ "enum": [
+ "completeness",
+ "relevance",
+ "safety",
+ "cost",
+ "custom",
+ "all"
+ ],
+ "type": "string"
+ },
+ "id": {
+ "description": "the evaluation id, readable at iris://evaluations/{id}",
+ "type": "string"
+ },
+ "insufficient_data": {
+ "description": "true when no rule could judge",
+ "type": "boolean"
+ },
+ "note": {
+ "description": "present when eval_type was omitted",
+ "type": "string"
+ },
+ "passed": {
+ "description": "the ship verdict; false when nothing was judged",
+ "type": "boolean"
+ },
+ "provenance": {
+ "additionalProperties": {},
+ "description": "Iris version, ruleset and config hashes, thresholds, corpus version, time",
+ "properties": {
+ "configHash": {
+ "type": "string"
+ },
+ "corpusVersion": {
+ "type": "string"
+ },
+ "irisVersion": {
+ "type": "string"
+ },
+ "judgedAt": {
+ "type": "string"
+ },
+ "rulesetHash": {
+ "type": "string"
+ },
+ "thresholds": {
+ "additionalProperties": {},
+ "properties": {
+ "default": {
+ "type": "number"
+ },
+ "perRule": {
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "default"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "irisVersion",
+ "rulesetHash",
+ "configHash",
+ "thresholds",
+ "corpusVersion",
+ "judgedAt"
+ ],
+ "type": "object"
+ },
+ "rule_results": {
+ "description": "per rule: verdict, message, kind, role, question, saw, evidence, uncertainty",
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "budgetExceeded": {
+ "type": "boolean"
+ },
+ "category": {
+ "enum": [
+ "completeness",
+ "relevance",
+ "safety",
+ "cost",
+ "custom"
+ ],
+ "type": "string"
+ },
+ "classes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "configInvalid": {
+ "type": "boolean"
+ },
+ "critical": {
+ "type": "boolean"
+ },
+ "criticalSource": {
+ "enum": [
+ "default",
+ "config"
+ ],
+ "type": "string"
+ },
+ "evidence": {
+ "items": {
+ "oneOf": [
+ {
+ "additionalProperties": {},
+ "properties": {
+ "end": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "label": {
+ "type": "string"
+ },
+ "source": {
+ "type": "string"
+ },
+ "start": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "span",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "source",
+ "start",
+ "end",
+ "label"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "properties": {
+ "count": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "type": {
+ "const": "pattern",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "name",
+ "count"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "properties": {
+ "index": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "label": {
+ "type": "string"
+ },
+ "toolName": {
+ "type": "string"
+ },
+ "type": {
+ "const": "toolCall",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "index",
+ "toolName",
+ "label"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "properties": {
+ "status": {
+ "enum": [
+ "resolved",
+ "dead",
+ "unverifiable",
+ "supported",
+ "unsupported"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "const": "citation",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "url",
+ "status"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "properties": {
+ "stat": {
+ "type": "string"
+ },
+ "threshold": {
+ "type": "number"
+ },
+ "thresholdSource": {
+ "enum": [
+ "default",
+ "config",
+ "call",
+ "rule"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "const": "count",
+ "type": "string"
+ },
+ "unit": {
+ "type": "string"
+ },
+ "value": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "type",
+ "stat",
+ "unit",
+ "value"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "kind": {
+ "enum": [
+ "measurement",
+ "detection",
+ "inference",
+ "judgment",
+ "policy",
+ "verification"
+ ],
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "passed": {
+ "type": "boolean"
+ },
+ "question": {
+ "enum": [
+ "safe_output",
+ "grounded",
+ "complete",
+ "relevant",
+ "task_completed",
+ "tool_use_correct",
+ "within_budget"
+ ],
+ "type": "string"
+ },
+ "role": {
+ "enum": [
+ "gate",
+ "veto",
+ "risk",
+ "advisory",
+ "term"
+ ],
+ "type": "string"
+ },
+ "ruleId": {
+ "type": "string"
+ },
+ "ruleName": {
+ "type": "string"
+ },
+ "ruleVersion": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "saw": {
+ "items": {
+ "enum": [
+ "output",
+ "input",
+ "expected",
+ "tool_calls",
+ "tool_outputs",
+ "tools_catalogue",
+ "cost",
+ "tokens",
+ "citations"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "score": {
+ "type": "number"
+ },
+ "skipClass": {
+ "enum": [
+ "not_applicable",
+ "defeated",
+ "config_invalid"
+ ],
+ "type": "string"
+ },
+ "skipReason": {
+ "type": "string"
+ },
+ "skipped": {
+ "type": "boolean"
+ },
+ "uncertainty": {
+ "oneOf": [
+ {
+ "additionalProperties": {},
+ "properties": {
+ "basis": {
+ "const": "published_accuracy",
+ "type": "string"
+ },
+ "corpus": {
+ "additionalProperties": {},
+ "properties": {
+ "fn": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "fp": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "labelling": {
+ "enum": [
+ "same-model",
+ "human-verified"
+ ],
+ "type": "string"
+ },
+ "n": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "release": {
+ "type": "string"
+ },
+ "tn": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "tp": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "n",
+ "tp",
+ "fp",
+ "fn",
+ "tn",
+ "version",
+ "release",
+ "labelling"
+ ],
+ "type": "object"
+ },
+ "fired": {
+ "type": "boolean"
+ },
+ "missRate": {
+ "additionalProperties": {},
+ "properties": {
+ "hi": {
+ "type": "number"
+ },
+ "lo": {
+ "type": "number"
+ },
+ "point": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "point",
+ "lo",
+ "hi"
+ ],
+ "type": "object"
+ },
+ "ppv": {
+ "additionalProperties": {},
+ "properties": {
+ "hi": {
+ "type": "number"
+ },
+ "lo": {
+ "type": "number"
+ },
+ "point": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "point",
+ "lo",
+ "hi"
+ ],
+ "type": "object"
+ },
+ "prior": {
+ "additionalProperties": {},
+ "properties": {
+ "pi": {
+ "type": "number"
+ },
+ "source": {
+ "enum": [
+ "default",
+ "config",
+ "estimated"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "pi",
+ "source"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "basis",
+ "fired",
+ "prior",
+ "corpus"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "properties": {
+ "basis": {
+ "const": "definition",
+ "type": "string"
+ },
+ "conformance": {
+ "additionalProperties": {},
+ "properties": {
+ "matched": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "n": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "n",
+ "matched"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "basis",
+ "conformance"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "properties": {
+ "basis": {
+ "const": "self_consistency",
+ "type": "string"
+ },
+ "samples": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "scoreSd": {
+ "type": "number"
+ },
+ "voteFraction": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "basis",
+ "samples",
+ "voteFraction",
+ "scoreSd"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "properties": {
+ "basis": {
+ "const": "local_labels",
+ "type": "string"
+ },
+ "n": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "precision": {
+ "additionalProperties": {},
+ "properties": {
+ "hi": {
+ "type": "number"
+ },
+ "lo": {
+ "type": "number"
+ },
+ "point": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "point",
+ "lo",
+ "hi"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "basis",
+ "precision",
+ "n"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "properties": {
+ "basis": {
+ "const": "policy",
+ "type": "string"
+ }
+ },
+ "required": [
+ "basis"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "properties": {
+ "basis": {
+ "const": "unmeasured",
+ "type": "string"
+ },
+ "why": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "basis",
+ "why"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "value": {
+ "additionalProperties": {},
+ "properties": {
+ "stat": {
+ "type": "string"
+ },
+ "unit": {
+ "type": "string"
+ },
+ "value": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "stat",
+ "unit",
+ "value"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "ruleName",
+ "passed",
+ "score",
+ "message"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "rules_evaluated": {
+ "description": "rules that judged",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "rules_skipped": {
+ "description": "rules that skipped",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "score": {
+ "description": "0..1 weighted quality over the rules that ran",
+ "type": "number"
+ },
+ "suggestions": {
+ "description": "what to change",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "trace_id": {
+ "description": "the linked trace, when named",
+ "type": "string"
+ },
+ "verdict": {
+ "additionalProperties": {},
+ "description": "state, passed, basis (which layer decided), by (the rules), risk",
+ "properties": {
+ "basis": {
+ "enum": [
+ "policy_gate",
+ "detector_veto",
+ "critical_unknown",
+ "required_evidence_missing",
+ "risk_over_loss",
+ "score_below_threshold",
+ "clean",
+ "no_rules"
+ ],
+ "type": "string"
+ },
+ "by": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "confidence": {
+ "enum": [
+ "decisive",
+ "marginal"
+ ],
+ "type": "string"
+ },
+ "passed": {
+ "type": "boolean"
+ },
+ "risk": {
+ "anyOf": [
+ {
+ "additionalProperties": {},
+ "properties": {
+ "hi": {
+ "type": "number"
+ },
+ "lo": {
+ "type": "number"
+ },
+ "pBad": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "pBad",
+ "lo",
+ "hi"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "state": {
+ "enum": [
+ "pass",
+ "fail",
+ "unknown"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "state",
+ "passed",
+ "basis",
+ "by",
+ "risk"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "id",
+ "eval_type",
+ "score",
+ "passed",
+ "rule_results",
+ "suggestions",
+ "rules_evaluated",
+ "rules_skipped",
+ "insufficient_data"
+ ],
+ "type": "object"
+}