{
  "id": "type-n34",
  "revision": "00095a6f3fda8fbc926352c2217e20741bd1298d11c8ed3cd6b34bb38dc40a23",
  "regions": [
    {
      "id": "source",
      "label": "Source",
      "parent": null
    },
    {
      "id": "build",
      "label": "Build",
      "parent": null
    }
  ],
  "nodes": [
    {
      "id": "source",
      "label": "Common Kotlin graph source",
      "kind": "N35",
      "region": "source",
      "ports": [
        {
          "id": "digest",
          "profile": "P23",
          "contract": "CommonKotlinSourceDigestV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "compile",
      "label": "Graph compiler pass",
      "kind": "N34",
      "region": "build",
      "ports": [
        {
          "id": "source",
          "profile": "P23",
          "contract": "CommonKotlinSourceDigestV1",
          "polarity": "Require"
        },
        {
          "id": "outputs",
          "profile": "P23",
          "contract": "TargetArtifactProvenanceV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "js",
      "label": "Kotlin JS artifact",
      "kind": "N35",
      "region": "build",
      "ports": [
        {
          "id": "provenance",
          "profile": "P23",
          "contract": "TargetArtifactProvenanceV1",
          "polarity": "Require"
        },
        {
          "id": "digest",
          "profile": "P23",
          "contract": "JsArtifactDigestV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "native",
      "label": "Native artifact",
      "kind": "N35",
      "region": "build",
      "ports": [
        {
          "id": "provenance",
          "profile": "P23",
          "contract": "TargetArtifactProvenanceV1",
          "polarity": "Require"
        },
        {
          "id": "digest",
          "profile": "P23",
          "contract": "NativeArtifactDigestV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "checks",
      "label": "Target qualification checks",
      "kind": "N36",
      "region": "build",
      "ports": [
        {
          "id": "js",
          "profile": "P23",
          "contract": "JsArtifactDigestV1",
          "polarity": "Require"
        },
        {
          "id": "native",
          "profile": "P23",
          "contract": "NativeArtifactDigestV1",
          "polarity": "Require"
        }
      ]
    }
  ],
  "relations": [
    {
      "id": "source",
      "kind": "H26",
      "incidences": [
        {
          "node": "source",
          "port": "digest",
          "role": "artifact",
          "ordinal": 0
        },
        {
          "node": "compile",
          "port": "source",
          "role": "consumer",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "outputs",
      "kind": "H27",
      "incidences": [
        {
          "node": "compile",
          "port": "outputs",
          "role": "source",
          "ordinal": 0
        },
        {
          "node": "js",
          "port": "provenance",
          "role": "target",
          "ordinal": 0
        },
        {
          "node": "native",
          "port": "provenance",
          "role": "target",
          "ordinal": 1
        }
      ]
    },
    {
      "id": "js-check",
      "kind": "H26",
      "incidences": [
        {
          "node": "js",
          "port": "digest",
          "role": "artifact",
          "ordinal": 0
        },
        {
          "node": "checks",
          "port": "js",
          "role": "consumer",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "native-check",
      "kind": "H26",
      "incidences": [
        {
          "node": "native",
          "port": "digest",
          "role": "artifact",
          "ordinal": 0
        },
        {
          "node": "checks",
          "port": "native",
          "role": "consumer",
          "ordinal": 0
        }
      ]
    }
  ]
}
