[
  {
    "fragmentId": "method:n5kc06:currentgraphdata__fragment",
    "ownerFileId": "file:1x9xhbs:iknowledgegraphservice-cs",
    "ownerSymbolId": "method:n5kc06:currentgraphdata",
    "ownerSymbolName": "CurrentGraphData",
    "entryNodeId": "method:n5kc06:currentgraphdata__entry",
    "exitNodeIds": [
      "method:n5kc06:currentgraphdata__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:n5kc06:currentgraphdata__entry",
        "kind": "entry",
        "label": "CurrentGraphData entry",
        "line": 7,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.99,
        "detail": "Read-only property exposing the current graph data held by the service."
      },
      {
        "id": "method:n5kc06:currentgraphdata__action_7_property_7__linear",
        "kind": "statement",
        "label": "read-only state",
        "line": 7,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7,
        "detail": "Getter-only property; implementation is expected to return current GraphDataDto or null."
      },
      {
        "id": "method:n5kc06:currentgraphdata__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 7,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:n5kc06:currentgraphdata__entry__method:n5kc06:currentgraphdata__action_7_property_7__linear",
        "from": "method:n5kc06:currentgraphdata__entry",
        "to": "method:n5kc06:currentgraphdata__action_7_property_7__linear",
        "kind": "next",
        "line": 7,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:n5kc06:currentgraphdata__action_7_property_7__linear__implicit_return",
        "from": "method:n5kc06:currentgraphdata__action_7_property_7__linear",
        "to": "method:n5kc06:currentgraphdata__implicit_return",
        "kind": "return",
        "line": 7,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.76,
    "lineSpan": {
      "start": 7,
      "end": 7
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "line": 7,
        "summary": "Control-flow fragment extracted for method CurrentGraphData.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:cho50r:activenodeid__fragment",
    "ownerFileId": "file:1x9xhbs:iknowledgegraphservice-cs",
    "ownerSymbolId": "method:cho50r:activenodeid",
    "ownerSymbolName": "ActiveNodeId",
    "entryNodeId": "method:cho50r:activenodeid__entry",
    "exitNodeIds": [
      "method:cho50r:activenodeid__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:cho50r:activenodeid__entry",
        "kind": "entry",
        "label": "ActiveNodeId entry",
        "line": 8,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.99,
        "detail": "Read-only property exposing the currently active/selected node id."
      },
      {
        "id": "method:cho50r:activenodeid__action_8_property_8__linear",
        "kind": "statement",
        "label": "read-only state",
        "line": 8,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7,
        "detail": "Getter-only property; implementation is expected to return the active node id or null."
      },
      {
        "id": "method:cho50r:activenodeid__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 8,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:cho50r:activenodeid__entry__method:cho50r:activenodeid__action_8_property_8__linear",
        "from": "method:cho50r:activenodeid__entry",
        "to": "method:cho50r:activenodeid__action_8_property_8__linear",
        "kind": "next",
        "line": 8,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:cho50r:activenodeid__action_8_property_8__linear__implicit_return",
        "from": "method:cho50r:activenodeid__action_8_property_8__linear",
        "to": "method:cho50r:activenodeid__implicit_return",
        "kind": "return",
        "line": 8,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.76,
    "lineSpan": {
      "start": 8,
      "end": 8
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "line": 8,
        "summary": "Control-flow fragment extracted for method ActiveNodeId.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:10q1pr:isloading__fragment",
    "ownerFileId": "file:1x9xhbs:iknowledgegraphservice-cs",
    "ownerSymbolId": "method:10q1pr:isloading",
    "ownerSymbolName": "IsLoading",
    "entryNodeId": "method:10q1pr:isloading__entry",
    "exitNodeIds": [
      "method:10q1pr:isloading__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:10q1pr:isloading__entry",
        "kind": "entry",
        "label": "IsLoading entry",
        "line": 9,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.99,
        "detail": "Read-only flag indicating whether the graph is currently loading."
      },
      {
        "id": "method:10q1pr:isloading__action_9_property_9__linear",
        "kind": "statement",
        "label": "read-only state",
        "line": 9,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7,
        "detail": "Getter-only boolean; implementations expose loading state."
      },
      {
        "id": "method:10q1pr:isloading__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 9,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:10q1pr:isloading__entry__method:10q1pr:isloading__action_9_property_9__linear",
        "from": "method:10q1pr:isloading__entry",
        "to": "method:10q1pr:isloading__action_9_property_9__linear",
        "kind": "next",
        "line": 9,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:10q1pr:isloading__action_9_property_9__linear__implicit_return",
        "from": "method:10q1pr:isloading__action_9_property_9__linear",
        "to": "method:10q1pr:isloading__implicit_return",
        "kind": "return",
        "line": 9,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.76,
    "lineSpan": {
      "start": 9,
      "end": 9
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "line": 9,
        "summary": "Control-flow fragment extracted for method IsLoading.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:88y0cc:ongraphupdated__fragment",
    "ownerFileId": "file:1x9xhbs:iknowledgegraphservice-cs",
    "ownerSymbolId": "method:88y0cc:ongraphupdated",
    "ownerSymbolName": "OnGraphUpdated",
    "entryNodeId": "method:88y0cc:ongraphupdated__entry",
    "exitNodeIds": [
      "method:88y0cc:ongraphupdated__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:88y0cc:ongraphupdated__entry",
        "kind": "entry",
        "label": "OnGraphUpdated entry",
        "line": 11,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.99,
        "detail": "Event raised when the graph data has been updated."
      },
      {
        "id": "method:88y0cc:ongraphupdated__action_11_event_11__linear",
        "kind": "statement",
        "label": "notification",
        "line": 11,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7,
        "detail": "Event delegate to notify subscribers after graph updates."
      },
      {
        "id": "method:88y0cc:ongraphupdated__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 11,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:88y0cc:ongraphupdated__entry__method:88y0cc:ongraphupdated__action_11_event_11__linear",
        "from": "method:88y0cc:ongraphupdated__entry",
        "to": "method:88y0cc:ongraphupdated__action_11_event_11__linear",
        "kind": "next",
        "line": 11,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:88y0cc:ongraphupdated__action_11_event_11__linear__implicit_return",
        "from": "method:88y0cc:ongraphupdated__action_11_event_11__linear",
        "to": "method:88y0cc:ongraphupdated__implicit_return",
        "kind": "return",
        "line": 11,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.76,
    "lineSpan": {
      "start": 11,
      "end": 11
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "line": 11,
        "summary": "Control-flow fragment extracted for method OnGraphUpdated.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:1d2tbk0:onactivenodechanged__fragment",
    "ownerFileId": "file:1x9xhbs:iknowledgegraphservice-cs",
    "ownerSymbolId": "method:1d2tbk0:onactivenodechanged",
    "ownerSymbolName": "OnActiveNodeChanged",
    "entryNodeId": "method:1d2tbk0:onactivenodechanged__entry",
    "exitNodeIds": [
      "method:1d2tbk0:onactivenodechanged__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:1d2tbk0:onactivenodechanged__entry",
        "kind": "entry",
        "label": "OnActiveNodeChanged entry",
        "line": 12,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.99,
        "detail": "Event raised when the active node changes, providing the new node id."
      },
      {
        "id": "method:1d2tbk0:onactivenodechanged__action_12_event_12__linear",
        "kind": "statement",
        "label": "notification with payload",
        "line": 12,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7,
        "detail": "Event delegate to notify subscribers with new active node id."
      },
      {
        "id": "method:1d2tbk0:onactivenodechanged__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 12,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:1d2tbk0:onactivenodechanged__entry__method:1d2tbk0:onactivenodechanged__action_12_event_12__linear",
        "from": "method:1d2tbk0:onactivenodechanged__entry",
        "to": "method:1d2tbk0:onactivenodechanged__action_12_event_12__linear",
        "kind": "next",
        "line": 12,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1d2tbk0:onactivenodechanged__action_12_event_12__linear__implicit_return",
        "from": "method:1d2tbk0:onactivenodechanged__action_12_event_12__linear",
        "to": "method:1d2tbk0:onactivenodechanged__implicit_return",
        "kind": "return",
        "line": 12,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.76,
    "lineSpan": {
      "start": 12,
      "end": 12
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "line": 12,
        "summary": "Control-flow fragment extracted for method OnActiveNodeChanged.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:1qc1jbv:onloadingchanged__fragment",
    "ownerFileId": "file:1x9xhbs:iknowledgegraphservice-cs",
    "ownerSymbolId": "method:1qc1jbv:onloadingchanged",
    "ownerSymbolName": "OnLoadingChanged",
    "entryNodeId": "method:1qc1jbv:onloadingchanged__entry",
    "exitNodeIds": [
      "method:1qc1jbv:onloadingchanged__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:1qc1jbv:onloadingchanged__entry",
        "kind": "entry",
        "label": "OnLoadingChanged entry",
        "line": 13,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.99,
        "detail": "Event raised when the loading state changes, providing the new boolean state."
      },
      {
        "id": "method:1qc1jbv:onloadingchanged__action_13_event_13__linear",
        "kind": "statement",
        "label": "notification with payload",
        "line": 13,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7,
        "detail": "Event delegate to notify subscribers about loading state changes."
      },
      {
        "id": "method:1qc1jbv:onloadingchanged__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 13,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:1qc1jbv:onloadingchanged__entry__method:1qc1jbv:onloadingchanged__action_13_event_13__linear",
        "from": "method:1qc1jbv:onloadingchanged__entry",
        "to": "method:1qc1jbv:onloadingchanged__action_13_event_13__linear",
        "kind": "next",
        "line": 13,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1qc1jbv:onloadingchanged__action_13_event_13__linear__implicit_return",
        "from": "method:1qc1jbv:onloadingchanged__action_13_event_13__linear",
        "to": "method:1qc1jbv:onloadingchanged__implicit_return",
        "kind": "return",
        "line": 13,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.76,
    "lineSpan": {
      "start": 13,
      "end": 13
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "line": 13,
        "summary": "Control-flow fragment extracted for method OnLoadingChanged.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:1gtjcaz:updategraph__fragment",
    "ownerFileId": "file:1x9xhbs:iknowledgegraphservice-cs",
    "ownerSymbolId": "method:1gtjcaz:updategraph",
    "ownerSymbolName": "UpdateGraph",
    "entryNodeId": "method:1gtjcaz:updategraph__entry",
    "exitNodeIds": [
      "method:1gtjcaz:updategraph__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:1gtjcaz:updategraph__entry",
        "kind": "entry",
        "label": "UpdateGraph entry",
        "line": 15,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.99,
        "detail": "Asynchronously replace or update the current graph data with newData and notify listeners."
      },
      {
        "id": "method:1gtjcaz:updategraph__action_15_state_change_15__linear",
        "kind": "statement",
        "label": "update graph data",
        "line": 15,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7,
        "detail": "Contract expects implementations to set CurrentGraphData to newData."
      },
      {
        "id": "method:1gtjcaz:updategraph__action_15_event_publish_15__linear",
        "kind": "publish-event",
        "label": "raise OnGraphUpdated",
        "line": 15,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7,
        "detail": "Implementation should trigger OnGraphUpdated after updating state."
      },
      {
        "id": "method:1gtjcaz:updategraph__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 15,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:1gtjcaz:updategraph__entry__method:1gtjcaz:updategraph__action_15_state_change_15__linear",
        "from": "method:1gtjcaz:updategraph__entry",
        "to": "method:1gtjcaz:updategraph__action_15_state_change_15__linear",
        "kind": "next",
        "line": 15,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1gtjcaz:updategraph__action_15_state_change_15__linear__method:1gtjcaz:updategraph__action_15_event_publish_15__linear",
        "from": "method:1gtjcaz:updategraph__action_15_state_change_15__linear",
        "to": "method:1gtjcaz:updategraph__action_15_event_publish_15__linear",
        "kind": "next",
        "line": 15,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1gtjcaz:updategraph__action_15_event_publish_15__linear__implicit_return",
        "from": "method:1gtjcaz:updategraph__action_15_event_publish_15__linear",
        "to": "method:1gtjcaz:updategraph__implicit_return",
        "kind": "return",
        "line": 15,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.7899999999999999,
    "lineSpan": {
      "start": 15,
      "end": 15
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "line": 15,
        "summary": "Control-flow fragment extracted for method UpdateGraph.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:p6r8md:setactivenode__fragment",
    "ownerFileId": "file:1x9xhbs:iknowledgegraphservice-cs",
    "ownerSymbolId": "method:p6r8md:setactivenode",
    "ownerSymbolName": "SetActiveNode",
    "entryNodeId": "method:p6r8md:setactivenode__entry",
    "exitNodeIds": [
      "method:p6r8md:setactivenode__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:p6r8md:setactivenode__entry",
        "kind": "entry",
        "label": "SetActiveNode entry",
        "line": 16,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.99,
        "detail": "Asynchronously set the active node by id and notify subscribers of the change."
      },
      {
        "id": "method:p6r8md:setactivenode__action_16_state_change_16__linear",
        "kind": "statement",
        "label": "set active node",
        "line": 16,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7,
        "detail": "Contract expects implementations to update ActiveNodeId to nodeId."
      },
      {
        "id": "method:p6r8md:setactivenode__action_16_event_publish_16__linear",
        "kind": "publish-event",
        "label": "raise OnActiveNodeChanged",
        "line": 16,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7,
        "detail": "Implementation should trigger OnActiveNodeChanged with nodeId after change."
      },
      {
        "id": "method:p6r8md:setactivenode__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 16,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:p6r8md:setactivenode__entry__method:p6r8md:setactivenode__action_16_state_change_16__linear",
        "from": "method:p6r8md:setactivenode__entry",
        "to": "method:p6r8md:setactivenode__action_16_state_change_16__linear",
        "kind": "next",
        "line": 16,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:p6r8md:setactivenode__action_16_state_change_16__linear__method:p6r8md:setactivenode__action_16_event_publish_16__linear",
        "from": "method:p6r8md:setactivenode__action_16_state_change_16__linear",
        "to": "method:p6r8md:setactivenode__action_16_event_publish_16__linear",
        "kind": "next",
        "line": 16,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:p6r8md:setactivenode__action_16_event_publish_16__linear__implicit_return",
        "from": "method:p6r8md:setactivenode__action_16_event_publish_16__linear",
        "to": "method:p6r8md:setactivenode__implicit_return",
        "kind": "return",
        "line": 16,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.7899999999999999,
    "lineSpan": {
      "start": 16,
      "end": 16
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "line": 16,
        "summary": "Control-flow fragment extracted for method SetActiveNode.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:x4s1g:setloading__fragment",
    "ownerFileId": "file:1x9xhbs:iknowledgegraphservice-cs",
    "ownerSymbolId": "method:x4s1g:setloading",
    "ownerSymbolName": "SetLoading",
    "entryNodeId": "method:x4s1g:setloading__entry",
    "exitNodeIds": [
      "method:x4s1g:setloading__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:x4s1g:setloading__entry",
        "kind": "entry",
        "label": "SetLoading entry",
        "line": 17,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.99,
        "detail": "Asynchronously set the loading flag and notify listeners."
      },
      {
        "id": "method:x4s1g:setloading__action_17_state_change_17__linear",
        "kind": "statement",
        "label": "set loading flag",
        "line": 17,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7,
        "detail": "Contract expects implementations to set IsLoading to isLoading."
      },
      {
        "id": "method:x4s1g:setloading__action_17_event_publish_17__linear",
        "kind": "publish-event",
        "label": "raise OnLoadingChanged",
        "line": 17,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7,
        "detail": "Implementation should trigger OnLoadingChanged with the new boolean value."
      },
      {
        "id": "method:x4s1g:setloading__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 17,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:x4s1g:setloading__entry__method:x4s1g:setloading__action_17_state_change_17__linear",
        "from": "method:x4s1g:setloading__entry",
        "to": "method:x4s1g:setloading__action_17_state_change_17__linear",
        "kind": "next",
        "line": 17,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:x4s1g:setloading__action_17_state_change_17__linear__method:x4s1g:setloading__action_17_event_publish_17__linear",
        "from": "method:x4s1g:setloading__action_17_state_change_17__linear",
        "to": "method:x4s1g:setloading__action_17_event_publish_17__linear",
        "kind": "next",
        "line": 17,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:x4s1g:setloading__action_17_event_publish_17__linear__implicit_return",
        "from": "method:x4s1g:setloading__action_17_event_publish_17__linear",
        "to": "method:x4s1g:setloading__implicit_return",
        "kind": "return",
        "line": 17,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.7899999999999999,
    "lineSpan": {
      "start": 17,
      "end": 17
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "line": 17,
        "summary": "Control-flow fragment extracted for method SetLoading.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:1uy10ke:clear__fragment",
    "ownerFileId": "file:1x9xhbs:iknowledgegraphservice-cs",
    "ownerSymbolId": "method:1uy10ke:clear",
    "ownerSymbolName": "Clear",
    "entryNodeId": "method:1uy10ke:clear__entry",
    "exitNodeIds": [
      "method:1uy10ke:clear__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:1uy10ke:clear__entry",
        "kind": "entry",
        "label": "Clear entry",
        "line": 18,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.99,
        "detail": "Asynchronously clear the current graph state (reset data, active node, loading) and notify subscribers."
      },
      {
        "id": "method:1uy10ke:clear__action_18_event_publish_18__linear",
        "kind": "publish-event",
        "label": "raise related events",
        "line": 18,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7,
        "detail": "Implementation should raise OnGraphUpdated/OnActiveNodeChanged/OnLoadingChanged as appropriate after clearing."
      },
      {
        "id": "method:1uy10ke:clear__action_18_state_change_18__linear",
        "kind": "statement",
        "label": "clear state",
        "line": 18,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7,
        "detail": "Implementation should clear CurrentGraphData and ActiveNodeId and reset IsLoading."
      },
      {
        "id": "method:1uy10ke:clear__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 18,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:1uy10ke:clear__entry__method:1uy10ke:clear__action_18_event_publish_18__linear",
        "from": "method:1uy10ke:clear__entry",
        "to": "method:1uy10ke:clear__action_18_event_publish_18__linear",
        "kind": "next",
        "line": 18,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1uy10ke:clear__action_18_event_publish_18__linear__method:1uy10ke:clear__action_18_state_change_18__linear",
        "from": "method:1uy10ke:clear__action_18_event_publish_18__linear",
        "to": "method:1uy10ke:clear__action_18_state_change_18__linear",
        "kind": "next",
        "line": 18,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1uy10ke:clear__action_18_state_change_18__linear__implicit_return",
        "from": "method:1uy10ke:clear__action_18_state_change_18__linear",
        "to": "method:1uy10ke:clear__implicit_return",
        "kind": "return",
        "line": 18,
        "sourcePath": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.7899999999999999,
    "lineSpan": {
      "start": 18,
      "end": 18
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.UI.Shared/Services/IKnowledgeGraphService.cs",
        "line": 18,
        "summary": "Control-flow fragment extracted for method Clear.",
        "kind": "file-summary"
      }
    ]
  }
]