{
  "evidenceClasses": {
    "declared_crosswalk": "Wikidata publishes conflict-free, non-deprecated external-identifier statements for both actors.",
    "exact": "Both records expose the same source-scoped identifier or the source publishes both identifiers in one record.",
    "source_reported": "One source record explicitly reports the relationship."
  },
  "generatedAt": "2026-10-10T13:09:50.035Z",
  "joinPolicy": {
    "allowed": [
      "exact shared identifiers",
      "source-reported relationships",
      "conflict-free Wikidata-declared identifier crosswalks"
    ],
    "crosswalkSemantics": "A declared crosswalk is an evidence edge, never an automatic entity merge.",
    "forbidden": [
      "name similarity",
      "acronym similarity",
      "semantic similarity",
      "inferred money flow",
      "inferred ownership or deployment"
    ]
  },
  "missingBridges": [
    {
      "count": 33,
      "fromType": "budget_title",
      "id": "missing:budget-title-to-project-or-procurement",
      "reason": "The federal budget XML publishes appropriations by title, not grant or contract identifiers.",
      "requiredEvidence": "An official title-to-grant or title-to-procedure identifier mapping.",
      "toTypes": [
        "project",
        "procurement"
      ]
    },
    {
      "count": 423,
      "fromType": "system",
      "id": "missing:system-to-procurement",
      "reason": "The public system register and procurement records do not publish a shared system or procedure identifier.",
      "requiredEvidence": "A source-published procedure identifier on the system profile or system identifier in the notice.",
      "toTypes": [
        "procurement"
      ]
    },
    {
      "count": 1156,
      "fromType": "project",
      "id": "missing:project-to-procurement",
      "reason": "Project names and procurement descriptions are not identifiers and are never joined by similarity.",
      "requiredEvidence": "A source-published CORDIS project code in the procurement record.",
      "toTypes": [
        "procurement"
      ]
    }
  ],
  "relationSemantics": {
    "references_repository": "A MaKI system record declares the repository URL itself, and the KI-Systempass resolves it to one canonical repository identity. When the Systempass publishes that join as exact_link, both identifiers stand in one source record and the edge is exact; otherwise it stays source_reported. The edge does not show that the system runs this code.",
    "reports_buyer_party": "A procurement dossier publishes both its procedure identifier and an exact, validated organisation identifier for a reported buyer. The edge does not prove an award, ownership or deployment.",
    "reports_supplier_party": "A procurement dossier publishes both its procedure identifier and an exact, validated organisation identifier for a reported supplier. The edge does not by itself allocate an award."
  },
  "schemaVersion": "ki-evidenznetz.methodology.v1",
  "sourceSnapshots": [
    {
      "dataset": "german-ai-actor-registry",
      "fingerprint": "sha256:c9338b5b9b86c60ac735253cb7c3e567448d5f6ec4bc1a80e78c2aa77fe68e44",
      "generatedAt": "2026-10-10T08:12:42.404Z",
      "id": "actor-registry",
      "recordCount": 1462,
      "schemaVersion": "ai-actor-registry/v1"
    },
    {
      "dataset": "german-public-ai-outcome-evidence-ledger",
      "fingerprint": "sha256:427aed1bb47c52c6ffb6b50bddaed01704b178d3cea262b9ac0f7e9ba3b75e7f",
      "generatedAt": "2026-10-10T08:12:42.404Z",
      "id": "outcome-evidence-ledger",
      "recordCount": 1006,
      "schemaVersion": "ki-wirkungskette.public.v1"
    },
    {
      "dataset": "german-public-ai-system-evidence-pass",
      "fingerprint": "sha256:f3fd533e36788c0e7d8366ad74ec2b6d996f32718cf103d834c0335b931d0f9f",
      "generatedAt": "2026-10-10T13:09:50.035Z",
      "id": "system-pass",
      "recordCount": 423,
      "schemaVersion": "ki-systempass.public.v1"
    },
    {
      "dataset": "german-public-sector-ai-code-radar",
      "fingerprint": "sha256:412d2c92efdf85b292193146a61f31c3a4c78fa58b08b918de896b2743d4012b",
      "generatedAt": "2026-10-10T13:07:05.111Z",
      "id": "code-radar",
      "recordCount": 44,
      "schemaVersion": "ki-code-radar/v1"
    },
    {
      "dataset": "german-public-sector-ai-dependency-atlas",
      "fingerprint": "sha256:06df1a9085e51d607e21dec6a9a4a038fe9484612c022c6decc4b95d5e2a5447",
      "generatedAt": "2026-10-10T13:08:33.228Z",
      "id": "dependency-atlas",
      "recordCount": 44,
      "schemaVersion": "ki-abhaengigkeitsatlas/v1"
    },
    {
      "dataset": "procurement-chronicle",
      "fingerprint": "sha256:768c0d6411e102f76cd839074f7a0f68b622db048f6fac56d692dfc77a67f67b",
      "generatedAt": "2026-10-10T07:17:43.440Z",
      "id": "procurement-chronicle",
      "recordCount": 1776,
      "schemaVersion": "ki-auftragschronik.public.v1"
    },
    {
      "dataset": "german-federal-ai-budget-monitor",
      "fingerprint": "sha256:00942abb99996843cd76b02e5a2f2270f7f3a1077b7cb8124d9f68a056883c71",
      "generatedAt": "2026-10-10T04:23:00.000Z",
      "id": "budget-monitor",
      "recordCount": 135,
      "schemaVersion": "ki-haushaltsmonitor.public.v1"
    }
  ]
}
