{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Model Spec",
  "type": "object",
  "required": [
    "model_id",
    "model_name",
    "model_type",
    "pipeline_position",
    "one_sentence_definition",
    "core_question",
    "core_mechanism",
    "source_articles",
    "source_evidence",
    "input_types",
    "output_types",
    "call_when",
    "do_not_call_when",
    "common_misuses",
    "failure_modes",
    "selection_priority",
    "confidence_level",
    "stability_profile",
    "regression_status",
    "productization_notes"
  ],
  "properties": {
    "model_id": {"type": "string"},
    "model_name": {"type": "string"},
    "model_type": {"type": "string"},
    "pipeline_position": {"type": "string"},
    "one_sentence_definition": {"type": "string"},
    "core_question": {"type": "string"},
    "core_mechanism": {"type": "string"},
    "source_articles": {"type": "array", "items": {"type": "string"}},
    "source_evidence": {"type": "array", "items": {"type": "string"}},
    "input_types": {"type": "array", "items": {"type": "string"}},
    "output_types": {"type": "array", "items": {"type": "string"}},
    "call_when": {"type": "array", "items": {"type": "string"}},
    "do_not_call_when": {"type": "array", "items": {"type": "string"}},
    "common_misuses": {"type": "array", "items": {"type": "string"}},
    "failure_modes": {"type": "array", "items": {"type": "string"}},
    "selection_priority": {"type": "integer"},
    "confidence_level": {"type": "string"},
    "stability_profile": {"type": "object"},
    "regression_status": {"type": "string"},
    "productization_notes": {"type": "array", "items": {"type": "string"}}
  }
}
