{
  "id": "type-n36",
  "revision": "ab49dfe4c73f66df911020a2fe3b1496df231161807c7c8e9ea6588b0b0fb4f9",
  "regions": [
    {
      "id": "evidence",
      "label": "Evidence",
      "parent": null
    },
    {
      "id": "shadow",
      "label": "Shadow",
      "parent": null
    }
  ],
  "nodes": [
    {
      "id": "capture",
      "label": "Captured send evidence",
      "kind": "N37",
      "region": "evidence",
      "ports": [
        {
          "id": "ref",
          "profile": "P23",
          "contract": "CapturedSendCapsuleRefV1",
          "polarity": "Offer"
        },
        {
          "id": "observed",
          "profile": "P24",
          "contract": "CapturedSendObservationV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "scenario",
      "label": "Shadow send scenario",
      "kind": "N36",
      "region": "shadow",
      "ports": [
        {
          "id": "capture",
          "profile": "P23",
          "contract": "CapturedSendCapsuleRefV1",
          "polarity": "Require"
        },
        {
          "id": "restore",
          "profile": "P22",
          "contract": "ShadowStateRestoreV1",
          "polarity": "Require"
        },
        {
          "id": "start",
          "profile": "P11",
          "contract": "ShadowSendInvocationV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "state",
      "label": "Shadow message state",
      "kind": "N21",
      "region": "shadow",
      "ports": [
        {
          "id": "restore",
          "profile": "P22",
          "contract": "ShadowStateRestoreV1",
          "polarity": "Offer"
        },
        {
          "id": "send",
          "profile": "P02",
          "contract": "ShadowMessageAuthorityV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "send",
      "label": "Messaging flow under test",
      "kind": "N06",
      "region": "shadow",
      "ports": [
        {
          "id": "start",
          "profile": "P11",
          "contract": "ShadowSendInvocationV1",
          "polarity": "Require"
        },
        {
          "id": "store",
          "profile": "P02",
          "contract": "ShadowMessageAuthorityV1",
          "polarity": "Require"
        },
        {
          "id": "observed",
          "profile": "P24",
          "contract": "SendReplayComparisonV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "compare",
      "label": "Replay comparison",
      "kind": "N38",
      "region": "evidence",
      "ports": [
        {
          "id": "observed",
          "profile": "P24",
          "contract": "SendReplayComparisonV1",
          "polarity": "Require"
        },
        {
          "id": "expected",
          "profile": "P24",
          "contract": "CapturedSendObservationV1",
          "polarity": "Require"
        }
      ]
    }
  ],
  "relations": [
    {
      "id": "capture",
      "kind": "H26",
      "incidences": [
        {
          "node": "capture",
          "port": "ref",
          "role": "artifact",
          "ordinal": 0
        },
        {
          "node": "scenario",
          "port": "capture",
          "role": "consumer",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "restore",
      "kind": "H05",
      "incidences": [
        {
          "node": "scenario",
          "port": "restore",
          "role": "caller",
          "ordinal": 0
        },
        {
          "node": "state",
          "port": "restore",
          "role": "callee",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "execute",
      "kind": "H03",
      "incidences": [
        {
          "node": "scenario",
          "port": "start",
          "role": "source",
          "ordinal": 0
        },
        {
          "node": "send",
          "port": "start",
          "role": "target",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "adapters",
      "kind": "H01",
      "incidences": [
        {
          "node": "state",
          "port": "send",
          "role": "provider",
          "ordinal": 0
        },
        {
          "node": "send",
          "port": "store",
          "role": "consumer",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "finding",
      "kind": "H27",
      "incidences": [
        {
          "node": "send",
          "port": "observed",
          "role": "source",
          "ordinal": 0
        },
        {
          "node": "compare",
          "port": "observed",
          "role": "target",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "expected",
      "kind": "H02",
      "incidences": [
        {
          "node": "capture",
          "port": "observed",
          "role": "source",
          "ordinal": 0
        },
        {
          "node": "compare",
          "port": "expected",
          "role": "target",
          "ordinal": 0
        }
      ]
    }
  ]
}
