{
  "$id": "https://biosimulant.com/standards/model-compatibility/profiles/developmental/branching-morphogenesis/v0.1",
  "$schema": "https://biosimulant.com/standards/model-compatibility/v0.1/schemas/profile-definition.schema.json",
  "allowed": {},
  "applies_to": [
    "scalar",
    "array",
    "record"
  ],
  "comparison_rules": [
    {
      "missing": "unknown",
      "operator": "term-equivalent",
      "reason_code": "BMCS_VALUE_MISMATCH",
      "severity": "error",
      "source": "/contract/semantic/concept",
      "target": "/contract/semantic/concept"
    },
    {
      "missing": "unknown",
      "operator": "term-equivalent",
      "reason_code": "BMCS_VALUE_MISMATCH",
      "severity": "error",
      "source": "/contract/semantic/subject",
      "target": "/contract/semantic/subject"
    },
    {
      "missing": "unknown",
      "operator": "equal",
      "reason_code": "BMCS_VALUE_MISMATCH",
      "severity": "error",
      "source": "/contract/representation/kind",
      "target": "/contract/representation/kind"
    },
    {
      "missing": "unknown",
      "operator": "term-equivalent",
      "reason_code": "BMCS_VALUE_MISMATCH",
      "severity": "error",
      "source": "/contract/identifiers/namespace",
      "target": "/contract/identifiers/namespace"
    },
    {
      "missing": "unknown",
      "operator": "term-equivalent",
      "reason_code": "BMCS_VALUE_MISMATCH",
      "severity": "error",
      "source": "/contract/identifiers/namespace_version",
      "target": "/contract/identifiers/namespace_version"
    },
    {
      "missing": "unknown",
      "operator": "context-compatible",
      "reason_code": "BMCS_VALUE_MISMATCH",
      "severity": "error",
      "source": "/contract/biological_context/species",
      "target": "/contract/biological_context/species"
    }
  ],
  "compatibility_notes": "Two ports match only when every field the target port requires is satisfied. If required information is missing, the result is UNKNOWN. Any conversion between ports must be a declared, versioned transformation.",
  "description": "Branching Morphogenesis (Development and lineage): what a port must declare, and how two ports are compared.",
  "domain": "developmental",
  "domain_label": "Development and lineage",
  "extends": [],
  "fixed": {},
  "item_packs": [
    "semantic-core",
    "biological-context",
    "cell-context",
    "temporal-lifecycle",
    "imaging-spatial",
    "graph-network",
    "uncertainty-quality"
  ],
  "label": "Branching Morphogenesis",
  "name": "branching-morphogenesis",
  "profile_id": "developmental/branching-morphogenesis@0.1",
  "release_eligible": false,
  "requirements": [
    {
      "level": "required",
      "path": "semantic.concept",
      "schema": {
        "type": [
          "string",
          "number",
          "integer",
          "boolean",
          "array",
          "object",
          "null"
        ]
      }
    },
    {
      "level": "required",
      "path": "semantic.subject",
      "schema": {
        "type": [
          "string",
          "number",
          "integer",
          "boolean",
          "array",
          "object",
          "null"
        ]
      }
    },
    {
      "level": "required",
      "path": "representation.kind",
      "schema": {
        "type": [
          "string",
          "number",
          "integer",
          "boolean",
          "array",
          "object",
          "null"
        ]
      }
    },
    {
      "level": "required",
      "path": "identifiers.namespace",
      "schema": {
        "type": [
          "string",
          "number",
          "integer",
          "boolean",
          "array",
          "object",
          "null"
        ]
      }
    },
    {
      "level": "required",
      "path": "identifiers.namespace_version",
      "schema": {
        "type": [
          "string",
          "number",
          "integer",
          "boolean",
          "array",
          "object",
          "null"
        ]
      }
    },
    {
      "level": "required",
      "path": "biological_context.species",
      "schema": {
        "type": [
          "string",
          "number",
          "integer",
          "boolean",
          "array",
          "object",
          "null"
        ]
      }
    }
  ],
  "review": {
    "authors": [],
    "decisions": {},
    "domain_owner": null,
    "fixture_review": {},
    "intended_use": null,
    "limitations": [],
    "reviewed_at": null,
    "reviewer": null,
    "schema_reviewer": null,
    "sources": [],
    "status": "candidate"
  },
  "scientific_claim": "This profile checks whether two model interfaces fit together. It doesn't show that a model is scientifically valid or clinically safe.",
  "stage": "WAVE_2",
  "transformation_policy": {
    "inference": "approval",
    "lossless": "allow",
    "lossy": "approval"
  },
  "version": "0.1.0"
}
