{
  "id": "type-p11",
  "revision": "64ba78fabe5836872b8d0cc0bbdf02342d5ec7100fdc410d4d03ede66a0c89ae",
  "regions": [
    {
      "id": "storage",
      "label": "Storage",
      "parent": null
    },
    {
      "id": "server",
      "label": "Server",
      "parent": null
    },
    {
      "id": "runtime",
      "label": "Runtime",
      "parent": null
    }
  ],
  "nodes": [
    {
      "id": "backup",
      "label": "Backup operation",
      "kind": "N02",
      "region": "storage",
      "ports": [
        {
          "id": "artifact",
          "profile": "P23",
          "contract": "BackupArtifactRefV1",
          "polarity": "Offer"
        },
        {
          "id": "receipt",
          "profile": "P24",
          "contract": "MigrationBackupEvidenceV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "verify",
      "label": "Backup verification",
      "kind": "N01",
      "region": "storage",
      "ports": [
        {
          "id": "artifact",
          "profile": "P23",
          "contract": "BackupArtifactRefV1",
          "polarity": "Require"
        },
        {
          "id": "complete",
          "profile": "P11",
          "contract": "VerifiedBackupContinuationV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "migrate",
      "label": "Schema migration",
      "kind": "N40",
      "region": "server",
      "ports": [
        {
          "id": "start",
          "profile": "P11",
          "contract": "VerifiedBackupContinuationV1",
          "polarity": "Require"
        },
        {
          "id": "complete",
          "profile": "P11",
          "contract": "MigrationReadyContinuationV1",
          "polarity": "Offer"
        },
        {
          "id": "evidence",
          "profile": "P24",
          "contract": "MigrationBackupEvidenceV1",
          "polarity": "Require"
        }
      ]
    },
    {
      "id": "switch",
      "label": "Traffic switch",
      "kind": "N02",
      "region": "runtime",
      "ports": [
        {
          "id": "start",
          "profile": "P11",
          "contract": "MigrationReadyContinuationV1",
          "polarity": "Require"
        }
      ]
    }
  ],
  "relations": [
    {
      "id": "bytes",
      "kind": "H02",
      "incidences": [
        {
          "node": "backup",
          "port": "artifact",
          "role": "source",
          "ordinal": 0
        },
        {
          "node": "verify",
          "port": "artifact",
          "role": "target",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "verified",
      "kind": "H03",
      "incidences": [
        {
          "node": "verify",
          "port": "complete",
          "role": "source",
          "ordinal": 0
        },
        {
          "node": "migrate",
          "port": "start",
          "role": "target",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "ready",
      "kind": "H03",
      "incidences": [
        {
          "node": "migrate",
          "port": "complete",
          "role": "source",
          "ordinal": 0
        },
        {
          "node": "switch",
          "port": "start",
          "role": "target",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "provenance",
      "kind": "H27",
      "incidences": [
        {
          "node": "backup",
          "port": "receipt",
          "role": "source",
          "ordinal": 0
        },
        {
          "node": "migrate",
          "port": "evidence",
          "role": "target",
          "ordinal": 0
        }
      ]
    }
  ]
}
