{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://twinethos.com/schemas/assessment-context-v0.1.schema.json",
  "title": "TwinEthos Assessment Context (v0.1)",
  "description": "Portable evidence-backed input contract used by scanners, assistants, or LLMs to evaluate rule applicability. It does not itself make legal conclusions.",
  "type": "object",
  "additionalProperties": false,
  "required": ["schema_version", "assessment_id", "subject", "system", "evidence"],
  "properties": {
    "schema_version": { "const": "0.1" },
    "assessment_id": { "type": "string", "minLength": 1 },
    "assessed_at": { "type": "string", "format": "date-time" },
    "subject": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "organization_jurisdictions": { "type": "array", "uniqueItems": true, "items": { "type": "string" } },
        "deployment_jurisdictions": { "type": "array", "uniqueItems": true, "items": { "type": "string" } },
        "affected_person_locations": { "type": "array", "uniqueItems": true, "items": { "type": "string" } },
        "sectors": { "type": "array", "uniqueItems": true, "items": { "type": "string" } },
        "organization_attributes": { "type": "object", "additionalProperties": { "type": ["string", "number", "boolean"] } }
      }
    },
    "system": {
      "type": "object",
      "additionalProperties": false,
      "required": ["roles", "ai_integration_patterns"],
      "properties": {
        "roles": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "enum": ["provider", "deployer", "operator", "importer", "distributor", "third_party"] } },
        "classifications": { "type": "array", "uniqueItems": true, "items": { "type": "string" } },
        "ai_integration_patterns": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string" } },
        "assessed_units": { "type": "array", "uniqueItems": true, "items": { "type": "string", "enum": ["model", "system", "ai_integration", "agent_action", "organization", "individual"] } }
      }
    },
    "evidence": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": ["kind", "reference"],
        "properties": {
          "kind": { "type": "string", "enum": ["repository_path", "configuration", "document", "test_result", "human_attestation", "other"] },
          "reference": { "type": "string", "minLength": 1 },
          "description": { "type": "string" }
        }
      }
    },
    "applicability_results": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": ["rule_id", "status"],
        "properties": {
          "rule_id": { "type": "string" },
          "status": { "type": "string", "enum": ["applies", "does_not_apply", "needs_human_determination"] },
          "rationale": { "type": "string" },
          "evidence_references": { "type": "array", "items": { "type": "string" } }
        }
      }
    }
  }
}