{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.delta-sierra.com/data/schema-journalisation-decisions-assistees.json",
  "title": "Journal d’une décision judiciaire assistée — prototype",
  "type": "object",
  "required": [
    "event_id",
    "timestamp",
    "case_context",
    "system",
    "human_action"
  ],
  "properties": {
    "event_id": {
      "type": "string",
      "description": "Identifiant unique de la trace"
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "case_context": {
      "type": "object",
      "properties": {
        "case_id_pseudonymous": {
          "type": "string"
        },
        "court": {
          "type": "string"
        },
        "procedure_type": {
          "type": "string"
        }
      },
      "required": [
        "case_id_pseudonymous",
        "procedure_type"
      ]
    },
    "system": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "provider": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "purpose": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "version",
        "purpose"
      ]
    },
    "inputs": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "reference": {
            "type": "string"
          },
          "hash": {
            "type": "string"
          },
          "category": {
            "type": "string"
          }
        }
      }
    },
    "output": {
      "type": "object",
      "properties": {
        "reference": {
          "type": "string"
        },
        "hash": {
          "type": "string"
        },
        "confidence_or_limits": {
          "type": "string"
        }
      }
    },
    "human_action": {
      "type": "object",
      "properties": {
        "professional_role": {
          "type": "string"
        },
        "action": {
          "enum": [
            "accepted",
            "modified",
            "rejected",
            "interrupted"
          ]
        },
        "reason_reference": {
          "type": "string"
        },
        "review_duration_minutes": {
          "type": "number",
          "minimum": 0
        }
      },
      "required": [
        "professional_role",
        "action"
      ]
    },
    "access_log_reference": {
      "type": "string"
    },
    "incident_reference": {
      "type": [
        "string",
        "null"
      ]
    },
    "retention_rule": {
      "type": "string"
    }
  }
}