{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/philidor-io/json-schema/philidor-io-graph-look-through-response-schema.json",
  "title": "GraphLookThroughResponse",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/philidor-io-openapi.json#/components/schemas/GraphLookThroughResponse",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "eal": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "perVault": {
              "type": "object",
              "additionalProperties": {
                "$ref": "#/$defs/GraphVaultEal"
              }
            },
            "portfolio": {
              "type": "object",
              "properties": {
                "snapshotId": {
                  "type": "string"
                },
                "asOf": {
                  "type": "string"
                },
                "methodologyVersion": {
                  "type": "string",
                  "enum": [
                    "eal-v1"
                  ]
                },
                "maturity": {
                  "type": "string",
                  "enum": [
                    "experimental"
                  ]
                },
                "horizon": {
                  "type": "string",
                  "enum": [
                    "1y"
                  ]
                },
                "annualizationRule": {
                  "type": "string",
                  "enum": [
                    "4 * published edl_bps_3m"
                  ]
                },
                "factorAllocationRule": {
                  "type": "string",
                  "enum": [
                    "shares of issuer-model total; not independent factor frequencies"
                  ]
                },
                "unmappedExposure": {
                  "type": "string",
                  "enum": [
                    "unknown, not zero"
                  ]
                },
                "basis": {
                  "type": "string",
                  "enum": [
                    "bps of available observed dependency exposure"
                  ]
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "available",
                    "unavailable"
                  ]
                },
                "annualEalBps": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "byFactorType": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "factorType": {
                        "type": "string",
                        "enum": [
                          "oracle",
                          "bridge",
                          "signer",
                          "wrapper",
                          "contract",
                          "unattributed"
                        ]
                      },
                      "annualEalBps": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "pattern": "^(0|[1-9]\\d{0,31})\\.\\d{4}$"
                      }
                    },
                    "required": [
                      "factorType",
                      "annualEalBps"
                    ]
                  }
                },
                "coverage": {
                  "type": "object",
                  "properties": {
                    "totalDependencyExposureUsd": {
                      "type": "string"
                    },
                    "availableDependencyExposureUsd": {
                      "type": "string"
                    },
                    "unavailableDependencyExposureUsd": {
                      "type": "string"
                    },
                    "unavailableShare": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "availableVaultCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "unavailableVaults": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "required": [
                    "totalDependencyExposureUsd",
                    "availableDependencyExposureUsd",
                    "unavailableDependencyExposureUsd",
                    "unavailableShare",
                    "availableVaultCount",
                    "unavailableVaults"
                  ]
                },
                "provenance": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "modelVersion": {
                      "type": "string",
                      "minLength": 1
                    },
                    "modelBundleSha256": {
                      "type": "string",
                      "pattern": "^[a-f0-9]{64}$"
                    },
                    "modelContextSha256": {
                      "type": "string",
                      "pattern": "^[a-f0-9]{64}$"
                    },
                    "issuerMapSha256": {
                      "type": "string",
                      "pattern": "^[a-f0-9]{64}$"
                    },
                    "issuerMapVersion": {
                      "type": "string",
                      "minLength": 1
                    },
                    "modelAvailableAt": {
                      "type": "string"
                    },
                    "issuerMapAvailableAt": {
                      "type": "string"
                    },
                    "issuerScoresAvailableAt": {
                      "type": "string"
                    },
                    "issuerScoresSha256": {
                      "type": "string",
                      "pattern": "^[a-f0-9]{64}$"
                    },
                    "factorManifestSha256": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "pattern": "^[a-f0-9]{64}$"
                    },
                    "implementationRevision": {
                      "type": "string",
                      "pattern": "^[a-f0-9]{40}$"
                    }
                  },
                  "required": [
                    "modelVersion",
                    "modelBundleSha256",
                    "modelContextSha256",
                    "issuerMapSha256",
                    "issuerMapVersion",
                    "modelAvailableAt",
                    "issuerMapAvailableAt",
                    "issuerScoresAvailableAt",
                    "issuerScoresSha256",
                    "factorManifestSha256",
                    "implementationRevision"
                  ]
                },
                "disclaimer": {
                  "type": "array",
                  "prefixItems": [
                    {
                      "type": "string",
                      "enum": [
                        "Not a guarantee of safety"
                      ]
                    },
                    {
                      "type": "string",
                      "enum": [
                        "Not a guarantee of returns"
                      ]
                    },
                    {
                      "type": "string",
                      "enum": [
                        "Not investment advice"
                      ]
                    },
                    {
                      "type": "string",
                      "enum": [
                        "Not legal or regulatory certification"
                      ]
                    }
                  ]
                }
              },
              "required": [
                "snapshotId",
                "asOf",
                "methodologyVersion",
                "maturity",
                "horizon",
                "annualizationRule",
                "factorAllocationRule",
                "unmappedExposure",
                "basis",
                "status",
                "annualEalBps",
                "byFactorType",
                "coverage",
                "provenance",
                "disclaimer"
              ]
            }
          },
          "required": [
            "perVault",
            "portfolio"
          ]
        },
        "snapshotId": {
          "type": "string"
        },
        "builtAt": {
          "type": "string"
        },
        "validTime": {
          "type": "string"
        },
        "results": {
          "type": "object",
          "additionalProperties": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "vaultKey": {
                "type": "string"
              },
              "curator": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "operatorRegistryVersion": {
                "type": "string"
              },
              "curatorRef": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "curatorKey": {
                    "type": "string"
                  },
                  "curatorOrg": {
                    "type": "string"
                  },
                  "operatorId": {
                    "type": "string"
                  },
                  "operatorName": {
                    "type": "string"
                  },
                  "operatorKind": {
                    "type": "string",
                    "enum": [
                      "curator_org"
                    ]
                  },
                  "clusterId": {
                    "type": "string"
                  }
                },
                "required": [
                  "curatorKey",
                  "curatorOrg",
                  "operatorId",
                  "operatorName",
                  "operatorKind",
                  "clusterId"
                ]
              },
              "protocol": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "chain": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "assets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "assetKey": {
                      "type": "string"
                    },
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "usdExposure": {
                      "type": "string"
                    },
                    "wrappers": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "assetKey": {
                            "type": "string"
                          },
                          "symbol": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "assetKey",
                          "symbol"
                        ]
                      }
                    },
                    "oracles": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "oracleRefs": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "oracleKey": {
                            "type": "string"
                          },
                          "oracleVendor": {
                            "type": "string"
                          },
                          "operatorId": {
                            "type": "string"
                          },
                          "operatorName": {
                            "type": "string"
                          },
                          "operatorKind": {
                            "type": "string",
                            "enum": [
                              "oracle_vendor"
                            ]
                          },
                          "clusterId": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "oracleKey",
                          "oracleVendor",
                          "operatorId",
                          "operatorName",
                          "operatorKind",
                          "clusterId"
                        ]
                      }
                    },
                    "bridges": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "verified": {
                            "type": "boolean"
                          },
                          "confidence": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "id",
                          "verified",
                          "confidence"
                        ]
                      }
                    }
                  },
                  "required": [
                    "assetKey",
                    "symbol",
                    "usdExposure",
                    "wrappers",
                    "oracles"
                  ]
                }
              },
              "signerSets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "boolean"
                    },
                    "confidence": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "id",
                    "verified",
                    "confidence"
                  ]
                }
              },
              "cycles": {
                "type": "array",
                "items": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "reach": {
                "type": "object",
                "properties": {
                  "exposureNodes": {
                    "type": "number"
                  },
                  "causalNodes": {
                    "type": "number"
                  },
                  "causalShare": {
                    "type": [
                      "number",
                      "null"
                    ]
                  }
                },
                "required": [
                  "exposureNodes",
                  "causalNodes",
                  "causalShare"
                ]
              }
            },
            "required": [
              "vaultKey",
              "curator",
              "protocol",
              "chain",
              "assets",
              "cycles",
              "reach"
            ]
          }
        },
        "reach": {
          "type": "object",
          "properties": {
            "exposureNodes": {
              "type": "number"
            },
            "causalNodes": {
              "type": "number"
            },
            "causalShare": {
              "type": [
                "number",
                "null"
              ]
            },
            "vaultsResolved": {
              "type": "number"
            },
            "vaultsUnresolved": {
              "type": "number"
            }
          },
          "required": [
            "exposureNodes",
            "causalNodes",
            "causalShare",
            "vaultsResolved",
            "vaultsUnresolved"
          ]
        }
      },
      "required": [
        "snapshotId",
        "builtAt",
        "validTime",
        "results",
        "reach"
      ]
    }
  },
  "required": [
    "data"
  ],
  "$defs": {
    "GraphVaultEal": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "vaultKey": {
          "type": "string",
          "minLength": 1
        },
        "snapshotId": {
          "type": "string",
          "pattern": "^[a-f0-9]{64}$"
        },
        "asOf": {
          "type": "string"
        },
        "methodologyVersion": {
          "type": "string",
          "enum": [
            "eal-v1"
          ]
        },
        "maturity": {
          "type": "string",
          "enum": [
            "experimental"
          ]
        },
        "horizon": {
          "type": "string",
          "enum": [
            "1y"
          ]
        },
        "annualizationRule": {
          "type": "string",
          "enum": [
            "4 * published edl_bps_3m"
          ]
        },
        "basis": {
          "type": "string",
          "enum": [
            "bps of all observed dependency exposure"
          ]
        },
        "factorAllocationRule": {
          "type": "string",
          "enum": [
            "shares of issuer-model total; not independent factor frequencies"
          ]
        },
        "unmappedExposure": {
          "type": "string",
          "enum": [
            "unknown, not zero"
          ]
        },
        "status": {
          "type": "string",
          "enum": [
            "available",
            "unavailable"
          ]
        },
        "reason": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "missing_edl",
            "low_coverage",
            "data_gap",
            "stale_model",
            "inputs_after_as_of",
            null
          ]
        },
        "edlBps3m": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(0|[1-9]\\d{0,31})\\.\\d{4}$"
        },
        "annualEalBps": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(0|[1-9]\\d{0,31})\\.\\d{4}$"
        },
        "byFactorType": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "factorType": {
                "type": "string",
                "enum": [
                  "oracle",
                  "bridge",
                  "signer",
                  "wrapper",
                  "contract",
                  "unattributed"
                ]
              },
              "annualEalBps": {
                "type": [
                  "string",
                  "null"
                ],
                "pattern": "^(0|[1-9]\\d{0,31})\\.\\d{4}$"
              }
            },
            "required": [
              "factorType",
              "annualEalBps"
            ]
          }
        },
        "coverage": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "mapped_share": {
              "type": "string",
              "pattern": "^(0\\.\\d{6}|1\\.000000)$"
            },
            "model_version": {
              "type": "string",
              "minLength": 1
            },
            "scored_month": {
              "type": "string",
              "pattern": "^\\d{4}-(0[1-9]|1[0-2])$"
            }
          },
          "required": [
            "mapped_share",
            "model_version",
            "scored_month"
          ]
        },
        "factorPartitionAvailable": {
          "type": "boolean"
        },
        "provenance": {
          "type": "object",
          "properties": {
            "modelVersion": {
              "type": "string",
              "minLength": 1
            },
            "modelBundleSha256": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            },
            "modelContextSha256": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            },
            "issuerMapSha256": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            },
            "issuerMapVersion": {
              "type": "string",
              "minLength": 1
            },
            "modelAvailableAt": {
              "type": "string"
            },
            "issuerMapAvailableAt": {
              "type": "string"
            },
            "issuerScoresAvailableAt": {
              "type": "string"
            },
            "issuerScoresSha256": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            },
            "factorManifestSha256": {
              "type": [
                "string",
                "null"
              ],
              "pattern": "^[a-f0-9]{64}$"
            },
            "implementationRevision": {
              "type": "string",
              "pattern": "^[a-f0-9]{40}$"
            }
          },
          "required": [
            "modelVersion",
            "modelBundleSha256",
            "modelContextSha256",
            "issuerMapSha256",
            "issuerMapVersion",
            "modelAvailableAt",
            "issuerMapAvailableAt",
            "issuerScoresAvailableAt",
            "issuerScoresSha256",
            "factorManifestSha256",
            "implementationRevision"
          ]
        },
        "disclaimer": {
          "type": "array",
          "prefixItems": [
            {
              "type": "string",
              "enum": [
                "Not a guarantee of safety"
              ]
            },
            {
              "type": "string",
              "enum": [
                "Not a guarantee of returns"
              ]
            },
            {
              "type": "string",
              "enum": [
                "Not investment advice"
              ]
            },
            {
              "type": "string",
              "enum": [
                "Not legal or regulatory certification"
              ]
            }
          ]
        }
      },
      "required": [
        "vaultKey",
        "snapshotId",
        "asOf",
        "methodologyVersion",
        "maturity",
        "horizon",
        "annualizationRule",
        "basis",
        "factorAllocationRule",
        "unmappedExposure",
        "status",
        "reason",
        "edlBps3m",
        "annualEalBps",
        "byFactorType",
        "coverage",
        "factorPartitionAvailable",
        "provenance",
        "disclaimer"
      ]
    }
  }
}