{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "PreyLab experiment protocol v1",
  "type": "object",
  "additionalProperties": false,
  "required": ["format", "schemaVersion", "numerical", "interventions"],
  "properties": {
    "format": {"const": "preylab.experiment-protocol"},
    "schemaVersion": {"const": 1},
    "numerical": {"type": "object", "additionalProperties": false, "required": ["maxCells"], "properties": {"maxCells": {"type": "integer", "minimum": 1, "maximum": 512}}},
    "interventions": {"type": "object", "additionalProperties": false, "required": ["supportBirthFraction", "supportLifespanMs", "mutationRate"], "properties": {"supportBirthFraction": {"type": "number", "minimum": 0, "maximum": 1}, "supportLifespanMs": {"type": "integer", "minimum": 0, "maximum": 3600000}, "mutationRate": {"type": "number", "minimum": 0, "maximum": 1}}}
  }
}
