{
  "id": "view-code-push",
  "revision": "a7d148b4d9ba6ecf6bc00e77f90d191f7c0f2043c021b6b328e0bfa1b24d1da2",
  "regions": [
    {
      "id": "app",
      "label": "Stable host"
    },
    {
      "id": "feature",
      "label": "RGL replaceable feature",
      "parent": "app"
    }
  ],
  "nodes": [
    {
      "id": "host",
      "label": "Qualified JS + FFI host",
      "kind": "N27",
      "region": "app",
      "ports": [
        {
          "id": "feature",
          "profile": "P23",
          "contract": "RegionBundleV1",
          "polarity": "Require"
        },
        {
          "id": "epoch",
          "profile": "P21",
          "contract": "RegionActivationV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "bundle",
      "label": "Common Kotlin JS bundle",
      "kind": "N35",
      "region": "feature",
      "ports": [
        {
          "id": "artifact",
          "profile": "P23",
          "contract": "RegionBundleV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "region",
      "label": "Feature boundary",
      "kind": "N10",
      "region": "feature",
      "ports": [
        {
          "id": "lifecycle",
          "profile": "P21",
          "contract": "RegionActivationV1",
          "polarity": "Require"
        },
        {
          "id": "checkpoint",
          "profile": "P22",
          "contract": "FeatureStateV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "migrate",
      "label": "State migration controller",
      "kind": "N40",
      "region": "app",
      "ports": [
        {
          "id": "state",
          "profile": "P22",
          "contract": "FeatureStateV1",
          "polarity": "Require"
        }
      ]
    }
  ],
  "relations": [
    {
      "id": "artifact",
      "kind": "H26",
      "incidences": [
        {
          "node": "host",
          "port": "feature",
          "role": "consumer",
          "ordinal": 0
        },
        {
          "node": "bundle",
          "port": "artifact",
          "role": "dependency",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "activate",
      "kind": "H29",
      "incidences": [
        {
          "node": "bundle",
          "port": "artifact",
          "role": "release",
          "ordinal": 0
        },
        {
          "node": "host",
          "port": "epoch",
          "role": "image",
          "ordinal": 0
        },
        {
          "node": "region",
          "port": "lifecycle",
          "role": "localRoot",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "checkpoint-binding",
      "kind": "H01",
      "incidences": [
        {
          "node": "region",
          "port": "checkpoint",
          "role": "provider",
          "ordinal": 0
        },
        {
          "node": "migrate",
          "port": "state",
          "role": "consumer",
          "ordinal": 0
        }
      ]
    }
  ]
}
