{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:acceleration-paradox:evidence-pack:1.0.0",
  "title": "Acceleration Paradox Evidence Pack 1.0.0",
  "$comment": "Structural validation is necessary but insufficient. Apply the semantic rules in 05 and the reference evaluator. Null means unknown; all stored durations are seconds.",
  "$defs": {
    "range": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "lower": {
          "type": "number",
          "minimum": 0
        },
        "central": {
          "type": "number",
          "minimum": 0
        },
        "upper": {
          "type": "number",
          "minimum": 0
        }
      },
      "required": [
        "lower",
        "central",
        "upper"
      ]
    },
    "quantity": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "estimate": {
          "anyOf": [
            {
              "$ref": "#/$defs/range"
            },
            {
              "type": "null"
            }
          ]
        },
        "basis": {
          "enum": [
            "measured",
            "estimated",
            "reported",
            "proposed",
            "illustrative",
            "unknown"
          ]
        },
        "rationale": {
          "type": "string"
        },
        "evidence_ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 0
        }
      },
      "required": [
        "estimate",
        "basis",
        "rationale",
        "evidence_ids"
      ]
    },
    "gear": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "rating": {
          "enum": [
            "green",
            "yellow",
            "red",
            "unknown"
          ]
        },
        "rationale": {
          "type": "string"
        },
        "evidence_ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 0
        }
      },
      "required": [
        "rating",
        "rationale",
        "evidence_ids"
      ]
    }
  },
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "schema_version": {
      "const": "1.0.0"
    },
    "spec_version": {
      "const": "1.0.0"
    },
    "assessment_id": {
      "type": "string"
    },
    "revision": {
      "type": "integer",
      "minimum": 1
    },
    "assessed_at": {
      "type": "string",
      "format": "date-time"
    },
    "illustrative": {
      "type": "boolean"
    },
    "system": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "activity": {
          "enum": [
            "contained_experiment",
            "internal_operation",
            "limited_deployment",
            "broad_deployment",
            "autonomy_expansion"
          ]
        },
        "environment": {
          "type": "string"
        },
        "allowed_actions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 1
        },
        "prohibited_actions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 0
        }
      },
      "required": [
        "name",
        "version",
        "activity",
        "environment",
        "allowed_actions",
        "prohibited_actions"
      ]
    },
    "stakes": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "severity": {
          "type": [
            "integer",
            "null"
          ],
          "minimum": 1,
          "maximum": 5
        },
        "irreversibility": {
          "type": [
            "integer",
            "null"
          ],
          "minimum": 1,
          "maximum": 5
        },
        "scale": {
          "type": [
            "integer",
            "null"
          ],
          "minimum": 1,
          "maximum": 5
        },
        "autonomy": {
          "type": [
            "integer",
            "null"
          ],
          "minimum": 1,
          "maximum": 5
        },
        "power_concentration": {
          "type": [
            "integer",
            "null"
          ],
          "minimum": 1,
          "maximum": 5
        },
        "rights_affected": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "rsi_relevant": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "rationale": {
          "type": "string"
        }
      },
      "required": [
        "severity",
        "irreversibility",
        "scale",
        "autonomy",
        "power_concentration",
        "rights_affected",
        "rsi_relevant",
        "rationale"
      ]
    },
    "critical_claims": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "claim": {
            "type": "string"
          },
          "status": {
            "enum": [
              "supported",
              "unknown",
              "invalidated"
            ]
          },
          "evidence_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 0
          }
        },
        "required": [
          "id",
          "claim",
          "status",
          "evidence_ids"
        ]
      },
      "minItems": 1
    },
    "hazards": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "unacceptable": {
            "type": "boolean"
          },
          "irreversible": {
            "type": "boolean"
          },
          "controls_sufficient": {
            "enum": [
              "yes",
              "no",
              "unknown"
            ]
          },
          "earliest_harm_seconds": {
            "type": [
              "number",
              "null"
            ],
            "minimum": 0
          },
          "trigger_event": {
            "type": "string"
          },
          "rationale": {
            "type": "string"
          },
          "evidence_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 0
          }
        },
        "required": [
          "id",
          "description",
          "unacceptable",
          "irreversible",
          "controls_sufficient",
          "earliest_harm_seconds",
          "trigger_event",
          "rationale",
          "evidence_ids"
        ]
      },
      "minItems": 1
    },
    "timing": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "scenario": {
          "type": "string"
        },
        "start_event": {
          "type": "string"
        },
        "end_event": {
          "type": "string"
        },
        "l_components": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "detection": {
              "$ref": "#/$defs/quantity"
            },
            "decision": {
              "$ref": "#/$defs/quantity"
            },
            "execution": {
              "$ref": "#/$defs/quantity"
            }
          },
          "required": [
            "detection",
            "decision",
            "execution"
          ]
        },
        "h": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "status": {
              "enum": [
                "known",
                "unknown",
                "invalidated"
              ]
            },
            "quantity": {
              "$ref": "#/$defs/quantity"
            },
            "invalidation_events": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "minItems": 1
            }
          },
          "required": [
            "status",
            "quantity",
            "invalidation_events"
          ]
        }
      },
      "required": [
        "scenario",
        "start_event",
        "end_event",
        "l_components",
        "h"
      ]
    },
    "gears": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "governance": {
          "$ref": "#/$defs/gear"
        },
        "equity": {
          "$ref": "#/$defs/gear"
        },
        "aligned_incentives": {
          "$ref": "#/$defs/gear"
        },
        "resilience": {
          "$ref": "#/$defs/gear"
        },
        "steering": {
          "$ref": "#/$defs/gear"
        }
      },
      "required": [
        "governance",
        "equity",
        "aligned_incentives",
        "resilience",
        "steering"
      ]
    },
    "breakers": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "owner": {
            "type": "string"
          },
          "trigger": {
            "type": "string"
          },
          "action": {
            "type": "string"
          },
          "deadline_seconds": {
            "type": "number",
            "minimum": 0
          },
          "test_status": {
            "enum": [
              "passed",
              "failed",
              "untested"
            ]
          },
          "tested_system_version": {
            "type": "string"
          },
          "evidence_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 0
          }
        },
        "required": [
          "id",
          "required",
          "owner",
          "trigger",
          "action",
          "deadline_seconds",
          "test_status",
          "tested_system_version",
          "evidence_ids"
        ]
      },
      "minItems": 1
    },
    "evidence": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "locator": {
            "type": [
              "string",
              "null"
            ]
          },
          "source_kind": {
            "enum": [
              "measured",
              "estimated",
              "reported",
              "proposed",
              "illustrative"
            ]
          },
          "captured_at": {
            "type": "string",
            "format": "date-time"
          },
          "validity_status": {
            "enum": [
              "current",
              "stale",
              "unverified",
              "withdrawn"
            ]
          },
          "scope": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "title",
          "locator",
          "source_kind",
          "captured_at",
          "validity_status",
          "scope"
        ]
      },
      "minItems": 0
    },
    "review": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "assessor": {
          "type": "string"
        },
        "accountable_owner": {
          "type": "string"
        },
        "independent_reviewer": {
          "type": [
            "string",
            "null"
          ]
        },
        "independent_status": {
          "enum": [
            "completed",
            "pending",
            "not_required"
          ]
        },
        "scope_matches": {
          "type": "boolean"
        },
        "valid_until": {
          "type": "string",
          "format": "date-time"
        },
        "dissent": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 0
        },
        "limitations": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 0
        }
      },
      "required": [
        "assessor",
        "accountable_owner",
        "independent_reviewer",
        "independent_status",
        "scope_matches",
        "valid_until",
        "dissent",
        "limitations"
      ]
    },
    "actions": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "addresses": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          },
          "owner": {
            "type": "string"
          },
          "due_at": {
            "type": "string",
            "format": "date-time"
          },
          "verification_test": {
            "type": "string"
          },
          "completed": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "description",
          "addresses",
          "owner",
          "due_at",
          "verification_test",
          "completed"
        ]
      },
      "minItems": 0
    },
    "decision": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "advisory": {
          "enum": [
            "blocked",
            "insufficient_evidence",
            "eligible_with_conditions",
            "eligible_for_scoped_permission"
          ]
        },
        "reason_codes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 0
        },
        "ratio_snapshot": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "band": {
              "enum": [
                "green",
                "amber",
                "red",
                "unknown",
                "invalidated"
              ]
            },
            "lower": {
              "type": [
                "number",
                "null"
              ],
              "minimum": 0
            },
            "central": {
              "type": [
                "number",
                "null"
              ],
              "minimum": 0
            },
            "upper": {
              "type": [
                "number",
                "null"
              ],
              "minimum": 0
            },
            "l_seconds": {
              "anyOf": [
                {
                  "$ref": "#/$defs/range"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "band",
            "lower",
            "central",
            "upper",
            "l_seconds"
          ]
        },
        "human": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "status": {
              "enum": [
                "awaiting_decision",
                "withheld",
                "granted",
                "granted_with_conditions",
                "revoked",
                "expired"
              ]
            },
            "recorded_by": {
              "type": [
                "string",
                "null"
              ]
            },
            "recorded_at": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ]
            },
            "expires_at": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ]
            },
            "rationale": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "recorded_by",
            "recorded_at",
            "expires_at",
            "rationale"
          ]
        }
      },
      "required": [
        "advisory",
        "reason_codes",
        "ratio_snapshot",
        "human"
      ]
    },
    "reassessment": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "due_at": {
          "type": "string",
          "format": "date-time"
        },
        "triggers": {
          "type": "array",
          "items": {
            "enum": [
              "model_version",
              "tools_or_permissions",
              "environment",
              "critical_claim_change",
              "failed_control",
              "relevant_incident",
              "evidence_expiry"
            ]
          },
          "minItems": 7,
          "uniqueItems": true
        }
      },
      "required": [
        "due_at",
        "triggers"
      ]
    },
    "limitations": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 0
    }
  },
  "required": [
    "schema_version",
    "spec_version",
    "assessment_id",
    "revision",
    "assessed_at",
    "illustrative",
    "system",
    "stakes",
    "critical_claims",
    "hazards",
    "timing",
    "gears",
    "breakers",
    "evidence",
    "review",
    "actions",
    "decision",
    "reassessment",
    "limitations"
  ]
}
