{
  "kind": "openprose.compile-phase-ir",
  "version": 2,
  "sources": [
    {
      "path": "tests/open-prose/compiler/fixtures/ambiguous-fulfillment/customer-intake.prose.md",
      "kind": "responsibility",
      "name": "customer-intake"
    },
    {
      "path": "tests/open-prose/compiler/fixtures/ambiguous-fulfillment/outreach-source.prose.md",
      "kind": "responsibility",
      "name": "outreach-source"
    },
    {
      "path": "tests/open-prose/compiler/fixtures/ambiguous-fulfillment/research-source.prose.md",
      "kind": "responsibility",
      "name": "research-source"
    }
  ],
  "topology": {
    "nodes": [
      {
        "node": "customer-intake",
        "contract_fingerprint": "sha256:c1a2b3c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f80",
        "wake_source": "self"
      },
      {
        "node": "outreach-source",
        "contract_fingerprint": "sha256:0b1c2d3e4f5061728394a5b6c7d8e9f00b1c2d3e4f5061728394a5b6c7d8e9f0",
        "wake_source": "self"
      },
      {
        "node": "research-source",
        "contract_fingerprint": "sha256:1c2d3e4f5061728394a5b6c7d8e9f0011c2d3e4f5061728394a5b6c7d8e9f001",
        "wake_source": "self"
      }
    ],
    "edges": [],
    "entry_points": [],
    "acyclic": true
  },
  "canonicalizers": [
    {
      "node": "customer-intake",
      "artifact": "dist/canonicalizers/customer-intake.js",
      "facets": [
        "@atomic"
      ]
    },
    {
      "node": "outreach-source",
      "artifact": "dist/canonicalizers/outreach-source.js",
      "facets": [
        "@atomic",
        "customer_signal"
      ]
    },
    {
      "node": "research-source",
      "artifact": "dist/canonicalizers/research-source.js",
      "facets": [
        "@atomic",
        "customer_signal"
      ]
    }
  ],
  "postconditions": [
    {
      "node": "customer-intake",
      "artifact": "dist/postconditions/customer-intake.js",
      "mode": "render-attested"
    },
    {
      "node": "outreach-source",
      "artifact": "dist/postconditions/outreach-source.js",
      "mode": "render-attested"
    },
    {
      "node": "research-source",
      "artifact": "dist/postconditions/research-source.js",
      "mode": "render-attested"
    }
  ],
  "contract_fingerprints": {
    "customer-intake": "sha256:c1a2b3c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f80",
    "outreach-source": "sha256:0b1c2d3e4f5061728394a5b6c7d8e9f00b1c2d3e4f5061728394a5b6c7d8e9f0",
    "research-source": "sha256:1c2d3e4f5061728394a5b6c7d8e9f0011c2d3e4f5061728394a5b6c7d8e9f001"
  },
  "diagnostics": [
    {
      "severity": "warning",
      "message": "Could not wire customer-intake.Requires.customer_signal: multiple producers maintain customer_signal (outreach-source, research-source). The subscription is left unwired pending an explicit choice.",
      "sourcePath": "tests/open-prose/compiler/fixtures/ambiguous-fulfillment/customer-intake.prose.md"
    }
  ]
}
