{
  "version": 1,
  "generatedAt": "2026-05-25T11:41:33.166Z",
  "fileId": "file:uvydt4:knowledgecoordinator-cs",
  "executableScope": true,
  "executableSymbolCount": 12,
  "fileNodeId": "file:uvydt4:knowledgecoordinator-cs",
  "symbolNodeIds": [
    "class:1cca8vk:knowledgecoordinator",
    "method:1b2nffa:knowledgecoordinator",
    "method:t1zuul:handlenodeselected",
    "method:1x9gjeq:processfullpageasync",
    "method:1pdmx9l:onblockreachedasync",
    "method:2y4xzb:requestsummaryandquizasync",
    "method:b6ndo3:clearasync",
    "method:1wlwqp0:dispose",
    "method:1ip44st:loggeneratinggraph",
    "method:1nzct8x:loggrapherror",
    "method:1sfi79b:logrequestingsummary",
    "method:arton1:logsummarywarning",
    "method:1z06px6:logsummaryerror"
  ],
  "containmentEdgeIds": [
    "edge:1sn9c64:contains",
    "edge:76m28i:contains",
    "edge:2jjsq8:contains",
    "edge:otetea:contains",
    "edge:kqqa9:contains",
    "edge:1yw7bnu:contains",
    "edge:n8z271:contains",
    "edge:12zcu4z:contains",
    "edge:63b7xv:contains",
    "edge:1o2jeha:contains",
    "edge:14wrnma:contains",
    "edge:6a1hl3:contains",
    "edge:92gzn7:contains"
  ],
  "relationshipEdgeIds": [
    "edge:1sn9c64:contains",
    "edge:76m28i:contains",
    "edge:2jjsq8:contains",
    "edge:otetea:contains",
    "edge:kqqa9:contains",
    "edge:1yw7bnu:contains",
    "edge:n8z271:contains",
    "edge:12zcu4z:contains",
    "edge:63b7xv:contains",
    "edge:1o2jeha:contains",
    "edge:14wrnma:contains",
    "edge:6a1hl3:contains",
    "edge:92gzn7:contains"
  ],
  "integrationEdgeIds": [],
  "controlFlowFragments": [
    {
      "fragmentId": "method:1b2nffa:knowledgecoordinator__fragment",
      "ownerFileId": "file:uvydt4:knowledgecoordinator-cs",
      "ownerSymbolId": "method:1b2nffa:knowledgecoordinator",
      "ownerSymbolName": "KnowledgeCoordinator",
      "entryNodeId": "method:1b2nffa:knowledgecoordinator__entry",
      "exitNodeIds": [
        "method:1b2nffa:knowledgecoordinator__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:1b2nffa:knowledgecoordinator__entry",
          "kind": "entry",
          "label": "KnowledgeCoordinator entry",
          "line": 26,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.99,
          "detail": "Constructs the coordinator, stores injected services and subscribes to node-selection events from the interaction service."
        },
        {
          "id": "method:1b2nffa:knowledgecoordinator__action_34_assignment_34__linear",
          "kind": "statement",
          "label": "Store injected services",
          "line": 34,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "assign constructor args to private fields"
        },
        {
          "id": "method:1b2nffa:knowledgecoordinator__action_41_event_subscribe_41__linear",
          "kind": "statement",
          "label": "Subscribe to node selection",
          "line": 41,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "_interactionService.OnNodeSelected += HandleNodeSelected"
        },
        {
          "id": "method:1b2nffa:knowledgecoordinator__call_41_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
          "kind": "call",
          "label": "IReaderInteractionService.OnNodeSelected += HandleNodeSelected",
          "line": 41,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "event handler HandleNodeSelected"
        },
        {
          "id": "method:1b2nffa:knowledgecoordinator__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 42,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:1b2nffa:knowledgecoordinator__entry__method:1b2nffa:knowledgecoordinator__action_34_assignment_34__linear",
          "from": "method:1b2nffa:knowledgecoordinator__entry",
          "to": "method:1b2nffa:knowledgecoordinator__action_34_assignment_34__linear",
          "kind": "next",
          "line": 34,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1b2nffa:knowledgecoordinator__action_34_assignment_34__linear__method:1b2nffa:knowledgecoordinator__action_41_event_subscribe_41__linear",
          "from": "method:1b2nffa:knowledgecoordinator__action_34_assignment_34__linear",
          "to": "method:1b2nffa:knowledgecoordinator__action_41_event_subscribe_41__linear",
          "kind": "next",
          "line": 41,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1b2nffa:knowledgecoordinator__action_41_event_subscribe_41__linear__call_method:1b2nffa:knowledgecoordinator__call_41_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
          "from": "method:1b2nffa:knowledgecoordinator__action_41_event_subscribe_41__linear",
          "to": "method:1b2nffa:knowledgecoordinator__call_41_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
          "kind": "call",
          "label": "event handler HandleNodeSelected",
          "line": 41,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:1b2nffa:knowledgecoordinator__call_41_IReaderInteractionService_OnNodeSelected_HandleNodeSelected__implicit_return",
          "from": "method:1b2nffa:knowledgecoordinator__call_41_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
          "to": "method:1b2nffa:knowledgecoordinator__implicit_return",
          "kind": "return",
          "line": 42,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [
        {
          "id": "method:1b2nffa:knowledgecoordinator__call_41_IReaderInteractionService_OnNodeSelected_HandleNodeSelected__jump_unknown_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
          "fromNodeId": "method:1b2nffa:knowledgecoordinator__call_41_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
          "kind": "call-target",
          "targetPath": "unknown",
          "targetHint": "IReaderInteractionService.OnNodeSelected += HandleNodeSelected",
          "line": 41,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target IReaderInteractionService.OnNodeSelected += HandleNodeSelected in unknown could not be matched to an extracted method symbol.",
          "status": "unresolved"
        }
      ],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.7699999999999999,
      "lineSpan": {
        "start": 26,
        "end": 42
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "line": 26,
          "summary": "Control-flow fragment extracted for method KnowledgeCoordinator.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:t1zuul:handlenodeselected__fragment",
      "ownerFileId": "file:uvydt4:knowledgecoordinator-cs",
      "ownerSymbolId": "method:t1zuul:handlenodeselected",
      "ownerSymbolName": "HandleNodeSelected",
      "entryNodeId": "method:t1zuul:handlenodeselected__entry",
      "exitNodeIds": [
        "method:t1zuul:handlenodeselected__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:t1zuul:handlenodeselected__entry",
          "kind": "entry",
          "label": "HandleNodeSelected entry",
          "line": 44,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.99,
          "detail": "Handles a node selection event from UI: resolves a target block id (preferring connected 'current' block), then requests scrolling and highlighting of that block."
        },
        {
          "id": "method:t1zuul:handlenodeselected__call_48_IKnowledgeGraphService_CurrentGraphData",
          "kind": "call",
          "label": "IKnowledgeGraphService.CurrentGraphData",
          "line": 48,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "none (property read)"
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_49_guard_clause_49__condition",
          "kind": "condition",
          "label": "graph != null",
          "line": 49,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "if graph exists, search nodes and links"
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_49_guard_clause_49__true",
          "kind": "branch-true",
          "label": "skip resolution",
          "line": 49,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_49_guard_clause_49__false",
          "kind": "branch-false",
          "label": "resolve connected block",
          "line": 49,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_49_guard_clause_49__merge",
          "kind": "statement",
          "label": "merge",
          "line": 49,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__condition",
          "kind": "condition",
          "label": "graph != null",
          "line": 49,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78,
          "detail": "if (graph != null)"
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__true",
          "kind": "branch-true",
          "label": "true",
          "line": 49,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__false",
          "kind": "branch-false",
          "label": "false",
          "line": 49,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__merge",
          "kind": "statement",
          "label": "merge",
          "line": 49,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_51_handlenodeselected_repository_read_51_1__linear",
          "kind": "db-read",
          "label": "Reads repository or persistence state",
          "line": 51,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.86,
          "detail": "var selectedNode = graph.Nodes.FirstOrDefault(n => n.Id == nodeId);"
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_52_branch_52__condition",
          "kind": "condition",
          "label": "selectedNode.Group == \"concept\"",
          "line": 52,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "if a concept node, search links for a connected 'current' node and set targetBlockId"
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_52_branch_52__true",
          "kind": "branch-true",
          "label": "search connected links",
          "line": 52,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_52_branch_52__false",
          "kind": "branch-false",
          "label": "use nodeId as block",
          "line": 52,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_52_branch_52__merge",
          "kind": "statement",
          "label": "merge",
          "line": 52,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__condition",
          "kind": "condition",
          "label": "selectedNode != null && selectedNode.Group == \"concept\"",
          "line": 52,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78,
          "detail": "if (selectedNode != null && selectedNode.Group == \"concept\")"
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__true",
          "kind": "branch-true",
          "label": "true",
          "line": 52,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__false",
          "kind": "branch-false",
          "label": "false",
          "line": 52,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__merge",
          "kind": "statement",
          "label": "merge",
          "line": 52,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_55_handlenodeselected_repository_read_55_3__linear",
          "kind": "db-read",
          "label": "Reads repository or persistence state",
          "line": 55,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.86,
          "detail": "var connectedLinks = graph.Links.Where(l => l.Source == nodeId || l.Target == nodeId).ToList();"
        },
        {
          "id": "method:t1zuul:handlenodeselected__call_55_HandleNodeSelected_internal_loop_logic_",
          "kind": "call",
          "label": "HandleNodeSelected (internal loop logic)",
          "line": 55,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "iterates graph.Links to find connected 'current' node"
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry",
          "kind": "loop-entry",
          "label": "var link in connectedLinks",
          "line": 56,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.86,
          "detail": "foreach (var link in connectedLinks)"
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_body",
          "kind": "loop-body",
          "label": "foreach (var link in connectedLinks)",
          "line": 56,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.86
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_exit",
          "kind": "loop-exit",
          "label": "Leaves the loop when the condition no longer holds.",
          "line": 56,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.86
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_56_loop_56__loop_entry",
          "kind": "loop-entry",
          "label": "Iterate links",
          "line": 56,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "foreach link in connectedLinks inspect other node"
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_56_loop_56__loop_body",
          "kind": "loop-body",
          "label": "foreach link in connectedLinks inspect other node",
          "line": 56,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_56_loop_56__loop_exit",
          "kind": "loop-exit",
          "label": "exit loop",
          "line": 56,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_59_handlenodeselected_repository_read_59_5__linear",
          "kind": "db-read",
          "label": "Reads repository or persistence state",
          "line": 59,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.86,
          "detail": "var otherNode = graph.Nodes.FirstOrDefault(n => n.Id == otherId);"
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__condition",
          "kind": "condition",
          "label": "otherNode != null && otherNode.Group == \"current\"",
          "line": 60,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78,
          "detail": "if (otherNode != null && otherNode.Group == \"current\")"
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__true",
          "kind": "branch-true",
          "label": "true",
          "line": 60,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__false",
          "kind": "branch-false",
          "label": "false",
          "line": 60,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__merge",
          "kind": "statement",
          "label": "merge",
          "line": 60,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__condition",
          "kind": "condition",
          "label": "!string.IsNullOrEmpty(targetBlockId)",
          "line": 69,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78,
          "detail": "if (!string.IsNullOrEmpty(targetBlockId))"
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__true",
          "kind": "branch-true",
          "label": "true",
          "line": 69,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__false",
          "kind": "branch-false",
          "label": "false",
          "line": 69,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__merge",
          "kind": "statement",
          "label": "merge",
          "line": 69,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_71_handlenodeselected_await_71_8__await",
          "kind": "await",
          "label": "Waits for async work",
          "line": 71,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81,
          "detail": "await _interactionService.RequestScrollToBlock(targetBlockId);"
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_71_external_call_71__linear",
          "kind": "http-call",
          "label": "Scroll and highlight",
          "line": 71,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "calls interaction service to scroll and highlight target block"
        },
        {
          "id": "method:t1zuul:handlenodeselected__call_71_IReaderInteractionService_RequestScrollToBlock",
          "kind": "call",
          "label": "IReaderInteractionService.RequestScrollToBlock",
          "line": 71,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "targetBlockId"
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_72_handlenodeselected_await_72_9__await",
          "kind": "await",
          "label": "Waits for async work",
          "line": 72,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81,
          "detail": "await _interactionService.RequestHighlightBlock(targetBlockId);"
        },
        {
          "id": "method:t1zuul:handlenodeselected__call_72_IReaderInteractionService_RequestHighlightBlock",
          "kind": "call",
          "label": "IReaderInteractionService.RequestHighlightBlock",
          "line": 72,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "targetBlockId"
        },
        {
          "id": "method:t1zuul:handlenodeselected__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 74,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:t1zuul:handlenodeselected__entry__call_method:t1zuul:handlenodeselected__call_48_IKnowledgeGraphService_CurrentGraphData",
          "from": "method:t1zuul:handlenodeselected__entry",
          "to": "method:t1zuul:handlenodeselected__call_48_IKnowledgeGraphService_CurrentGraphData",
          "kind": "call",
          "label": "none (property read)",
          "line": 48,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:t1zuul:handlenodeselected__call_48_IKnowledgeGraphService_CurrentGraphData__method:t1zuul:handlenodeselected__action_49_guard_clause_49__condition",
          "from": "method:t1zuul:handlenodeselected__call_48_IKnowledgeGraphService_CurrentGraphData",
          "to": "method:t1zuul:handlenodeselected__action_49_guard_clause_49__condition",
          "kind": "next",
          "line": 49,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_49_guard_clause_49__condition__method:t1zuul:handlenodeselected__action_49_guard_clause_49__true",
          "from": "method:t1zuul:handlenodeselected__action_49_guard_clause_49__condition",
          "to": "method:t1zuul:handlenodeselected__action_49_guard_clause_49__true",
          "kind": "condition-true",
          "label": "skip resolution",
          "line": 49,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_49_guard_clause_49__condition__method:t1zuul:handlenodeselected__action_49_guard_clause_49__false",
          "from": "method:t1zuul:handlenodeselected__action_49_guard_clause_49__condition",
          "to": "method:t1zuul:handlenodeselected__action_49_guard_clause_49__false",
          "kind": "condition-false",
          "label": "resolve connected block",
          "line": 49,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_49_guard_clause_49__true__method:t1zuul:handlenodeselected__action_49_guard_clause_49__merge",
          "from": "method:t1zuul:handlenodeselected__action_49_guard_clause_49__true",
          "to": "method:t1zuul:handlenodeselected__action_49_guard_clause_49__merge",
          "kind": "next",
          "line": 49,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_49_guard_clause_49__false__method:t1zuul:handlenodeselected__action_49_guard_clause_49__merge",
          "from": "method:t1zuul:handlenodeselected__action_49_guard_clause_49__false",
          "to": "method:t1zuul:handlenodeselected__action_49_guard_clause_49__merge",
          "kind": "next",
          "line": 49,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_49_guard_clause_49__merge__method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__condition",
          "from": "method:t1zuul:handlenodeselected__action_49_guard_clause_49__merge",
          "to": "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__condition",
          "kind": "next",
          "line": 49,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__condition__method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__true",
          "from": "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__condition",
          "to": "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__true",
          "kind": "condition-true",
          "label": "true",
          "line": 49,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__condition__method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__false",
          "from": "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__condition",
          "to": "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__false",
          "kind": "condition-false",
          "label": "false",
          "line": 49,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__true__method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__merge",
          "from": "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__true",
          "to": "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__merge",
          "kind": "next",
          "line": 49,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__false__method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__merge",
          "from": "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__false",
          "to": "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__merge",
          "kind": "next",
          "line": 49,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__merge__method:t1zuul:handlenodeselected__action_51_handlenodeselected_repository_read_51_1__linear",
          "from": "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__merge",
          "to": "method:t1zuul:handlenodeselected__action_51_handlenodeselected_repository_read_51_1__linear",
          "kind": "next",
          "line": 51,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.86
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_51_handlenodeselected_repository_read_51_1__linear__method:t1zuul:handlenodeselected__action_52_branch_52__condition",
          "from": "method:t1zuul:handlenodeselected__action_51_handlenodeselected_repository_read_51_1__linear",
          "to": "method:t1zuul:handlenodeselected__action_52_branch_52__condition",
          "kind": "next",
          "line": 52,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_52_branch_52__condition__method:t1zuul:handlenodeselected__action_52_branch_52__true",
          "from": "method:t1zuul:handlenodeselected__action_52_branch_52__condition",
          "to": "method:t1zuul:handlenodeselected__action_52_branch_52__true",
          "kind": "condition-true",
          "label": "search connected links",
          "line": 52,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_52_branch_52__condition__method:t1zuul:handlenodeselected__action_52_branch_52__false",
          "from": "method:t1zuul:handlenodeselected__action_52_branch_52__condition",
          "to": "method:t1zuul:handlenodeselected__action_52_branch_52__false",
          "kind": "condition-false",
          "label": "use nodeId as block",
          "line": 52,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_52_branch_52__true__method:t1zuul:handlenodeselected__action_52_branch_52__merge",
          "from": "method:t1zuul:handlenodeselected__action_52_branch_52__true",
          "to": "method:t1zuul:handlenodeselected__action_52_branch_52__merge",
          "kind": "next",
          "line": 52,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_52_branch_52__false__method:t1zuul:handlenodeselected__action_52_branch_52__merge",
          "from": "method:t1zuul:handlenodeselected__action_52_branch_52__false",
          "to": "method:t1zuul:handlenodeselected__action_52_branch_52__merge",
          "kind": "next",
          "line": 52,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_52_branch_52__merge__method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__condition",
          "from": "method:t1zuul:handlenodeselected__action_52_branch_52__merge",
          "to": "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__condition",
          "kind": "next",
          "line": 52,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__condition__method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__true",
          "from": "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__condition",
          "to": "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__true",
          "kind": "condition-true",
          "label": "true",
          "line": 52,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__condition__method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__false",
          "from": "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__condition",
          "to": "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__false",
          "kind": "condition-false",
          "label": "false",
          "line": 52,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__true__method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__merge",
          "from": "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__true",
          "to": "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__merge",
          "kind": "next",
          "line": 52,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__false__method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__merge",
          "from": "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__false",
          "to": "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__merge",
          "kind": "next",
          "line": 52,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__merge__method:t1zuul:handlenodeselected__action_55_handlenodeselected_repository_read_55_3__linear",
          "from": "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__merge",
          "to": "method:t1zuul:handlenodeselected__action_55_handlenodeselected_repository_read_55_3__linear",
          "kind": "next",
          "line": 55,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.86
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_55_handlenodeselected_repository_read_55_3__linear__call_method:t1zuul:handlenodeselected__call_55_HandleNodeSelected_internal_loop_logic_",
          "from": "method:t1zuul:handlenodeselected__action_55_handlenodeselected_repository_read_55_3__linear",
          "to": "method:t1zuul:handlenodeselected__call_55_HandleNodeSelected_internal_loop_logic_",
          "kind": "call",
          "label": "iterates graph.Links to find connected 'current' node",
          "line": 55,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:t1zuul:handlenodeselected__call_55_HandleNodeSelected_internal_loop_logic___method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry",
          "from": "method:t1zuul:handlenodeselected__call_55_HandleNodeSelected_internal_loop_logic_",
          "to": "method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry",
          "kind": "next",
          "line": 56,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.86
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry__method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_body",
          "from": "method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry",
          "to": "method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_body",
          "kind": "loop-body",
          "label": "var link in connectedLinks",
          "line": 56,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.86
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_body__method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry",
          "from": "method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_body",
          "to": "method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry",
          "kind": "loop-back",
          "label": "continue",
          "line": 56,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.86
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry__method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_exit",
          "from": "method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry",
          "to": "method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_exit",
          "kind": "loop-exit",
          "label": "Leaves the loop when the condition no longer holds.",
          "line": 56,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.86
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_exit__method:t1zuul:handlenodeselected__action_56_loop_56__loop_entry",
          "from": "method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_exit",
          "to": "method:t1zuul:handlenodeselected__action_56_loop_56__loop_entry",
          "kind": "next",
          "line": 56,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_56_loop_56__loop_entry__method:t1zuul:handlenodeselected__action_56_loop_56__loop_body",
          "from": "method:t1zuul:handlenodeselected__action_56_loop_56__loop_entry",
          "to": "method:t1zuul:handlenodeselected__action_56_loop_56__loop_body",
          "kind": "loop-body",
          "label": "iterate",
          "line": 56,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_56_loop_56__loop_body__method:t1zuul:handlenodeselected__action_56_loop_56__loop_entry",
          "from": "method:t1zuul:handlenodeselected__action_56_loop_56__loop_body",
          "to": "method:t1zuul:handlenodeselected__action_56_loop_56__loop_entry",
          "kind": "loop-back",
          "label": "continue",
          "line": 56,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_56_loop_56__loop_entry__method:t1zuul:handlenodeselected__action_56_loop_56__loop_exit",
          "from": "method:t1zuul:handlenodeselected__action_56_loop_56__loop_entry",
          "to": "method:t1zuul:handlenodeselected__action_56_loop_56__loop_exit",
          "kind": "loop-exit",
          "label": "exit",
          "line": 56,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_56_loop_56__loop_exit__method:t1zuul:handlenodeselected__action_59_handlenodeselected_repository_read_59_5__linear",
          "from": "method:t1zuul:handlenodeselected__action_56_loop_56__loop_exit",
          "to": "method:t1zuul:handlenodeselected__action_59_handlenodeselected_repository_read_59_5__linear",
          "kind": "next",
          "line": 59,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.86
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_59_handlenodeselected_repository_read_59_5__linear__method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__condition",
          "from": "method:t1zuul:handlenodeselected__action_59_handlenodeselected_repository_read_59_5__linear",
          "to": "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__condition",
          "kind": "next",
          "line": 60,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__condition__method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__true",
          "from": "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__condition",
          "to": "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__true",
          "kind": "condition-true",
          "label": "true",
          "line": 60,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__condition__method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__false",
          "from": "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__condition",
          "to": "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__false",
          "kind": "condition-false",
          "label": "false",
          "line": 60,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__true__method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__merge",
          "from": "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__true",
          "to": "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__merge",
          "kind": "next",
          "line": 60,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__false__method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__merge",
          "from": "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__false",
          "to": "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__merge",
          "kind": "next",
          "line": 60,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__merge__method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__condition",
          "from": "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__merge",
          "to": "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__condition",
          "kind": "next",
          "line": 69,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__condition__method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__true",
          "from": "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__condition",
          "to": "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__true",
          "kind": "condition-true",
          "label": "true",
          "line": 69,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__condition__method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__false",
          "from": "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__condition",
          "to": "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__false",
          "kind": "condition-false",
          "label": "false",
          "line": 69,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__true__method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__merge",
          "from": "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__true",
          "to": "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__merge",
          "kind": "next",
          "line": 69,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__false__method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__merge",
          "from": "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__false",
          "to": "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__merge",
          "kind": "next",
          "line": 69,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__merge__method:t1zuul:handlenodeselected__action_71_handlenodeselected_await_71_8__await",
          "from": "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__merge",
          "to": "method:t1zuul:handlenodeselected__action_71_handlenodeselected_await_71_8__await",
          "kind": "next",
          "line": 71,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_71_handlenodeselected_await_71_8__await__method:t1zuul:handlenodeselected__action_71_external_call_71__linear",
          "from": "method:t1zuul:handlenodeselected__action_71_handlenodeselected_await_71_8__await",
          "to": "method:t1zuul:handlenodeselected__action_71_external_call_71__linear",
          "kind": "next",
          "line": 71,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_71_external_call_71__linear__call_method:t1zuul:handlenodeselected__call_71_IReaderInteractionService_RequestScrollToBlock",
          "from": "method:t1zuul:handlenodeselected__action_71_external_call_71__linear",
          "to": "method:t1zuul:handlenodeselected__call_71_IReaderInteractionService_RequestScrollToBlock",
          "kind": "call",
          "label": "targetBlockId",
          "line": 71,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:t1zuul:handlenodeselected__call_71_IReaderInteractionService_RequestScrollToBlock__method:t1zuul:handlenodeselected__action_72_handlenodeselected_await_72_9__await",
          "from": "method:t1zuul:handlenodeselected__call_71_IReaderInteractionService_RequestScrollToBlock",
          "to": "method:t1zuul:handlenodeselected__action_72_handlenodeselected_await_72_9__await",
          "kind": "next",
          "line": 72,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81
        },
        {
          "id": "method:t1zuul:handlenodeselected__action_72_handlenodeselected_await_72_9__await__call_method:t1zuul:handlenodeselected__call_72_IReaderInteractionService_RequestHighlightBlock",
          "from": "method:t1zuul:handlenodeselected__action_72_handlenodeselected_await_72_9__await",
          "to": "method:t1zuul:handlenodeselected__call_72_IReaderInteractionService_RequestHighlightBlock",
          "kind": "call",
          "label": "targetBlockId",
          "line": 72,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:t1zuul:handlenodeselected__call_72_IReaderInteractionService_RequestHighlightBlock__implicit_return",
          "from": "method:t1zuul:handlenodeselected__call_72_IReaderInteractionService_RequestHighlightBlock",
          "to": "method:t1zuul:handlenodeselected__implicit_return",
          "kind": "return",
          "line": 74,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [
        {
          "id": "method:t1zuul:handlenodeselected__call_48_IKnowledgeGraphService_CurrentGraphData__jump_unknown_IKnowledgeGraphService_CurrentGraphData",
          "fromNodeId": "method:t1zuul:handlenodeselected__call_48_IKnowledgeGraphService_CurrentGraphData",
          "kind": "call-target",
          "targetPath": "unknown",
          "targetHint": "IKnowledgeGraphService.CurrentGraphData",
          "line": 48,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target IKnowledgeGraphService.CurrentGraphData in unknown could not be matched to an extracted method symbol.",
          "status": "unresolved"
        },
        {
          "id": "method:t1zuul:handlenodeselected__call_55_HandleNodeSelected_internal_loop_logic___jump_NexusReader_UI_Shared_Services_KnowledgeCoordinator_cs_HandleNodeSelected_internal_loop_logic_",
          "fromNodeId": "method:t1zuul:handlenodeselected__call_55_HandleNodeSelected_internal_loop_logic_",
          "kind": "call-target",
          "targetPath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "targetHint": "HandleNodeSelected (internal loop logic)",
          "line": 55,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target HandleNodeSelected (internal loop logic) in NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs could not be matched to an extracted method symbol.",
          "status": "unresolved"
        },
        {
          "id": "method:t1zuul:handlenodeselected__call_71_IReaderInteractionService_RequestScrollToBlock__jump_unknown_IReaderInteractionService_RequestScrollToBlock",
          "fromNodeId": "method:t1zuul:handlenodeselected__call_71_IReaderInteractionService_RequestScrollToBlock",
          "kind": "call-target",
          "targetPath": "unknown",
          "targetHint": "IReaderInteractionService.RequestScrollToBlock",
          "line": 71,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target IReaderInteractionService.RequestScrollToBlock in unknown could not be matched to an extracted method symbol.",
          "status": "unresolved"
        },
        {
          "id": "method:t1zuul:handlenodeselected__call_72_IReaderInteractionService_RequestHighlightBlock__jump_unknown_IReaderInteractionService_RequestHighlightBlock",
          "fromNodeId": "method:t1zuul:handlenodeselected__call_72_IReaderInteractionService_RequestHighlightBlock",
          "kind": "call-target",
          "targetPath": "unknown",
          "targetHint": "IReaderInteractionService.RequestHighlightBlock",
          "line": 72,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target IReaderInteractionService.RequestHighlightBlock in unknown could not be matched to an extracted method symbol.",
          "status": "unresolved"
        }
      ],
      "exceptionTargets": [],
      "loopBackEdges": [
        "method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_body__method:t1zuul:handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry",
        "method:t1zuul:handlenodeselected__action_56_loop_56__loop_body__method:t1zuul:handlenodeselected__action_56_loop_56__loop_entry"
      ],
      "mergeNodeIds": [
        "method:t1zuul:handlenodeselected__action_49_guard_clause_49__merge",
        "method:t1zuul:handlenodeselected__action_49_handlenodeselected_branch_49_0__merge",
        "method:t1zuul:handlenodeselected__action_52_branch_52__merge",
        "method:t1zuul:handlenodeselected__action_52_handlenodeselected_branch_52_2__merge",
        "method:t1zuul:handlenodeselected__action_60_handlenodeselected_branch_60_6__merge",
        "method:t1zuul:handlenodeselected__action_69_handlenodeselected_branch_69_7__merge"
      ],
      "language": "csharp",
      "confidence": 0.98,
      "lineSpan": {
        "start": 44,
        "end": 74
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "line": 44,
          "summary": "Control-flow fragment extracted for method HandleNodeSelected.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:1x9gjeq:processfullpageasync__fragment",
      "ownerFileId": "file:uvydt4:knowledgecoordinator-cs",
      "ownerSymbolId": "method:1x9gjeq:processfullpageasync",
      "ownerSymbolName": "ProcessFullPageAsync",
      "entryNodeId": "method:1x9gjeq:processfullpageasync__entry",
      "exitNodeIds": [
        "method:1x9gjeq:processfullpageasync__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:1x9gjeq:processfullpageasync__entry",
          "kind": "entry",
          "label": "ProcessFullPageAsync entry",
          "line": 76,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.99,
          "detail": "Given full page content, clears and sets graph loading, requests graph data from knowledge service, updates the graph, invokes OnGraphUpdated event, and triggers success vibration; errors are logged."
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__condition",
          "kind": "condition",
          "label": "string.IsNullOrWhiteSpace(fullContent)",
          "line": 78,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "returns immediately if no content"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__true",
          "kind": "branch-true",
          "label": "return",
          "line": 78,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__false",
          "kind": "branch-false",
          "label": "continue",
          "line": 78,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__merge",
          "kind": "statement",
          "label": "merge",
          "line": 78,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__condition",
          "kind": "condition",
          "label": "string.IsNullOrWhiteSpace(fullContent)",
          "line": 78,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.9,
          "detail": "if (string.IsNullOrWhiteSpace(fullContent)) return;"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__true",
          "kind": "branch-true",
          "label": "exit",
          "line": 78,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.9
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__false",
          "kind": "branch-false",
          "label": "continue",
          "line": 78,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.9
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__merge",
          "kind": "statement",
          "label": "merge",
          "line": 78,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.9
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_80_log_80__linear",
          "kind": "statement",
          "label": "Start generating graph",
          "line": 80,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "LogGeneratingGraph(tenantId)"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_80_LogGeneratingGraph",
          "kind": "call",
          "label": "LogGeneratingGraph",
          "line": 80,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "tenantId"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_82_processfullpageasync_await_82_1__await",
          "kind": "await",
          "label": "Waits for async work",
          "line": 82,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81,
          "detail": "await _graphService.Clear();"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_82_state_change_82__linear",
          "kind": "statement",
          "label": "Graph service reset & loading",
          "line": 82,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "Clear() and SetLoading(true) on graph service"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_82_IKnowledgeGraphService_Clear",
          "kind": "call",
          "label": "IKnowledgeGraphService.Clear",
          "line": 82,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "none"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_83_processfullpageasync_await_83_2__await",
          "kind": "await",
          "label": "Waits for async work",
          "line": 83,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81,
          "detail": "await _graphService.SetLoading(true);"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_83_IKnowledgeGraphService_SetLoading",
          "kind": "call",
          "label": "IKnowledgeGraphService.SetLoading",
          "line": 83,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "true"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_85_try_catch_85__linear",
          "kind": "statement",
          "label": "Exception handling",
          "line": 85,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "catch exceptions and log via LogGraphError"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_85_processfullpageasync_try_85_3__try",
          "kind": "try",
          "label": "Begins protected execution",
          "line": 85,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.84,
          "detail": "try"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_87_processfullpageasync_await_87_4__await",
          "kind": "await",
          "label": "Waits for async work",
          "line": 87,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81,
          "detail": "var result = await _knowledgeService.GetGraphDataAsync(fullContent, tenantId);"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_87_external_call_87__linear",
          "kind": "http-call",
          "label": "Request graph data",
          "line": 87,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "await knowledgeService.GetGraphDataAsync(fullContent, tenantId)"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_87_IKnowledgeService_GetGraphDataAsync",
          "kind": "call",
          "label": "IKnowledgeService.GetGraphDataAsync",
          "line": 87,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "fullContent, tenantId"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_88_branch_88__condition",
          "kind": "condition",
          "label": "result.IsSuccess && packet.Graph != null",
          "line": 88,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "on success update graph, invoke event, vibrate"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_88_branch_88__true",
          "kind": "branch-true",
          "label": "update graph & notify",
          "line": 88,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_88_branch_88__false",
          "kind": "branch-false",
          "label": "no-op",
          "line": 88,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_88_branch_88__merge",
          "kind": "statement",
          "label": "merge",
          "line": 88,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__condition",
          "kind": "condition",
          "label": "result.IsSuccess",
          "line": 88,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78,
          "detail": "if (result.IsSuccess)"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__true",
          "kind": "branch-true",
          "label": "true",
          "line": 88,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__false",
          "kind": "branch-false",
          "label": "false",
          "line": 88,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__merge",
          "kind": "statement",
          "label": "merge",
          "line": 88,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__condition",
          "kind": "condition",
          "label": "packet.Graph != null",
          "line": 91,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78,
          "detail": "if (packet.Graph != null)"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__true",
          "kind": "branch-true",
          "label": "true",
          "line": 91,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__false",
          "kind": "branch-false",
          "label": "false",
          "line": 91,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__merge",
          "kind": "statement",
          "label": "merge",
          "line": 91,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_93_processfullpageasync_await_93_7__await",
          "kind": "await",
          "label": "Waits for async work",
          "line": 93,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81,
          "detail": "await _graphService.UpdateGraph(packet.Graph);"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_93_IKnowledgeGraphService_UpdateGraph",
          "kind": "call",
          "label": "IKnowledgeGraphService.UpdateGraph",
          "line": 93,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "packet.Graph"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_94_event_invoke_94__linear",
          "kind": "statement",
          "label": "Raise OnGraphUpdated",
          "line": 94,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "await OnGraphUpdated.Invoke(packet.Graph) if subscribers exist"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__condition",
          "kind": "condition",
          "label": "OnGraphUpdated != null",
          "line": 94,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78,
          "detail": "if (OnGraphUpdated != null)"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__true",
          "kind": "branch-true",
          "label": "true",
          "line": 94,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__false",
          "kind": "branch-false",
          "label": "false",
          "line": 94,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__merge",
          "kind": "statement",
          "label": "merge",
          "line": 94,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_95_processfullpageasync_await_95_9__await",
          "kind": "await",
          "label": "Waits for async work",
          "line": 95,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81,
          "detail": "await OnGraphUpdated.Invoke(packet.Graph);"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_95_OnGraphUpdated_Invoke",
          "kind": "call",
          "label": "OnGraphUpdated.Invoke",
          "line": 95,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "packet.Graph"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_96_processfullpageasync_await_96_10__await",
          "kind": "await",
          "label": "Waits for async work",
          "line": 96,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81,
          "detail": "await _platformService.VibrateSuccessAsync();"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_96_IPlatformService_VibrateSuccessAsync",
          "kind": "call",
          "label": "IPlatformService.VibrateSuccessAsync",
          "line": 96,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "none"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_100_processfullpageasync_catch_100_11__catch",
          "kind": "catch",
          "label": "catch Exception ex",
          "line": 100,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.86,
          "detail": "catch (Exception ex)"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_102_LogGraphError",
          "kind": "call",
          "label": "LogGraphError",
          "line": 102,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "ex, tenantId"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 104,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:1x9gjeq:processfullpageasync__entry__method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__condition",
          "from": "method:1x9gjeq:processfullpageasync__entry",
          "to": "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__condition",
          "kind": "next",
          "line": 78,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__condition__method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__true",
          "from": "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__condition",
          "to": "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__true",
          "kind": "condition-true",
          "label": "return",
          "line": 78,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__condition__method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__false",
          "from": "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__condition",
          "to": "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__false",
          "kind": "condition-false",
          "label": "continue",
          "line": 78,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__true__method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__merge",
          "from": "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__true",
          "to": "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__merge",
          "kind": "next",
          "line": 78,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__false__method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__merge",
          "from": "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__false",
          "to": "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__merge",
          "kind": "next",
          "line": 78,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__merge__method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__condition",
          "from": "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__merge",
          "to": "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__condition",
          "kind": "next",
          "line": 78,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.9
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__condition__method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__true",
          "from": "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__condition",
          "to": "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__true",
          "kind": "condition-true",
          "label": "exit",
          "line": 78,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.9
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__condition__method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__false",
          "from": "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__condition",
          "to": "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__false",
          "kind": "condition-false",
          "label": "continue",
          "line": 78,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.9
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__true__method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__merge",
          "from": "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__true",
          "to": "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__merge",
          "kind": "next",
          "line": 78,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.9
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__false__method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__merge",
          "from": "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__false",
          "to": "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__merge",
          "kind": "next",
          "line": 78,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.9
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__merge__method:1x9gjeq:processfullpageasync__action_80_log_80__linear",
          "from": "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__merge",
          "to": "method:1x9gjeq:processfullpageasync__action_80_log_80__linear",
          "kind": "next",
          "line": 80,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_80_log_80__linear__call_method:1x9gjeq:processfullpageasync__call_80_LogGeneratingGraph",
          "from": "method:1x9gjeq:processfullpageasync__action_80_log_80__linear",
          "to": "method:1x9gjeq:processfullpageasync__call_80_LogGeneratingGraph",
          "kind": "call",
          "label": "tenantId",
          "line": 80,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_80_LogGeneratingGraph__method:1x9gjeq:processfullpageasync__action_82_processfullpageasync_await_82_1__await",
          "from": "method:1x9gjeq:processfullpageasync__call_80_LogGeneratingGraph",
          "to": "method:1x9gjeq:processfullpageasync__action_82_processfullpageasync_await_82_1__await",
          "kind": "next",
          "line": 82,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_82_processfullpageasync_await_82_1__await__method:1x9gjeq:processfullpageasync__action_82_state_change_82__linear",
          "from": "method:1x9gjeq:processfullpageasync__action_82_processfullpageasync_await_82_1__await",
          "to": "method:1x9gjeq:processfullpageasync__action_82_state_change_82__linear",
          "kind": "next",
          "line": 82,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_82_state_change_82__linear__call_method:1x9gjeq:processfullpageasync__call_82_IKnowledgeGraphService_Clear",
          "from": "method:1x9gjeq:processfullpageasync__action_82_state_change_82__linear",
          "to": "method:1x9gjeq:processfullpageasync__call_82_IKnowledgeGraphService_Clear",
          "kind": "call",
          "label": "none",
          "line": 82,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_82_IKnowledgeGraphService_Clear__method:1x9gjeq:processfullpageasync__action_83_processfullpageasync_await_83_2__await",
          "from": "method:1x9gjeq:processfullpageasync__call_82_IKnowledgeGraphService_Clear",
          "to": "method:1x9gjeq:processfullpageasync__action_83_processfullpageasync_await_83_2__await",
          "kind": "next",
          "line": 83,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_83_processfullpageasync_await_83_2__await__call_method:1x9gjeq:processfullpageasync__call_83_IKnowledgeGraphService_SetLoading",
          "from": "method:1x9gjeq:processfullpageasync__action_83_processfullpageasync_await_83_2__await",
          "to": "method:1x9gjeq:processfullpageasync__call_83_IKnowledgeGraphService_SetLoading",
          "kind": "call",
          "label": "true",
          "line": 83,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_83_IKnowledgeGraphService_SetLoading__method:1x9gjeq:processfullpageasync__action_85_try_catch_85__linear",
          "from": "method:1x9gjeq:processfullpageasync__call_83_IKnowledgeGraphService_SetLoading",
          "to": "method:1x9gjeq:processfullpageasync__action_85_try_catch_85__linear",
          "kind": "next",
          "line": 85,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_85_try_catch_85__linear__method:1x9gjeq:processfullpageasync__action_85_processfullpageasync_try_85_3__try",
          "from": "method:1x9gjeq:processfullpageasync__action_85_try_catch_85__linear",
          "to": "method:1x9gjeq:processfullpageasync__action_85_processfullpageasync_try_85_3__try",
          "kind": "next",
          "line": 85,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.84
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_85_processfullpageasync_try_85_3__try__method:1x9gjeq:processfullpageasync__action_87_processfullpageasync_await_87_4__await",
          "from": "method:1x9gjeq:processfullpageasync__action_85_processfullpageasync_try_85_3__try",
          "to": "method:1x9gjeq:processfullpageasync__action_87_processfullpageasync_await_87_4__await",
          "kind": "next",
          "line": 87,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_87_processfullpageasync_await_87_4__await__method:1x9gjeq:processfullpageasync__action_87_external_call_87__linear",
          "from": "method:1x9gjeq:processfullpageasync__action_87_processfullpageasync_await_87_4__await",
          "to": "method:1x9gjeq:processfullpageasync__action_87_external_call_87__linear",
          "kind": "next",
          "line": 87,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_87_external_call_87__linear__call_method:1x9gjeq:processfullpageasync__call_87_IKnowledgeService_GetGraphDataAsync",
          "from": "method:1x9gjeq:processfullpageasync__action_87_external_call_87__linear",
          "to": "method:1x9gjeq:processfullpageasync__call_87_IKnowledgeService_GetGraphDataAsync",
          "kind": "call",
          "label": "fullContent, tenantId",
          "line": 87,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_87_IKnowledgeService_GetGraphDataAsync__method:1x9gjeq:processfullpageasync__action_88_branch_88__condition",
          "from": "method:1x9gjeq:processfullpageasync__call_87_IKnowledgeService_GetGraphDataAsync",
          "to": "method:1x9gjeq:processfullpageasync__action_88_branch_88__condition",
          "kind": "next",
          "line": 88,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_88_branch_88__condition__method:1x9gjeq:processfullpageasync__action_88_branch_88__true",
          "from": "method:1x9gjeq:processfullpageasync__action_88_branch_88__condition",
          "to": "method:1x9gjeq:processfullpageasync__action_88_branch_88__true",
          "kind": "condition-true",
          "label": "update graph & notify",
          "line": 88,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_88_branch_88__condition__method:1x9gjeq:processfullpageasync__action_88_branch_88__false",
          "from": "method:1x9gjeq:processfullpageasync__action_88_branch_88__condition",
          "to": "method:1x9gjeq:processfullpageasync__action_88_branch_88__false",
          "kind": "condition-false",
          "label": "no-op",
          "line": 88,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_88_branch_88__true__method:1x9gjeq:processfullpageasync__action_88_branch_88__merge",
          "from": "method:1x9gjeq:processfullpageasync__action_88_branch_88__true",
          "to": "method:1x9gjeq:processfullpageasync__action_88_branch_88__merge",
          "kind": "next",
          "line": 88,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_88_branch_88__false__method:1x9gjeq:processfullpageasync__action_88_branch_88__merge",
          "from": "method:1x9gjeq:processfullpageasync__action_88_branch_88__false",
          "to": "method:1x9gjeq:processfullpageasync__action_88_branch_88__merge",
          "kind": "next",
          "line": 88,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_88_branch_88__merge__method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__condition",
          "from": "method:1x9gjeq:processfullpageasync__action_88_branch_88__merge",
          "to": "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__condition",
          "kind": "next",
          "line": 88,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__condition__method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__true",
          "from": "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__condition",
          "to": "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__true",
          "kind": "condition-true",
          "label": "true",
          "line": 88,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__condition__method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__false",
          "from": "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__condition",
          "to": "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__false",
          "kind": "condition-false",
          "label": "false",
          "line": 88,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__true__method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__merge",
          "from": "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__true",
          "to": "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__merge",
          "kind": "next",
          "line": 88,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__false__method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__merge",
          "from": "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__false",
          "to": "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__merge",
          "kind": "next",
          "line": 88,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__merge__method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__condition",
          "from": "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__merge",
          "to": "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__condition",
          "kind": "next",
          "line": 91,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__condition__method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__true",
          "from": "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__condition",
          "to": "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__true",
          "kind": "condition-true",
          "label": "true",
          "line": 91,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__condition__method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__false",
          "from": "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__condition",
          "to": "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__false",
          "kind": "condition-false",
          "label": "false",
          "line": 91,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__true__method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__merge",
          "from": "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__true",
          "to": "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__merge",
          "kind": "next",
          "line": 91,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__false__method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__merge",
          "from": "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__false",
          "to": "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__merge",
          "kind": "next",
          "line": 91,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__merge__method:1x9gjeq:processfullpageasync__action_93_processfullpageasync_await_93_7__await",
          "from": "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__merge",
          "to": "method:1x9gjeq:processfullpageasync__action_93_processfullpageasync_await_93_7__await",
          "kind": "next",
          "line": 93,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_93_processfullpageasync_await_93_7__await__call_method:1x9gjeq:processfullpageasync__call_93_IKnowledgeGraphService_UpdateGraph",
          "from": "method:1x9gjeq:processfullpageasync__action_93_processfullpageasync_await_93_7__await",
          "to": "method:1x9gjeq:processfullpageasync__call_93_IKnowledgeGraphService_UpdateGraph",
          "kind": "call",
          "label": "packet.Graph",
          "line": 93,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_93_IKnowledgeGraphService_UpdateGraph__method:1x9gjeq:processfullpageasync__action_94_event_invoke_94__linear",
          "from": "method:1x9gjeq:processfullpageasync__call_93_IKnowledgeGraphService_UpdateGraph",
          "to": "method:1x9gjeq:processfullpageasync__action_94_event_invoke_94__linear",
          "kind": "next",
          "line": 94,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_94_event_invoke_94__linear__method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__condition",
          "from": "method:1x9gjeq:processfullpageasync__action_94_event_invoke_94__linear",
          "to": "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__condition",
          "kind": "next",
          "line": 94,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__condition__method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__true",
          "from": "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__condition",
          "to": "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__true",
          "kind": "condition-true",
          "label": "true",
          "line": 94,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__condition__method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__false",
          "from": "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__condition",
          "to": "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__false",
          "kind": "condition-false",
          "label": "false",
          "line": 94,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__true__method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__merge",
          "from": "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__true",
          "to": "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__merge",
          "kind": "next",
          "line": 94,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__false__method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__merge",
          "from": "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__false",
          "to": "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__merge",
          "kind": "next",
          "line": 94,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__merge__method:1x9gjeq:processfullpageasync__action_95_processfullpageasync_await_95_9__await",
          "from": "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__merge",
          "to": "method:1x9gjeq:processfullpageasync__action_95_processfullpageasync_await_95_9__await",
          "kind": "next",
          "line": 95,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_95_processfullpageasync_await_95_9__await__call_method:1x9gjeq:processfullpageasync__call_95_OnGraphUpdated_Invoke",
          "from": "method:1x9gjeq:processfullpageasync__action_95_processfullpageasync_await_95_9__await",
          "to": "method:1x9gjeq:processfullpageasync__call_95_OnGraphUpdated_Invoke",
          "kind": "call",
          "label": "packet.Graph",
          "line": 95,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_95_OnGraphUpdated_Invoke__method:1x9gjeq:processfullpageasync__action_96_processfullpageasync_await_96_10__await",
          "from": "method:1x9gjeq:processfullpageasync__call_95_OnGraphUpdated_Invoke",
          "to": "method:1x9gjeq:processfullpageasync__action_96_processfullpageasync_await_96_10__await",
          "kind": "next",
          "line": 96,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_96_processfullpageasync_await_96_10__await__call_method:1x9gjeq:processfullpageasync__call_96_IPlatformService_VibrateSuccessAsync",
          "from": "method:1x9gjeq:processfullpageasync__action_96_processfullpageasync_await_96_10__await",
          "to": "method:1x9gjeq:processfullpageasync__call_96_IPlatformService_VibrateSuccessAsync",
          "kind": "call",
          "label": "none",
          "line": 96,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_96_IPlatformService_VibrateSuccessAsync__method:1x9gjeq:processfullpageasync__action_100_processfullpageasync_catch_100_11__catch",
          "from": "method:1x9gjeq:processfullpageasync__call_96_IPlatformService_VibrateSuccessAsync",
          "to": "method:1x9gjeq:processfullpageasync__action_100_processfullpageasync_catch_100_11__catch",
          "kind": "exception",
          "line": 100,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.86
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__action_100_processfullpageasync_catch_100_11__catch__call_method:1x9gjeq:processfullpageasync__call_102_LogGraphError",
          "from": "method:1x9gjeq:processfullpageasync__action_100_processfullpageasync_catch_100_11__catch",
          "to": "method:1x9gjeq:processfullpageasync__call_102_LogGraphError",
          "kind": "call",
          "label": "ex, tenantId",
          "line": 102,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_102_LogGraphError__implicit_return",
          "from": "method:1x9gjeq:processfullpageasync__call_102_LogGraphError",
          "to": "method:1x9gjeq:processfullpageasync__implicit_return",
          "kind": "return",
          "line": 104,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [
        {
          "id": "method:1x9gjeq:processfullpageasync__call_80_LogGeneratingGraph__jump_NexusReader_UI_Shared_Services_KnowledgeCoordinator_cs_LogGeneratingGraph",
          "fromNodeId": "method:1x9gjeq:processfullpageasync__call_80_LogGeneratingGraph",
          "kind": "call-target",
          "targetNodeId": "method:1ip44st:loggeneratinggraph",
          "targetPath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "targetHint": "LogGeneratingGraph",
          "line": 80,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target LogGeneratingGraph resolved to NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs.",
          "status": "resolved"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_82_IKnowledgeGraphService_Clear__jump_unknown_IKnowledgeGraphService_Clear",
          "fromNodeId": "method:1x9gjeq:processfullpageasync__call_82_IKnowledgeGraphService_Clear",
          "kind": "call-target",
          "targetPath": "unknown",
          "targetHint": "IKnowledgeGraphService.Clear",
          "line": 82,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target IKnowledgeGraphService.Clear in unknown could not be matched to an extracted method symbol.",
          "status": "unresolved"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_83_IKnowledgeGraphService_SetLoading__jump_unknown_IKnowledgeGraphService_SetLoading",
          "fromNodeId": "method:1x9gjeq:processfullpageasync__call_83_IKnowledgeGraphService_SetLoading",
          "kind": "call-target",
          "targetPath": "unknown",
          "targetHint": "IKnowledgeGraphService.SetLoading",
          "line": 83,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target IKnowledgeGraphService.SetLoading in unknown could not be matched to an extracted method symbol.",
          "status": "unresolved"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_87_IKnowledgeService_GetGraphDataAsync__jump_unknown_IKnowledgeService_GetGraphDataAsync",
          "fromNodeId": "method:1x9gjeq:processfullpageasync__call_87_IKnowledgeService_GetGraphDataAsync",
          "kind": "call-target",
          "targetPath": "unknown",
          "targetHint": "IKnowledgeService.GetGraphDataAsync",
          "line": 87,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target IKnowledgeService.GetGraphDataAsync in unknown could not be matched to an extracted method symbol.",
          "status": "unresolved"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_93_IKnowledgeGraphService_UpdateGraph__jump_unknown_IKnowledgeGraphService_UpdateGraph",
          "fromNodeId": "method:1x9gjeq:processfullpageasync__call_93_IKnowledgeGraphService_UpdateGraph",
          "kind": "call-target",
          "targetPath": "unknown",
          "targetHint": "IKnowledgeGraphService.UpdateGraph",
          "line": 93,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target IKnowledgeGraphService.UpdateGraph in unknown could not be matched to an extracted method symbol.",
          "status": "unresolved"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_95_OnGraphUpdated_Invoke__jump_NexusReader_UI_Shared_Services_KnowledgeCoordinator_cs_OnGraphUpdated_Invoke",
          "fromNodeId": "method:1x9gjeq:processfullpageasync__call_95_OnGraphUpdated_Invoke",
          "kind": "call-target",
          "targetPath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "targetHint": "OnGraphUpdated.Invoke",
          "line": 95,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target OnGraphUpdated.Invoke in NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs could not be matched to an extracted method symbol.",
          "status": "unresolved"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_96_IPlatformService_VibrateSuccessAsync__jump_unknown_IPlatformService_VibrateSuccessAsync",
          "fromNodeId": "method:1x9gjeq:processfullpageasync__call_96_IPlatformService_VibrateSuccessAsync",
          "kind": "call-target",
          "targetPath": "unknown",
          "targetHint": "IPlatformService.VibrateSuccessAsync",
          "line": 96,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target IPlatformService.VibrateSuccessAsync in unknown could not be matched to an extracted method symbol.",
          "status": "unresolved"
        },
        {
          "id": "method:1x9gjeq:processfullpageasync__call_102_LogGraphError__jump_NexusReader_UI_Shared_Services_KnowledgeCoordinator_cs_LogGraphError",
          "fromNodeId": "method:1x9gjeq:processfullpageasync__call_102_LogGraphError",
          "kind": "call-target",
          "targetNodeId": "method:1nzct8x:loggrapherror",
          "targetPath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "targetHint": "LogGraphError",
          "line": 102,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target LogGraphError resolved to NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs.",
          "status": "resolved"
        }
      ],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [
        "method:1x9gjeq:processfullpageasync__action_78_guard_clause_78__merge",
        "method:1x9gjeq:processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__merge",
        "method:1x9gjeq:processfullpageasync__action_88_branch_88__merge",
        "method:1x9gjeq:processfullpageasync__action_88_processfullpageasync_branch_88_5__merge",
        "method:1x9gjeq:processfullpageasync__action_91_processfullpageasync_branch_91_6__merge",
        "method:1x9gjeq:processfullpageasync__action_94_processfullpageasync_branch_94_8__merge"
      ],
      "language": "csharp",
      "confidence": 0.98,
      "lineSpan": {
        "start": 76,
        "end": 104
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "line": 76,
          "summary": "Control-flow fragment extracted for method ProcessFullPageAsync.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:1pdmx9l:onblockreachedasync__fragment",
      "ownerFileId": "file:uvydt4:knowledgecoordinator-cs",
      "ownerSymbolId": "method:1pdmx9l:onblockreachedasync",
      "ownerSymbolName": "OnBlockReachedAsync",
      "entryNodeId": "method:1pdmx9l:onblockreachedasync__entry",
      "exitNodeIds": [
        "method:1pdmx9l:onblockreachedasync__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:1pdmx9l:onblockreachedasync__entry",
          "kind": "entry",
          "label": "OnBlockReachedAsync entry",
          "line": 106,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.99,
          "detail": "Updates the graph service active node when a content block is reached (UI navigation), intentionally does not trigger highlight."
        },
        {
          "id": "method:1pdmx9l:onblockreachedasync__action_108_comment_108__linear",
          "kind": "statement",
          "label": "Do not highlight here",
          "line": 108,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "Comment indicates intentional omission of highlight"
        },
        {
          "id": "method:1pdmx9l:onblockreachedasync__action_109_onblockreachedasync_await_109_0__await",
          "kind": "await",
          "label": "Waits for async work",
          "line": 109,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81,
          "detail": "await _graphService.SetActiveNode(blockId);"
        },
        {
          "id": "method:1pdmx9l:onblockreachedasync__action_109_state_change_109__linear",
          "kind": "statement",
          "label": "Set active node",
          "line": 109,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "Calls graphService.SetActiveNode(blockId)"
        },
        {
          "id": "method:1pdmx9l:onblockreachedasync__call_109_IKnowledgeGraphService_SetActiveNode",
          "kind": "call",
          "label": "IKnowledgeGraphService.SetActiveNode",
          "line": 109,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "blockId"
        },
        {
          "id": "method:1pdmx9l:onblockreachedasync__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 110,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:1pdmx9l:onblockreachedasync__entry__method:1pdmx9l:onblockreachedasync__action_108_comment_108__linear",
          "from": "method:1pdmx9l:onblockreachedasync__entry",
          "to": "method:1pdmx9l:onblockreachedasync__action_108_comment_108__linear",
          "kind": "next",
          "line": 108,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1pdmx9l:onblockreachedasync__action_108_comment_108__linear__method:1pdmx9l:onblockreachedasync__action_109_onblockreachedasync_await_109_0__await",
          "from": "method:1pdmx9l:onblockreachedasync__action_108_comment_108__linear",
          "to": "method:1pdmx9l:onblockreachedasync__action_109_onblockreachedasync_await_109_0__await",
          "kind": "next",
          "line": 109,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81
        },
        {
          "id": "method:1pdmx9l:onblockreachedasync__action_109_onblockreachedasync_await_109_0__await__method:1pdmx9l:onblockreachedasync__action_109_state_change_109__linear",
          "from": "method:1pdmx9l:onblockreachedasync__action_109_onblockreachedasync_await_109_0__await",
          "to": "method:1pdmx9l:onblockreachedasync__action_109_state_change_109__linear",
          "kind": "next",
          "line": 109,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1pdmx9l:onblockreachedasync__action_109_state_change_109__linear__call_method:1pdmx9l:onblockreachedasync__call_109_IKnowledgeGraphService_SetActiveNode",
          "from": "method:1pdmx9l:onblockreachedasync__action_109_state_change_109__linear",
          "to": "method:1pdmx9l:onblockreachedasync__call_109_IKnowledgeGraphService_SetActiveNode",
          "kind": "call",
          "label": "blockId",
          "line": 109,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:1pdmx9l:onblockreachedasync__call_109_IKnowledgeGraphService_SetActiveNode__implicit_return",
          "from": "method:1pdmx9l:onblockreachedasync__call_109_IKnowledgeGraphService_SetActiveNode",
          "to": "method:1pdmx9l:onblockreachedasync__implicit_return",
          "kind": "return",
          "line": 110,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [
        {
          "id": "method:1pdmx9l:onblockreachedasync__call_109_IKnowledgeGraphService_SetActiveNode__jump_unknown_IKnowledgeGraphService_SetActiveNode",
          "fromNodeId": "method:1pdmx9l:onblockreachedasync__call_109_IKnowledgeGraphService_SetActiveNode",
          "kind": "call-target",
          "targetPath": "unknown",
          "targetHint": "IKnowledgeGraphService.SetActiveNode",
          "line": 109,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target IKnowledgeGraphService.SetActiveNode in unknown could not be matched to an extracted method symbol.",
          "status": "unresolved"
        }
      ],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.7999999999999999,
      "lineSpan": {
        "start": 106,
        "end": 110
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "line": 106,
          "summary": "Control-flow fragment extracted for method OnBlockReachedAsync.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:2y4xzb:requestsummaryandquizasync__fragment",
      "ownerFileId": "file:uvydt4:knowledgecoordinator-cs",
      "ownerSymbolId": "method:2y4xzb:requestsummaryandquizasync",
      "ownerSymbolName": "RequestSummaryAndQuizAsync",
      "entryNodeId": "method:2y4xzb:requestsummaryandquizasync__entry",
      "exitNodeIds": [
        "method:2y4xzb:requestsummaryandquizasync__action_128_requestsummaryandquizasync_return_128_7__return",
        "method:2y4xzb:requestsummaryandquizasync__action_132_requestsummaryandquizasync_return_132_8__return",
        "method:2y4xzb:requestsummaryandquizasync__action_137_requestsummaryandquizasync_return_137_10__return",
        "method:2y4xzb:requestsummaryandquizasync__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__entry",
          "kind": "entry",
          "label": "RequestSummaryAndQuizAsync entry",
          "line": 112,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.99,
          "detail": "Orchestrates requesting a summary and quiz from the knowledge service, maps remote quiz DTOs into local QuizDto/QuizQuestionDto, sets quiz state, triggers vibration on success, and handles errors with logging and Result.Fail."
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_114_requestsummaryandquizasync_await_114_0__await",
          "kind": "await",
          "label": "Waits for async work",
          "line": 114,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81,
          "detail": "await _quizService.SetHydrating(true);"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_114_state_change_114__linear",
          "kind": "statement",
          "label": "Mark quiz hydrating",
          "line": 114,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "SetHydrating(true) at start, SetHydrating(false) in finally"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_114_IQuizStateService_SetHydrating",
          "kind": "call",
          "label": "IQuizStateService.SetHydrating",
          "line": 114,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "true/false"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_115_log_115__linear",
          "kind": "statement",
          "label": "Requesting summary & quiz",
          "line": 115,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "LogRequestingSummary(tenantId)"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_115_LogRequestingSummary",
          "kind": "call",
          "label": "LogRequestingSummary",
          "line": 115,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "tenantId"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_116_try_catch_finally_116__linear",
          "kind": "statement",
          "label": "Error handling and cleanup",
          "line": 116,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "catch logs error and returns Result.Fail; finally resets hydrating flag"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_116_requestsummaryandquizasync_try_116_1__try",
          "kind": "try",
          "label": "Begins protected execution",
          "line": 116,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.84,
          "detail": "try"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_118_requestsummaryandquizasync_await_118_2__await",
          "kind": "await",
          "label": "Waits for async work",
          "line": 118,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81,
          "detail": "var result = await _knowledgeService.GetSummaryAndQuizAsync(content, tenantId);"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_118_external_call_118__linear",
          "kind": "http-call",
          "label": "Request summary+quiz",
          "line": 118,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "await knowledgeService.GetSummaryAndQuizAsync"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_118_IKnowledgeService_GetSummaryAndQuizAsync",
          "kind": "call",
          "label": "IKnowledgeService.GetSummaryAndQuizAsync",
          "line": 118,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "content, tenantId"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__condition",
          "kind": "condition",
          "label": "result.IsSuccess",
          "line": 119,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "map packet.Quizzes to QuizQuestionDto list and set quiz state"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__true",
          "kind": "branch-true",
          "label": "map & set quiz",
          "line": 119,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__false",
          "kind": "branch-false",
          "label": "log warning & fail",
          "line": 119,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__merge",
          "kind": "statement",
          "label": "merge",
          "line": 119,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__condition",
          "kind": "condition",
          "label": "result.IsSuccess",
          "line": 119,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78,
          "detail": "if (result.IsSuccess)"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__true",
          "kind": "branch-true",
          "label": "true",
          "line": 119,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__false",
          "kind": "branch-false",
          "label": "false",
          "line": 119,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__merge",
          "kind": "statement",
          "label": "merge",
          "line": 119,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_122_mapping_122__linear",
          "kind": "statement",
          "label": "Map remote quizzes to UI DTOs",
          "line": 122,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "Select q => new QuizQuestionDto(...)"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_123_requestsummaryandquizasync_mapping_123_4__linear",
          "kind": "statement",
          "label": "Maps data or transforms shape",
          "line": 123,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.74,
          "detail": ".Select(q => new QuizQuestionDto(q.Question, q.Options, q.CorrectIndex))"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_123_QuizQuestionDto_ctor",
          "kind": "call",
          "label": "QuizQuestionDto..ctor",
          "line": 123,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "q.Question, q.Options, q.CorrectIndex"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_126_requestsummaryandquizasync_await_126_5__await",
          "kind": "await",
          "label": "Waits for async work",
          "line": 126,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81,
          "detail": "await _quizService.SetQuiz(null, new QuizDto(quizQuestions));"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_126_IQuizStateService_SetQuiz",
          "kind": "call",
          "label": "IQuizStateService.SetQuiz",
          "line": 126,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "null, new QuizDto(quizQuestions)"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_127_requestsummaryandquizasync_await_127_6__await",
          "kind": "await",
          "label": "Waits for async work",
          "line": 127,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81,
          "detail": "await _platformService.VibrateSuccessAsync();"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_127_IPlatformService_VibrateSuccessAsync",
          "kind": "call",
          "label": "IPlatformService.VibrateSuccessAsync",
          "line": 127,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "none"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_128_requestsummaryandquizasync_return_128_7__return",
          "kind": "return",
          "label": "Returns result",
          "line": 128,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "return Result.Ok(packet);"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_131_LogSummaryWarning",
          "kind": "call",
          "label": "LogSummaryWarning",
          "line": 131,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "tenantId"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_132_requestsummaryandquizasync_return_132_8__return",
          "kind": "return",
          "label": "Returns result",
          "line": 132,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "return Result.Fail(result.Errors);"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_134_requestsummaryandquizasync_catch_134_9__catch",
          "kind": "catch",
          "label": "catch Exception ex",
          "line": 134,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.86,
          "detail": "catch (Exception ex)"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_136_LogSummaryError",
          "kind": "call",
          "label": "LogSummaryError",
          "line": 136,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "ex, tenantId"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_137_requestsummaryandquizasync_return_137_10__return",
          "kind": "return",
          "label": "Returns result",
          "line": 137,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "return Result.Fail(new Error(\"Error requesting summary and quiz\").CausedBy(ex));"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_139_requestsummaryandquizasync_finally_139_11__finally",
          "kind": "finally",
          "label": "Runs cleanup or finalization",
          "line": 139,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.84,
          "detail": "finally"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_141_requestsummaryandquizasync_await_141_12__await",
          "kind": "await",
          "label": "Waits for async work",
          "line": 141,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81,
          "detail": "await _quizService.SetHydrating(false);"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 143,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__entry__method:2y4xzb:requestsummaryandquizasync__action_114_requestsummaryandquizasync_await_114_0__await",
          "from": "method:2y4xzb:requestsummaryandquizasync__entry",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_114_requestsummaryandquizasync_await_114_0__await",
          "kind": "next",
          "line": 114,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_114_requestsummaryandquizasync_await_114_0__await__method:2y4xzb:requestsummaryandquizasync__action_114_state_change_114__linear",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_114_requestsummaryandquizasync_await_114_0__await",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_114_state_change_114__linear",
          "kind": "next",
          "line": 114,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_114_state_change_114__linear__call_method:2y4xzb:requestsummaryandquizasync__call_114_IQuizStateService_SetHydrating",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_114_state_change_114__linear",
          "to": "method:2y4xzb:requestsummaryandquizasync__call_114_IQuizStateService_SetHydrating",
          "kind": "call",
          "label": "true/false",
          "line": 114,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_114_IQuizStateService_SetHydrating__method:2y4xzb:requestsummaryandquizasync__action_115_log_115__linear",
          "from": "method:2y4xzb:requestsummaryandquizasync__call_114_IQuizStateService_SetHydrating",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_115_log_115__linear",
          "kind": "next",
          "line": 115,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_115_log_115__linear__call_method:2y4xzb:requestsummaryandquizasync__call_115_LogRequestingSummary",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_115_log_115__linear",
          "to": "method:2y4xzb:requestsummaryandquizasync__call_115_LogRequestingSummary",
          "kind": "call",
          "label": "tenantId",
          "line": 115,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_115_LogRequestingSummary__method:2y4xzb:requestsummaryandquizasync__action_116_try_catch_finally_116__linear",
          "from": "method:2y4xzb:requestsummaryandquizasync__call_115_LogRequestingSummary",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_116_try_catch_finally_116__linear",
          "kind": "next",
          "line": 116,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_116_try_catch_finally_116__linear__method:2y4xzb:requestsummaryandquizasync__action_116_requestsummaryandquizasync_try_116_1__try",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_116_try_catch_finally_116__linear",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_116_requestsummaryandquizasync_try_116_1__try",
          "kind": "next",
          "line": 116,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.84
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_116_requestsummaryandquizasync_try_116_1__try__method:2y4xzb:requestsummaryandquizasync__action_118_requestsummaryandquizasync_await_118_2__await",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_116_requestsummaryandquizasync_try_116_1__try",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_118_requestsummaryandquizasync_await_118_2__await",
          "kind": "next",
          "line": 118,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_118_requestsummaryandquizasync_await_118_2__await__method:2y4xzb:requestsummaryandquizasync__action_118_external_call_118__linear",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_118_requestsummaryandquizasync_await_118_2__await",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_118_external_call_118__linear",
          "kind": "next",
          "line": 118,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_118_external_call_118__linear__call_method:2y4xzb:requestsummaryandquizasync__call_118_IKnowledgeService_GetSummaryAndQuizAsync",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_118_external_call_118__linear",
          "to": "method:2y4xzb:requestsummaryandquizasync__call_118_IKnowledgeService_GetSummaryAndQuizAsync",
          "kind": "call",
          "label": "content, tenantId",
          "line": 118,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_118_IKnowledgeService_GetSummaryAndQuizAsync__method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__condition",
          "from": "method:2y4xzb:requestsummaryandquizasync__call_118_IKnowledgeService_GetSummaryAndQuizAsync",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__condition",
          "kind": "next",
          "line": 119,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__condition__method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__true",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__condition",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__true",
          "kind": "condition-true",
          "label": "map & set quiz",
          "line": 119,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__condition__method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__false",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__condition",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__false",
          "kind": "condition-false",
          "label": "log warning & fail",
          "line": 119,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__true__method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__merge",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__true",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__merge",
          "kind": "next",
          "line": 119,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__false__method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__merge",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__false",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__merge",
          "kind": "next",
          "line": 119,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__merge__method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__condition",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__merge",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__condition",
          "kind": "next",
          "line": 119,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__condition__method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__true",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__condition",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__true",
          "kind": "condition-true",
          "label": "true",
          "line": 119,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__condition__method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__false",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__condition",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__false",
          "kind": "condition-false",
          "label": "false",
          "line": 119,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__true__method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__merge",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__true",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__merge",
          "kind": "next",
          "line": 119,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__false__method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__merge",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__false",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__merge",
          "kind": "next",
          "line": 119,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.78
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__merge__method:2y4xzb:requestsummaryandquizasync__action_122_mapping_122__linear",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__merge",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_122_mapping_122__linear",
          "kind": "next",
          "line": 122,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_122_mapping_122__linear__method:2y4xzb:requestsummaryandquizasync__action_123_requestsummaryandquizasync_mapping_123_4__linear",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_122_mapping_122__linear",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_123_requestsummaryandquizasync_mapping_123_4__linear",
          "kind": "next",
          "line": 123,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.74
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_123_requestsummaryandquizasync_mapping_123_4__linear__call_method:2y4xzb:requestsummaryandquizasync__call_123_QuizQuestionDto_ctor",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_123_requestsummaryandquizasync_mapping_123_4__linear",
          "to": "method:2y4xzb:requestsummaryandquizasync__call_123_QuizQuestionDto_ctor",
          "kind": "call",
          "label": "q.Question, q.Options, q.CorrectIndex",
          "line": 123,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_123_QuizQuestionDto_ctor__method:2y4xzb:requestsummaryandquizasync__action_126_requestsummaryandquizasync_await_126_5__await",
          "from": "method:2y4xzb:requestsummaryandquizasync__call_123_QuizQuestionDto_ctor",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_126_requestsummaryandquizasync_await_126_5__await",
          "kind": "next",
          "line": 126,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_126_requestsummaryandquizasync_await_126_5__await__call_method:2y4xzb:requestsummaryandquizasync__call_126_IQuizStateService_SetQuiz",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_126_requestsummaryandquizasync_await_126_5__await",
          "to": "method:2y4xzb:requestsummaryandquizasync__call_126_IQuizStateService_SetQuiz",
          "kind": "call",
          "label": "null, new QuizDto(quizQuestions)",
          "line": 126,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_126_IQuizStateService_SetQuiz__method:2y4xzb:requestsummaryandquizasync__action_127_requestsummaryandquizasync_await_127_6__await",
          "from": "method:2y4xzb:requestsummaryandquizasync__call_126_IQuizStateService_SetQuiz",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_127_requestsummaryandquizasync_await_127_6__await",
          "kind": "next",
          "line": 127,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_127_requestsummaryandquizasync_await_127_6__await__call_method:2y4xzb:requestsummaryandquizasync__call_127_IPlatformService_VibrateSuccessAsync",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_127_requestsummaryandquizasync_await_127_6__await",
          "to": "method:2y4xzb:requestsummaryandquizasync__call_127_IPlatformService_VibrateSuccessAsync",
          "kind": "call",
          "label": "none",
          "line": 127,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_127_IPlatformService_VibrateSuccessAsync__method:2y4xzb:requestsummaryandquizasync__action_128_requestsummaryandquizasync_return_128_7__return",
          "from": "method:2y4xzb:requestsummaryandquizasync__call_127_IPlatformService_VibrateSuccessAsync",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_128_requestsummaryandquizasync_return_128_7__return",
          "kind": "return",
          "line": 128,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_128_requestsummaryandquizasync_return_128_7__return__call_method:2y4xzb:requestsummaryandquizasync__call_131_LogSummaryWarning",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_128_requestsummaryandquizasync_return_128_7__return",
          "to": "method:2y4xzb:requestsummaryandquizasync__call_131_LogSummaryWarning",
          "kind": "call",
          "label": "tenantId",
          "line": 131,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_131_LogSummaryWarning__method:2y4xzb:requestsummaryandquizasync__action_132_requestsummaryandquizasync_return_132_8__return",
          "from": "method:2y4xzb:requestsummaryandquizasync__call_131_LogSummaryWarning",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_132_requestsummaryandquizasync_return_132_8__return",
          "kind": "return",
          "line": 132,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_132_requestsummaryandquizasync_return_132_8__return__method:2y4xzb:requestsummaryandquizasync__action_134_requestsummaryandquizasync_catch_134_9__catch",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_132_requestsummaryandquizasync_return_132_8__return",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_134_requestsummaryandquizasync_catch_134_9__catch",
          "kind": "exception",
          "line": 134,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.86
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_134_requestsummaryandquizasync_catch_134_9__catch__call_method:2y4xzb:requestsummaryandquizasync__call_136_LogSummaryError",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_134_requestsummaryandquizasync_catch_134_9__catch",
          "to": "method:2y4xzb:requestsummaryandquizasync__call_136_LogSummaryError",
          "kind": "call",
          "label": "ex, tenantId",
          "line": 136,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_136_LogSummaryError__method:2y4xzb:requestsummaryandquizasync__action_137_requestsummaryandquizasync_return_137_10__return",
          "from": "method:2y4xzb:requestsummaryandquizasync__call_136_LogSummaryError",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_137_requestsummaryandquizasync_return_137_10__return",
          "kind": "return",
          "line": 137,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_137_requestsummaryandquizasync_return_137_10__return__method:2y4xzb:requestsummaryandquizasync__action_139_requestsummaryandquizasync_finally_139_11__finally",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_137_requestsummaryandquizasync_return_137_10__return",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_139_requestsummaryandquizasync_finally_139_11__finally",
          "kind": "next",
          "line": 139,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.84
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_139_requestsummaryandquizasync_finally_139_11__finally__method:2y4xzb:requestsummaryandquizasync__action_141_requestsummaryandquizasync_await_141_12__await",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_139_requestsummaryandquizasync_finally_139_11__finally",
          "to": "method:2y4xzb:requestsummaryandquizasync__action_141_requestsummaryandquizasync_await_141_12__await",
          "kind": "next",
          "line": 141,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__action_141_requestsummaryandquizasync_await_141_12__await__implicit_return",
          "from": "method:2y4xzb:requestsummaryandquizasync__action_141_requestsummaryandquizasync_await_141_12__await",
          "to": "method:2y4xzb:requestsummaryandquizasync__implicit_return",
          "kind": "return",
          "line": 143,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_114_IQuizStateService_SetHydrating__jump_unknown_IQuizStateService_SetHydrating",
          "fromNodeId": "method:2y4xzb:requestsummaryandquizasync__call_114_IQuizStateService_SetHydrating",
          "kind": "call-target",
          "targetPath": "unknown",
          "targetHint": "IQuizStateService.SetHydrating",
          "line": 114,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target IQuizStateService.SetHydrating in unknown could not be matched to an extracted method symbol.",
          "status": "unresolved"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_115_LogRequestingSummary__jump_NexusReader_UI_Shared_Services_KnowledgeCoordinator_cs_LogRequestingSummary",
          "fromNodeId": "method:2y4xzb:requestsummaryandquizasync__call_115_LogRequestingSummary",
          "kind": "call-target",
          "targetNodeId": "method:1sfi79b:logrequestingsummary",
          "targetPath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "targetHint": "LogRequestingSummary",
          "line": 115,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target LogRequestingSummary resolved to NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs.",
          "status": "resolved"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_118_IKnowledgeService_GetSummaryAndQuizAsync__jump_unknown_IKnowledgeService_GetSummaryAndQuizAsync",
          "fromNodeId": "method:2y4xzb:requestsummaryandquizasync__call_118_IKnowledgeService_GetSummaryAndQuizAsync",
          "kind": "call-target",
          "targetPath": "unknown",
          "targetHint": "IKnowledgeService.GetSummaryAndQuizAsync",
          "line": 118,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target IKnowledgeService.GetSummaryAndQuizAsync in unknown could not be matched to an extracted method symbol.",
          "status": "unresolved"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_123_QuizQuestionDto_ctor__jump_NexusReader_UI_Shared_Services_KnowledgeCoordinator_cs_QuizQuestionDto_ctor",
          "fromNodeId": "method:2y4xzb:requestsummaryandquizasync__call_123_QuizQuestionDto_ctor",
          "kind": "call-target",
          "targetPath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "targetHint": "QuizQuestionDto..ctor",
          "line": 123,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target QuizQuestionDto..ctor in NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs could not be matched to an extracted method symbol.",
          "status": "unresolved"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_126_IQuizStateService_SetQuiz__jump_unknown_IQuizStateService_SetQuiz",
          "fromNodeId": "method:2y4xzb:requestsummaryandquizasync__call_126_IQuizStateService_SetQuiz",
          "kind": "call-target",
          "targetPath": "unknown",
          "targetHint": "IQuizStateService.SetQuiz",
          "line": 126,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target IQuizStateService.SetQuiz in unknown could not be matched to an extracted method symbol.",
          "status": "unresolved"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_127_IPlatformService_VibrateSuccessAsync__jump_unknown_IPlatformService_VibrateSuccessAsync",
          "fromNodeId": "method:2y4xzb:requestsummaryandquizasync__call_127_IPlatformService_VibrateSuccessAsync",
          "kind": "call-target",
          "targetPath": "unknown",
          "targetHint": "IPlatformService.VibrateSuccessAsync",
          "line": 127,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target IPlatformService.VibrateSuccessAsync in unknown could not be matched to an extracted method symbol.",
          "status": "unresolved"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_131_LogSummaryWarning__jump_NexusReader_UI_Shared_Services_KnowledgeCoordinator_cs_LogSummaryWarning",
          "fromNodeId": "method:2y4xzb:requestsummaryandquizasync__call_131_LogSummaryWarning",
          "kind": "call-target",
          "targetNodeId": "method:arton1:logsummarywarning",
          "targetPath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "targetHint": "LogSummaryWarning",
          "line": 131,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target LogSummaryWarning resolved to NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs.",
          "status": "resolved"
        },
        {
          "id": "method:2y4xzb:requestsummaryandquizasync__call_136_LogSummaryError__jump_NexusReader_UI_Shared_Services_KnowledgeCoordinator_cs_LogSummaryError",
          "fromNodeId": "method:2y4xzb:requestsummaryandquizasync__call_136_LogSummaryError",
          "kind": "call-target",
          "targetNodeId": "method:1z06px6:logsummaryerror",
          "targetPath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "targetHint": "LogSummaryError",
          "line": 136,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target LogSummaryError resolved to NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs.",
          "status": "resolved"
        }
      ],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [
        "method:2y4xzb:requestsummaryandquizasync__action_119_branch_119__merge",
        "method:2y4xzb:requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__merge"
      ],
      "language": "csharp",
      "confidence": 0.98,
      "lineSpan": {
        "start": 112,
        "end": 143
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "line": 112,
          "summary": "Control-flow fragment extracted for method RequestSummaryAndQuizAsync.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:b6ndo3:clearasync__fragment",
      "ownerFileId": "file:uvydt4:knowledgecoordinator-cs",
      "ownerSymbolId": "method:b6ndo3:clearasync",
      "ownerSymbolName": "ClearAsync",
      "entryNodeId": "method:b6ndo3:clearasync__entry",
      "exitNodeIds": [
        "method:b6ndo3:clearasync__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:b6ndo3:clearasync__entry",
          "kind": "entry",
          "label": "ClearAsync entry",
          "line": 145,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.99,
          "detail": "Clears the graph service state and clears the quiz state."
        },
        {
          "id": "method:b6ndo3:clearasync__action_147_clearasync_await_147_0__await",
          "kind": "await",
          "label": "Waits for async work",
          "line": 147,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81,
          "detail": "await _graphService.Clear();"
        },
        {
          "id": "method:b6ndo3:clearasync__action_147_state_change_147__linear",
          "kind": "statement",
          "label": "Clear graph and quiz",
          "line": 147,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "Calls graphService.Clear() and quizService.SetQuiz(null, null)"
        },
        {
          "id": "method:b6ndo3:clearasync__call_147_IKnowledgeGraphService_Clear",
          "kind": "call",
          "label": "IKnowledgeGraphService.Clear",
          "line": 147,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "none"
        },
        {
          "id": "method:b6ndo3:clearasync__action_148_clearasync_await_148_1__await",
          "kind": "await",
          "label": "Waits for async work",
          "line": 148,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81,
          "detail": "await _quizService.SetQuiz(null, null);"
        },
        {
          "id": "method:b6ndo3:clearasync__call_148_IQuizStateService_SetQuiz",
          "kind": "call",
          "label": "IQuizStateService.SetQuiz",
          "line": 148,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "null, null"
        },
        {
          "id": "method:b6ndo3:clearasync__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 149,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:b6ndo3:clearasync__entry__method:b6ndo3:clearasync__action_147_clearasync_await_147_0__await",
          "from": "method:b6ndo3:clearasync__entry",
          "to": "method:b6ndo3:clearasync__action_147_clearasync_await_147_0__await",
          "kind": "next",
          "line": 147,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81
        },
        {
          "id": "method:b6ndo3:clearasync__action_147_clearasync_await_147_0__await__method:b6ndo3:clearasync__action_147_state_change_147__linear",
          "from": "method:b6ndo3:clearasync__action_147_clearasync_await_147_0__await",
          "to": "method:b6ndo3:clearasync__action_147_state_change_147__linear",
          "kind": "next",
          "line": 147,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:b6ndo3:clearasync__action_147_state_change_147__linear__call_method:b6ndo3:clearasync__call_147_IKnowledgeGraphService_Clear",
          "from": "method:b6ndo3:clearasync__action_147_state_change_147__linear",
          "to": "method:b6ndo3:clearasync__call_147_IKnowledgeGraphService_Clear",
          "kind": "call",
          "label": "none",
          "line": 147,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:b6ndo3:clearasync__call_147_IKnowledgeGraphService_Clear__method:b6ndo3:clearasync__action_148_clearasync_await_148_1__await",
          "from": "method:b6ndo3:clearasync__call_147_IKnowledgeGraphService_Clear",
          "to": "method:b6ndo3:clearasync__action_148_clearasync_await_148_1__await",
          "kind": "next",
          "line": 148,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.81
        },
        {
          "id": "method:b6ndo3:clearasync__action_148_clearasync_await_148_1__await__call_method:b6ndo3:clearasync__call_148_IQuizStateService_SetQuiz",
          "from": "method:b6ndo3:clearasync__action_148_clearasync_await_148_1__await",
          "to": "method:b6ndo3:clearasync__call_148_IQuizStateService_SetQuiz",
          "kind": "call",
          "label": "null, null",
          "line": 148,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:b6ndo3:clearasync__call_148_IQuizStateService_SetQuiz__implicit_return",
          "from": "method:b6ndo3:clearasync__call_148_IQuizStateService_SetQuiz",
          "to": "method:b6ndo3:clearasync__implicit_return",
          "kind": "return",
          "line": 149,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [
        {
          "id": "method:b6ndo3:clearasync__call_147_IKnowledgeGraphService_Clear__jump_unknown_IKnowledgeGraphService_Clear",
          "fromNodeId": "method:b6ndo3:clearasync__call_147_IKnowledgeGraphService_Clear",
          "kind": "call-target",
          "targetPath": "unknown",
          "targetHint": "IKnowledgeGraphService.Clear",
          "line": 147,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target IKnowledgeGraphService.Clear in unknown could not be matched to an extracted method symbol.",
          "status": "unresolved"
        },
        {
          "id": "method:b6ndo3:clearasync__call_148_IQuizStateService_SetQuiz__jump_unknown_IQuizStateService_SetQuiz",
          "fromNodeId": "method:b6ndo3:clearasync__call_148_IQuizStateService_SetQuiz",
          "kind": "call-target",
          "targetPath": "unknown",
          "targetHint": "IQuizStateService.SetQuiz",
          "line": 148,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target IQuizStateService.SetQuiz in unknown could not be matched to an extracted method symbol.",
          "status": "unresolved"
        }
      ],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.7799999999999999,
      "lineSpan": {
        "start": 145,
        "end": 149
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "line": 145,
          "summary": "Control-flow fragment extracted for method ClearAsync.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:1wlwqp0:dispose__fragment",
      "ownerFileId": "file:uvydt4:knowledgecoordinator-cs",
      "ownerSymbolId": "method:1wlwqp0:dispose",
      "ownerSymbolName": "Dispose",
      "entryNodeId": "method:1wlwqp0:dispose__entry",
      "exitNodeIds": [
        "method:1wlwqp0:dispose__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:1wlwqp0:dispose__entry",
          "kind": "entry",
          "label": "Dispose entry",
          "line": 151,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.99,
          "detail": "Unsubscribes the node-selected handler from the interaction service to avoid leaks."
        },
        {
          "id": "method:1wlwqp0:dispose__action_153_event_unsubscribe_153__linear",
          "kind": "statement",
          "label": "Unsubscribe node selection handler",
          "line": 153,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "_interactionService.OnNodeSelected -= HandleNodeSelected"
        },
        {
          "id": "method:1wlwqp0:dispose__call_153_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
          "kind": "call",
          "label": "IReaderInteractionService.OnNodeSelected -= HandleNodeSelected",
          "line": 153,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88,
          "detail": "event handler HandleNodeSelected"
        },
        {
          "id": "method:1wlwqp0:dispose__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 154,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:1wlwqp0:dispose__entry__method:1wlwqp0:dispose__action_153_event_unsubscribe_153__linear",
          "from": "method:1wlwqp0:dispose__entry",
          "to": "method:1wlwqp0:dispose__action_153_event_unsubscribe_153__linear",
          "kind": "next",
          "line": 153,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1wlwqp0:dispose__action_153_event_unsubscribe_153__linear__call_method:1wlwqp0:dispose__call_153_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
          "from": "method:1wlwqp0:dispose__action_153_event_unsubscribe_153__linear",
          "to": "method:1wlwqp0:dispose__call_153_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
          "kind": "call",
          "label": "event handler HandleNodeSelected",
          "line": 153,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.88
        },
        {
          "id": "method:1wlwqp0:dispose__call_153_IReaderInteractionService_OnNodeSelected_HandleNodeSelected__implicit_return",
          "from": "method:1wlwqp0:dispose__call_153_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
          "to": "method:1wlwqp0:dispose__implicit_return",
          "kind": "return",
          "line": 154,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [
        {
          "id": "method:1wlwqp0:dispose__call_153_IReaderInteractionService_OnNodeSelected_HandleNodeSelected__jump_unknown_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
          "fromNodeId": "method:1wlwqp0:dispose__call_153_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
          "kind": "call-target",
          "targetPath": "unknown",
          "targetHint": "IReaderInteractionService.OnNodeSelected -= HandleNodeSelected",
          "line": 153,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "reason": "Call target IReaderInteractionService.OnNodeSelected -= HandleNodeSelected in unknown could not be matched to an extracted method symbol.",
          "status": "unresolved"
        }
      ],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.7399999999999999,
      "lineSpan": {
        "start": 151,
        "end": 154
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "line": 151,
          "summary": "Control-flow fragment extracted for method Dispose.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:1ip44st:loggeneratinggraph__fragment",
      "ownerFileId": "file:uvydt4:knowledgecoordinator-cs",
      "ownerSymbolId": "method:1ip44st:loggeneratinggraph",
      "ownerSymbolName": "LogGeneratingGraph",
      "entryNodeId": "method:1ip44st:loggeneratinggraph__entry",
      "exitNodeIds": [
        "method:1ip44st:loggeneratinggraph__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:1ip44st:loggeneratinggraph__entry",
          "kind": "entry",
          "label": "LogGeneratingGraph entry",
          "line": 157,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.99,
          "detail": "Source-generated logger stub for informational message when generating a graph."
        },
        {
          "id": "method:1ip44st:loggeneratinggraph__action_156_log_156__linear",
          "kind": "statement",
          "label": "Log generating graph (source-gen)",
          "line": 156,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "[LoggerMessage] attribute declares message template"
        },
        {
          "id": "method:1ip44st:loggeneratinggraph__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 157,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:1ip44st:loggeneratinggraph__entry__method:1ip44st:loggeneratinggraph__action_156_log_156__linear",
          "from": "method:1ip44st:loggeneratinggraph__entry",
          "to": "method:1ip44st:loggeneratinggraph__action_156_log_156__linear",
          "kind": "next",
          "line": 156,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1ip44st:loggeneratinggraph__action_156_log_156__linear__implicit_return",
          "from": "method:1ip44st:loggeneratinggraph__action_156_log_156__linear",
          "to": "method:1ip44st:loggeneratinggraph__implicit_return",
          "kind": "return",
          "line": 157,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.76,
      "lineSpan": {
        "start": 157,
        "end": 157
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "line": 157,
          "summary": "Control-flow fragment extracted for method LogGeneratingGraph.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:1nzct8x:loggrapherror__fragment",
      "ownerFileId": "file:uvydt4:knowledgecoordinator-cs",
      "ownerSymbolId": "method:1nzct8x:loggrapherror",
      "ownerSymbolName": "LogGraphError",
      "entryNodeId": "method:1nzct8x:loggrapherror__entry",
      "exitNodeIds": [
        "method:1nzct8x:loggrapherror__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:1nzct8x:loggrapherror__entry",
          "kind": "entry",
          "label": "LogGraphError entry",
          "line": 160,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.99,
          "detail": "Source-generated logger stub for graph generation errors."
        },
        {
          "id": "method:1nzct8x:loggrapherror__action_159_log_159__linear",
          "kind": "statement",
          "label": "Log graph generation error (source-gen)",
          "line": 159,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "[LoggerMessage] attribute declares error template"
        },
        {
          "id": "method:1nzct8x:loggrapherror__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 160,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:1nzct8x:loggrapherror__entry__method:1nzct8x:loggrapherror__action_159_log_159__linear",
          "from": "method:1nzct8x:loggrapherror__entry",
          "to": "method:1nzct8x:loggrapherror__action_159_log_159__linear",
          "kind": "next",
          "line": 159,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1nzct8x:loggrapherror__action_159_log_159__linear__implicit_return",
          "from": "method:1nzct8x:loggrapherror__action_159_log_159__linear",
          "to": "method:1nzct8x:loggrapherror__implicit_return",
          "kind": "return",
          "line": 160,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.76,
      "lineSpan": {
        "start": 160,
        "end": 160
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "line": 160,
          "summary": "Control-flow fragment extracted for method LogGraphError.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:1sfi79b:logrequestingsummary__fragment",
      "ownerFileId": "file:uvydt4:knowledgecoordinator-cs",
      "ownerSymbolId": "method:1sfi79b:logrequestingsummary",
      "ownerSymbolName": "LogRequestingSummary",
      "entryNodeId": "method:1sfi79b:logrequestingsummary__entry",
      "exitNodeIds": [
        "method:1sfi79b:logrequestingsummary__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:1sfi79b:logrequestingsummary__entry",
          "kind": "entry",
          "label": "LogRequestingSummary entry",
          "line": 163,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.99,
          "detail": "Source-generated logger stub for requesting summary and quiz."
        },
        {
          "id": "method:1sfi79b:logrequestingsummary__action_162_log_162__linear",
          "kind": "statement",
          "label": "Log requesting summary (source-gen)",
          "line": 162,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "[LoggerMessage] attribute declares message template"
        },
        {
          "id": "method:1sfi79b:logrequestingsummary__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 163,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:1sfi79b:logrequestingsummary__entry__method:1sfi79b:logrequestingsummary__action_162_log_162__linear",
          "from": "method:1sfi79b:logrequestingsummary__entry",
          "to": "method:1sfi79b:logrequestingsummary__action_162_log_162__linear",
          "kind": "next",
          "line": 162,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1sfi79b:logrequestingsummary__action_162_log_162__linear__implicit_return",
          "from": "method:1sfi79b:logrequestingsummary__action_162_log_162__linear",
          "to": "method:1sfi79b:logrequestingsummary__implicit_return",
          "kind": "return",
          "line": 163,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.76,
      "lineSpan": {
        "start": 163,
        "end": 163
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "line": 163,
          "summary": "Control-flow fragment extracted for method LogRequestingSummary.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:arton1:logsummarywarning__fragment",
      "ownerFileId": "file:uvydt4:knowledgecoordinator-cs",
      "ownerSymbolId": "method:arton1:logsummarywarning",
      "ownerSymbolName": "LogSummaryWarning",
      "entryNodeId": "method:arton1:logsummarywarning__entry",
      "exitNodeIds": [
        "method:arton1:logsummarywarning__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:arton1:logsummarywarning__entry",
          "kind": "entry",
          "label": "LogSummaryWarning entry",
          "line": 166,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.99,
          "detail": "Source-generated logger stub for warnings when summary/quiz retrieval fails."
        },
        {
          "id": "method:arton1:logsummarywarning__action_165_log_165__linear",
          "kind": "statement",
          "label": "Log summary warning (source-gen)",
          "line": 165,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "[LoggerMessage] attribute declares warning template"
        },
        {
          "id": "method:arton1:logsummarywarning__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 166,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:arton1:logsummarywarning__entry__method:arton1:logsummarywarning__action_165_log_165__linear",
          "from": "method:arton1:logsummarywarning__entry",
          "to": "method:arton1:logsummarywarning__action_165_log_165__linear",
          "kind": "next",
          "line": 165,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:arton1:logsummarywarning__action_165_log_165__linear__implicit_return",
          "from": "method:arton1:logsummarywarning__action_165_log_165__linear",
          "to": "method:arton1:logsummarywarning__implicit_return",
          "kind": "return",
          "line": 166,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.76,
      "lineSpan": {
        "start": 166,
        "end": 166
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "line": 166,
          "summary": "Control-flow fragment extracted for method LogSummaryWarning.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:1z06px6:logsummaryerror__fragment",
      "ownerFileId": "file:uvydt4:knowledgecoordinator-cs",
      "ownerSymbolId": "method:1z06px6:logsummaryerror",
      "ownerSymbolName": "LogSummaryError",
      "entryNodeId": "method:1z06px6:logsummaryerror__entry",
      "exitNodeIds": [
        "method:1z06px6:logsummaryerror__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:1z06px6:logsummaryerror__entry",
          "kind": "entry",
          "label": "LogSummaryError entry",
          "line": 169,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.99,
          "detail": "Source-generated logger stub for errors during summary/quiz retrieval."
        },
        {
          "id": "method:1z06px6:logsummaryerror__action_168_log_168__linear",
          "kind": "statement",
          "label": "Log summary error (source-gen)",
          "line": 168,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7,
          "detail": "[LoggerMessage] attribute declares error template"
        },
        {
          "id": "method:1z06px6:logsummaryerror__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 169,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:1z06px6:logsummaryerror__entry__method:1z06px6:logsummaryerror__action_168_log_168__linear",
          "from": "method:1z06px6:logsummaryerror__entry",
          "to": "method:1z06px6:logsummaryerror__action_168_log_168__linear",
          "kind": "next",
          "line": 168,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1z06px6:logsummaryerror__action_168_log_168__linear__implicit_return",
          "from": "method:1z06px6:logsummaryerror__action_168_log_168__linear",
          "to": "method:1z06px6:logsummaryerror__implicit_return",
          "kind": "return",
          "line": 169,
          "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.76,
      "lineSpan": {
        "start": 169,
        "end": 169
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
          "line": 169,
          "summary": "Control-flow fragment extracted for method LogSummaryError.",
          "kind": "file-summary"
        }
      ]
    }
  ],
  "unresolvedJumps": [
    {
      "id": "method:1b2nffa:knowledgecoordinator__call_41_IReaderInteractionService_OnNodeSelected_HandleNodeSelected__jump_unknown_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
      "fromNodeId": "method:1b2nffa:knowledgecoordinator__call_41_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
      "kind": "call-target",
      "targetPath": "unknown",
      "targetHint": "IReaderInteractionService.OnNodeSelected += HandleNodeSelected",
      "line": 41,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target IReaderInteractionService.OnNodeSelected += HandleNodeSelected in unknown could not be matched to an extracted method symbol.",
      "status": "unresolved"
    },
    {
      "id": "method:t1zuul:handlenodeselected__call_48_IKnowledgeGraphService_CurrentGraphData__jump_unknown_IKnowledgeGraphService_CurrentGraphData",
      "fromNodeId": "method:t1zuul:handlenodeselected__call_48_IKnowledgeGraphService_CurrentGraphData",
      "kind": "call-target",
      "targetPath": "unknown",
      "targetHint": "IKnowledgeGraphService.CurrentGraphData",
      "line": 48,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target IKnowledgeGraphService.CurrentGraphData in unknown could not be matched to an extracted method symbol.",
      "status": "unresolved"
    },
    {
      "id": "method:t1zuul:handlenodeselected__call_55_HandleNodeSelected_internal_loop_logic___jump_NexusReader_UI_Shared_Services_KnowledgeCoordinator_cs_HandleNodeSelected_internal_loop_logic_",
      "fromNodeId": "method:t1zuul:handlenodeselected__call_55_HandleNodeSelected_internal_loop_logic_",
      "kind": "call-target",
      "targetPath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "targetHint": "HandleNodeSelected (internal loop logic)",
      "line": 55,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target HandleNodeSelected (internal loop logic) in NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs could not be matched to an extracted method symbol.",
      "status": "unresolved"
    },
    {
      "id": "method:t1zuul:handlenodeselected__call_71_IReaderInteractionService_RequestScrollToBlock__jump_unknown_IReaderInteractionService_RequestScrollToBlock",
      "fromNodeId": "method:t1zuul:handlenodeselected__call_71_IReaderInteractionService_RequestScrollToBlock",
      "kind": "call-target",
      "targetPath": "unknown",
      "targetHint": "IReaderInteractionService.RequestScrollToBlock",
      "line": 71,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target IReaderInteractionService.RequestScrollToBlock in unknown could not be matched to an extracted method symbol.",
      "status": "unresolved"
    },
    {
      "id": "method:t1zuul:handlenodeselected__call_72_IReaderInteractionService_RequestHighlightBlock__jump_unknown_IReaderInteractionService_RequestHighlightBlock",
      "fromNodeId": "method:t1zuul:handlenodeselected__call_72_IReaderInteractionService_RequestHighlightBlock",
      "kind": "call-target",
      "targetPath": "unknown",
      "targetHint": "IReaderInteractionService.RequestHighlightBlock",
      "line": 72,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target IReaderInteractionService.RequestHighlightBlock in unknown could not be matched to an extracted method symbol.",
      "status": "unresolved"
    },
    {
      "id": "method:1x9gjeq:processfullpageasync__call_82_IKnowledgeGraphService_Clear__jump_unknown_IKnowledgeGraphService_Clear",
      "fromNodeId": "method:1x9gjeq:processfullpageasync__call_82_IKnowledgeGraphService_Clear",
      "kind": "call-target",
      "targetPath": "unknown",
      "targetHint": "IKnowledgeGraphService.Clear",
      "line": 82,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target IKnowledgeGraphService.Clear in unknown could not be matched to an extracted method symbol.",
      "status": "unresolved"
    },
    {
      "id": "method:1x9gjeq:processfullpageasync__call_83_IKnowledgeGraphService_SetLoading__jump_unknown_IKnowledgeGraphService_SetLoading",
      "fromNodeId": "method:1x9gjeq:processfullpageasync__call_83_IKnowledgeGraphService_SetLoading",
      "kind": "call-target",
      "targetPath": "unknown",
      "targetHint": "IKnowledgeGraphService.SetLoading",
      "line": 83,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target IKnowledgeGraphService.SetLoading in unknown could not be matched to an extracted method symbol.",
      "status": "unresolved"
    },
    {
      "id": "method:1x9gjeq:processfullpageasync__call_87_IKnowledgeService_GetGraphDataAsync__jump_unknown_IKnowledgeService_GetGraphDataAsync",
      "fromNodeId": "method:1x9gjeq:processfullpageasync__call_87_IKnowledgeService_GetGraphDataAsync",
      "kind": "call-target",
      "targetPath": "unknown",
      "targetHint": "IKnowledgeService.GetGraphDataAsync",
      "line": 87,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target IKnowledgeService.GetGraphDataAsync in unknown could not be matched to an extracted method symbol.",
      "status": "unresolved"
    },
    {
      "id": "method:1x9gjeq:processfullpageasync__call_93_IKnowledgeGraphService_UpdateGraph__jump_unknown_IKnowledgeGraphService_UpdateGraph",
      "fromNodeId": "method:1x9gjeq:processfullpageasync__call_93_IKnowledgeGraphService_UpdateGraph",
      "kind": "call-target",
      "targetPath": "unknown",
      "targetHint": "IKnowledgeGraphService.UpdateGraph",
      "line": 93,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target IKnowledgeGraphService.UpdateGraph in unknown could not be matched to an extracted method symbol.",
      "status": "unresolved"
    },
    {
      "id": "method:1x9gjeq:processfullpageasync__call_95_OnGraphUpdated_Invoke__jump_NexusReader_UI_Shared_Services_KnowledgeCoordinator_cs_OnGraphUpdated_Invoke",
      "fromNodeId": "method:1x9gjeq:processfullpageasync__call_95_OnGraphUpdated_Invoke",
      "kind": "call-target",
      "targetPath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "targetHint": "OnGraphUpdated.Invoke",
      "line": 95,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target OnGraphUpdated.Invoke in NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs could not be matched to an extracted method symbol.",
      "status": "unresolved"
    },
    {
      "id": "method:1x9gjeq:processfullpageasync__call_96_IPlatformService_VibrateSuccessAsync__jump_unknown_IPlatformService_VibrateSuccessAsync",
      "fromNodeId": "method:1x9gjeq:processfullpageasync__call_96_IPlatformService_VibrateSuccessAsync",
      "kind": "call-target",
      "targetPath": "unknown",
      "targetHint": "IPlatformService.VibrateSuccessAsync",
      "line": 96,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target IPlatformService.VibrateSuccessAsync in unknown could not be matched to an extracted method symbol.",
      "status": "unresolved"
    },
    {
      "id": "method:1pdmx9l:onblockreachedasync__call_109_IKnowledgeGraphService_SetActiveNode__jump_unknown_IKnowledgeGraphService_SetActiveNode",
      "fromNodeId": "method:1pdmx9l:onblockreachedasync__call_109_IKnowledgeGraphService_SetActiveNode",
      "kind": "call-target",
      "targetPath": "unknown",
      "targetHint": "IKnowledgeGraphService.SetActiveNode",
      "line": 109,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target IKnowledgeGraphService.SetActiveNode in unknown could not be matched to an extracted method symbol.",
      "status": "unresolved"
    },
    {
      "id": "method:2y4xzb:requestsummaryandquizasync__call_114_IQuizStateService_SetHydrating__jump_unknown_IQuizStateService_SetHydrating",
      "fromNodeId": "method:2y4xzb:requestsummaryandquizasync__call_114_IQuizStateService_SetHydrating",
      "kind": "call-target",
      "targetPath": "unknown",
      "targetHint": "IQuizStateService.SetHydrating",
      "line": 114,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target IQuizStateService.SetHydrating in unknown could not be matched to an extracted method symbol.",
      "status": "unresolved"
    },
    {
      "id": "method:2y4xzb:requestsummaryandquizasync__call_118_IKnowledgeService_GetSummaryAndQuizAsync__jump_unknown_IKnowledgeService_GetSummaryAndQuizAsync",
      "fromNodeId": "method:2y4xzb:requestsummaryandquizasync__call_118_IKnowledgeService_GetSummaryAndQuizAsync",
      "kind": "call-target",
      "targetPath": "unknown",
      "targetHint": "IKnowledgeService.GetSummaryAndQuizAsync",
      "line": 118,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target IKnowledgeService.GetSummaryAndQuizAsync in unknown could not be matched to an extracted method symbol.",
      "status": "unresolved"
    },
    {
      "id": "method:2y4xzb:requestsummaryandquizasync__call_123_QuizQuestionDto_ctor__jump_NexusReader_UI_Shared_Services_KnowledgeCoordinator_cs_QuizQuestionDto_ctor",
      "fromNodeId": "method:2y4xzb:requestsummaryandquizasync__call_123_QuizQuestionDto_ctor",
      "kind": "call-target",
      "targetPath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "targetHint": "QuizQuestionDto..ctor",
      "line": 123,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target QuizQuestionDto..ctor in NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs could not be matched to an extracted method symbol.",
      "status": "unresolved"
    },
    {
      "id": "method:2y4xzb:requestsummaryandquizasync__call_126_IQuizStateService_SetQuiz__jump_unknown_IQuizStateService_SetQuiz",
      "fromNodeId": "method:2y4xzb:requestsummaryandquizasync__call_126_IQuizStateService_SetQuiz",
      "kind": "call-target",
      "targetPath": "unknown",
      "targetHint": "IQuizStateService.SetQuiz",
      "line": 126,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target IQuizStateService.SetQuiz in unknown could not be matched to an extracted method symbol.",
      "status": "unresolved"
    },
    {
      "id": "method:2y4xzb:requestsummaryandquizasync__call_127_IPlatformService_VibrateSuccessAsync__jump_unknown_IPlatformService_VibrateSuccessAsync",
      "fromNodeId": "method:2y4xzb:requestsummaryandquizasync__call_127_IPlatformService_VibrateSuccessAsync",
      "kind": "call-target",
      "targetPath": "unknown",
      "targetHint": "IPlatformService.VibrateSuccessAsync",
      "line": 127,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target IPlatformService.VibrateSuccessAsync in unknown could not be matched to an extracted method symbol.",
      "status": "unresolved"
    },
    {
      "id": "method:b6ndo3:clearasync__call_147_IKnowledgeGraphService_Clear__jump_unknown_IKnowledgeGraphService_Clear",
      "fromNodeId": "method:b6ndo3:clearasync__call_147_IKnowledgeGraphService_Clear",
      "kind": "call-target",
      "targetPath": "unknown",
      "targetHint": "IKnowledgeGraphService.Clear",
      "line": 147,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target IKnowledgeGraphService.Clear in unknown could not be matched to an extracted method symbol.",
      "status": "unresolved"
    },
    {
      "id": "method:b6ndo3:clearasync__call_148_IQuizStateService_SetQuiz__jump_unknown_IQuizStateService_SetQuiz",
      "fromNodeId": "method:b6ndo3:clearasync__call_148_IQuizStateService_SetQuiz",
      "kind": "call-target",
      "targetPath": "unknown",
      "targetHint": "IQuizStateService.SetQuiz",
      "line": 148,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target IQuizStateService.SetQuiz in unknown could not be matched to an extracted method symbol.",
      "status": "unresolved"
    },
    {
      "id": "method:1wlwqp0:dispose__call_153_IReaderInteractionService_OnNodeSelected_HandleNodeSelected__jump_unknown_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
      "fromNodeId": "method:1wlwqp0:dispose__call_153_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
      "kind": "call-target",
      "targetPath": "unknown",
      "targetHint": "IReaderInteractionService.OnNodeSelected -= HandleNodeSelected",
      "line": 153,
      "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
      "reason": "Call target IReaderInteractionService.OnNodeSelected -= HandleNodeSelected in unknown could not be matched to an extracted method symbol.",
      "status": "unresolved"
    }
  ],
  "diagrams": [
    {
      "id": "file_uvydt4_knowledgecoordinator_cs_neighborhood_view",
      "purpose": "neighborhood-view",
      "title": "KnowledgeCoordinator Neighborhood",
      "required": true,
      "diagram": {
        "id": "file_uvydt4_knowledgecoordinator_cs_neighborhood_view",
        "kind": "dependency-map",
        "title": "KnowledgeCoordinator Neighborhood",
        "direction": "LR",
        "nodes": [
          {
            "id": "file_uvydt4_knowledgecoordinator_cs",
            "kind": "service",
            "label": "KnowledgeCoordinator",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs"
          },
          {
            "id": "class_1cca8vk_knowledgecoordinator",
            "kind": "service",
            "label": "KnowledgeCoordinator",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs"
          },
          {
            "id": "method_1b2nffa_knowledgecoordinator",
            "kind": "method",
            "label": "KnowledgeCoordinator()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 26
          },
          {
            "id": "method_t1zuul_handlenodeselected",
            "kind": "method",
            "label": "HandleNodeSelected()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 44
          },
          {
            "id": "method_1x9gjeq_processfullpageasync",
            "kind": "method",
            "label": "ProcessFullPageAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 76
          },
          {
            "id": "method_1pdmx9l_onblockreachedasync",
            "kind": "method",
            "label": "OnBlockReachedAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 106
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync",
            "kind": "method",
            "label": "RequestSummaryAndQuizAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 112
          },
          {
            "id": "method_b6ndo3_clearasync",
            "kind": "method",
            "label": "ClearAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 145
          },
          {
            "id": "method_1wlwqp0_dispose",
            "kind": "method",
            "label": "Dispose()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 151
          },
          {
            "id": "method_1ip44st_loggeneratinggraph",
            "kind": "method",
            "label": "LogGeneratingGraph()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 157
          },
          {
            "id": "method_1nzct8x_loggrapherror",
            "kind": "method",
            "label": "LogGraphError()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 160
          },
          {
            "id": "method_1sfi79b_logrequestingsummary",
            "kind": "method",
            "label": "LogRequestingSummary()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 163
          },
          {
            "id": "method_arton1_logsummarywarning",
            "kind": "method",
            "label": "LogSummaryWarning()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 166
          },
          {
            "id": "method_1z06px6_logsummaryerror",
            "kind": "method",
            "label": "LogSummaryError()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 169
          }
        ],
        "edges": [],
        "metadata": {
          "evidencePaths": [
            "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs"
          ]
        },
        "subgraphs": []
      },
      "mermaidSource": "---\nconfig:\n  flowchart:\n    defaultRenderer: \"elk\"\n---\nflowchart LR\n    class_1cca8vk_knowledgecoordinator(\"KnowledgeCoordinator\")\n    file_uvydt4_knowledgecoordinator_cs(\"KnowledgeCoordinator\")\n    method_1b2nffa_knowledgecoordinator[[\"KnowledgeCoordinator()\"]]\n    method_1ip44st_loggeneratinggraph[[\"LogGeneratingGraph()\"]]\n    method_1nzct8x_loggrapherror[[\"LogGraphError()\"]]\n    method_1pdmx9l_onblockreachedasync[[\"OnBlockReachedAsync()\"]]\n    method_1sfi79b_logrequestingsummary[[\"LogRequestingSummary()\"]]\n    method_1wlwqp0_dispose[[\"Dispose()\"]]\n    method_1x9gjeq_processfullpageasync[[\"ProcessFullPageAsync()\"]]\n    method_1z06px6_logsummaryerror[[\"LogSummaryError()\"]]\n    method_2y4xzb_requestsummaryandquizasync[[\"RequestSummaryAndQuizAsync()\"]]\n    method_arton1_logsummarywarning[[\"LogSummaryWarning()\"]]\n    method_b6ndo3_clearasync[[\"ClearAsync()\"]]\n    method_t1zuul_handlenodeselected[[\"HandleNodeSelected()\"]]",
      "warnings": [
        "diagram file_uvydt4_knowledgecoordinator_cs_neighborhood_view exceeds preferred complexity thresholds (14 nodes, 0 edges)."
      ]
    },
    {
      "id": "file_uvydt4_knowledgecoordinator_cs_execution_view",
      "purpose": "execution-overview",
      "title": "KnowledgeCoordinator Execution Overview",
      "required": true,
      "diagram": {
        "id": "file_uvydt4_knowledgecoordinator_cs_execution_view",
        "kind": "method-flow",
        "title": "KnowledgeCoordinator Execution Overview",
        "direction": "TD",
        "nodes": [
          {
            "id": "class_1cca8vk_knowledgecoordinator",
            "kind": "service",
            "label": "KnowledgeCoordinator",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs"
          },
          {
            "id": "method_1b2nffa_knowledgecoordinator",
            "kind": "method",
            "label": "KnowledgeCoordinator()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 26
          },
          {
            "id": "method_t1zuul_handlenodeselected",
            "kind": "method",
            "label": "HandleNodeSelected()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 44
          },
          {
            "id": "method_1x9gjeq_processfullpageasync",
            "kind": "method",
            "label": "ProcessFullPageAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 76
          },
          {
            "id": "method_1pdmx9l_onblockreachedasync",
            "kind": "method",
            "label": "OnBlockReachedAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 106
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync",
            "kind": "method",
            "label": "RequestSummaryAndQuizAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 112
          },
          {
            "id": "method_b6ndo3_clearasync",
            "kind": "method",
            "label": "ClearAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 145
          },
          {
            "id": "method_1wlwqp0_dispose",
            "kind": "method",
            "label": "Dispose()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 151
          },
          {
            "id": "method_1ip44st_loggeneratinggraph",
            "kind": "method",
            "label": "LogGeneratingGraph()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 157
          },
          {
            "id": "method_1nzct8x_loggrapherror",
            "kind": "method",
            "label": "LogGraphError()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 160
          },
          {
            "id": "method_1sfi79b_logrequestingsummary",
            "kind": "method",
            "label": "LogRequestingSummary()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 163
          },
          {
            "id": "method_arton1_logsummarywarning",
            "kind": "method",
            "label": "LogSummaryWarning()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 166
          },
          {
            "id": "method_1z06px6_logsummaryerror",
            "kind": "method",
            "label": "LogSummaryError()",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 169
          },
          {
            "id": "unresolved_unresolved_jn8a9a_call_target",
            "kind": "prompt",
            "label": "Unresolved: IReaderInteractionService.OnNodeSelected += HandleNodeSelected",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 41
          },
          {
            "id": "unresolved_unresolved_1jeqq7f_call_target",
            "kind": "prompt",
            "label": "Unresolved: IKnowledgeGraphService.CurrentGraphData",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 48
          },
          {
            "id": "unresolved_unresolved_6y3yrp_call_target",
            "kind": "prompt",
            "label": "Unresolved: HandleNodeSelected (internal loop logic)",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 55
          },
          {
            "id": "unresolved_unresolved_rs65i9_call_target",
            "kind": "prompt",
            "label": "Unresolved: IReaderInteractionService.RequestScrollToBlock",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 71
          },
          {
            "id": "unresolved_unresolved_o570ld_call_target",
            "kind": "prompt",
            "label": "Unresolved: IReaderInteractionService.RequestHighlightBlock",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 72
          },
          {
            "id": "unresolved_unresolved_1uj8fas_call_target",
            "kind": "prompt",
            "label": "Unresolved: LogGeneratingGraph",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 80
          },
          {
            "id": "unresolved_unresolved_19qfwar_call_target",
            "kind": "prompt",
            "label": "Unresolved: IKnowledgeGraphService.Clear",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 82
          },
          {
            "id": "unresolved_unresolved_oerwvi_call_target",
            "kind": "prompt",
            "label": "Unresolved: IKnowledgeGraphService.SetLoading",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 83
          },
          {
            "id": "unresolved_unresolved_u4oqdw_call_target",
            "kind": "prompt",
            "label": "Unresolved: IKnowledgeService.GetGraphDataAsync",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 87
          },
          {
            "id": "unresolved_unresolved_d4g5ep_call_target",
            "kind": "prompt",
            "label": "Unresolved: IKnowledgeGraphService.UpdateGraph",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 93
          },
          {
            "id": "unresolved_unresolved_gv42wu_call_target",
            "kind": "prompt",
            "label": "Unresolved: OnGraphUpdated.Invoke",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 95
          },
          {
            "id": "unresolved_unresolved_1mb4whl_call_target",
            "kind": "prompt",
            "label": "Unresolved: IPlatformService.VibrateSuccessAsync",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 96
          },
          {
            "id": "unresolved_unresolved_1jethnu_call_target",
            "kind": "prompt",
            "label": "Unresolved: LogGraphError",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 102
          },
          {
            "id": "unresolved_unresolved_e519rx_call_target",
            "kind": "prompt",
            "label": "Unresolved: IKnowledgeGraphService.SetActiveNode",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 109
          },
          {
            "id": "unresolved_unresolved_1x8q8gu_call_target",
            "kind": "prompt",
            "label": "Unresolved: IQuizStateService.SetHydrating",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 114
          },
          {
            "id": "unresolved_unresolved_1l2fji5_call_target",
            "kind": "prompt",
            "label": "Unresolved: LogRequestingSummary",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 115
          },
          {
            "id": "unresolved_unresolved_50r37w_call_target",
            "kind": "prompt",
            "label": "Unresolved: IKnowledgeService.GetSummaryAndQuizAsync",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 118
          },
          {
            "id": "unresolved_unresolved_1xmjhl6_call_target",
            "kind": "prompt",
            "label": "Unresolved: QuizQuestionDto..ctor",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 123
          },
          {
            "id": "unresolved_unresolved_aq6gt7_call_target",
            "kind": "prompt",
            "label": "Unresolved: IQuizStateService.SetQuiz",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 126
          },
          {
            "id": "unresolved_unresolved_138ieal_call_target",
            "kind": "prompt",
            "label": "Unresolved: IPlatformService.VibrateSuccessAsync",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 127
          },
          {
            "id": "unresolved_unresolved_jzoxi8_call_target",
            "kind": "prompt",
            "label": "Unresolved: LogSummaryWarning",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 131
          },
          {
            "id": "unresolved_unresolved_10k0xq2_call_target",
            "kind": "prompt",
            "label": "Unresolved: LogSummaryError",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 136
          },
          {
            "id": "unresolved_unresolved_1wzgphe_call_target",
            "kind": "prompt",
            "label": "Unresolved: IKnowledgeGraphService.Clear",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 147
          },
          {
            "id": "unresolved_unresolved_aqqz88_call_target",
            "kind": "prompt",
            "label": "Unresolved: IQuizStateService.SetQuiz",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 148
          },
          {
            "id": "unresolved_unresolved_e4ysnj_call_target",
            "kind": "prompt",
            "label": "Unresolved: IReaderInteractionService.OnNodeSelected -= HandleNodeSelected",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 153
          },
          {
            "id": "unresolved_unresolved_14hsy43_interaction_target",
            "kind": "prompt",
            "label": "Unresolved: var selectedNode = graph.Nodes.FirstOrDefault(n => n.Id == nodeId);",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 51
          },
          {
            "id": "unresolved_unresolved_9p5jul_interaction_target",
            "kind": "prompt",
            "label": "Unresolved: var connectedLinks = graph.Links.Where(l => l.Source == nodeId || l.Target == nodeId).ToList();",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 55
          },
          {
            "id": "unresolved_unresolved_1gdw0l4_interaction_target",
            "kind": "prompt",
            "label": "Unresolved: var otherNode = graph.Nodes.FirstOrDefault(n => n.Id == otherId);",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 59
          },
          {
            "id": "unresolved_unresolved_1tot29h_interaction_target",
            "kind": "prompt",
            "label": "Unresolved: calls interaction service to scroll and highlight target block",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 71
          },
          {
            "id": "unresolved_unresolved_195fh9x_interaction_target",
            "kind": "prompt",
            "label": "Unresolved: await knowledgeService.GetGraphDataAsync(fullContent, tenantId)",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 87
          },
          {
            "id": "unresolved_unresolved_lfjasv_interaction_target",
            "kind": "prompt",
            "label": "Unresolved: await knowledgeService.GetSummaryAndQuizAsync",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 118
          }
        ],
        "edges": [
          {
            "id": "class_1cca8vk_knowledgecoordinator_contains_method_1b2nffa_knowledgecoordinator",
            "from": "class_1cca8vk_knowledgecoordinator",
            "to": "method_1b2nffa_knowledgecoordinator",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 26
          },
          {
            "id": "class_1cca8vk_knowledgecoordinator_contains_method_t1zuul_handlenodeselected",
            "from": "class_1cca8vk_knowledgecoordinator",
            "to": "method_t1zuul_handlenodeselected",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 44
          },
          {
            "id": "class_1cca8vk_knowledgecoordinator_contains_method_1x9gjeq_processfullpageasync",
            "from": "class_1cca8vk_knowledgecoordinator",
            "to": "method_1x9gjeq_processfullpageasync",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 76
          },
          {
            "id": "class_1cca8vk_knowledgecoordinator_contains_method_1pdmx9l_onblockreachedasync",
            "from": "class_1cca8vk_knowledgecoordinator",
            "to": "method_1pdmx9l_onblockreachedasync",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 106
          },
          {
            "id": "class_1cca8vk_knowledgecoordinator_contains_method_2y4xzb_requestsummaryandquizasync",
            "from": "class_1cca8vk_knowledgecoordinator",
            "to": "method_2y4xzb_requestsummaryandquizasync",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 112
          },
          {
            "id": "class_1cca8vk_knowledgecoordinator_contains_method_b6ndo3_clearasync",
            "from": "class_1cca8vk_knowledgecoordinator",
            "to": "method_b6ndo3_clearasync",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 145
          },
          {
            "id": "class_1cca8vk_knowledgecoordinator_contains_method_1wlwqp0_dispose",
            "from": "class_1cca8vk_knowledgecoordinator",
            "to": "method_1wlwqp0_dispose",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 151
          },
          {
            "id": "class_1cca8vk_knowledgecoordinator_contains_method_1ip44st_loggeneratinggraph",
            "from": "class_1cca8vk_knowledgecoordinator",
            "to": "method_1ip44st_loggeneratinggraph",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 157
          },
          {
            "id": "class_1cca8vk_knowledgecoordinator_contains_method_1nzct8x_loggrapherror",
            "from": "class_1cca8vk_knowledgecoordinator",
            "to": "method_1nzct8x_loggrapherror",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 160
          },
          {
            "id": "class_1cca8vk_knowledgecoordinator_contains_method_1sfi79b_logrequestingsummary",
            "from": "class_1cca8vk_knowledgecoordinator",
            "to": "method_1sfi79b_logrequestingsummary",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 163
          },
          {
            "id": "class_1cca8vk_knowledgecoordinator_contains_method_arton1_logsummarywarning",
            "from": "class_1cca8vk_knowledgecoordinator",
            "to": "method_arton1_logsummarywarning",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 166
          },
          {
            "id": "class_1cca8vk_knowledgecoordinator_contains_method_1z06px6_logsummaryerror",
            "from": "class_1cca8vk_knowledgecoordinator",
            "to": "method_1z06px6_logsummaryerror",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 169
          },
          {
            "id": "unresolved_jn8a9a_call_target_edge",
            "from": "method_1b2nffa_knowledgecoordinator",
            "to": "unresolved_unresolved_jn8a9a_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 41
          },
          {
            "id": "unresolved_1jeqq7f_call_target_edge",
            "from": "method_t1zuul_handlenodeselected",
            "to": "unresolved_unresolved_1jeqq7f_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 48
          },
          {
            "id": "unresolved_6y3yrp_call_target_edge",
            "from": "method_t1zuul_handlenodeselected",
            "to": "unresolved_unresolved_6y3yrp_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 55
          },
          {
            "id": "unresolved_rs65i9_call_target_edge",
            "from": "method_t1zuul_handlenodeselected",
            "to": "unresolved_unresolved_rs65i9_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 71
          },
          {
            "id": "unresolved_o570ld_call_target_edge",
            "from": "method_t1zuul_handlenodeselected",
            "to": "unresolved_unresolved_o570ld_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 72
          },
          {
            "id": "unresolved_1uj8fas_call_target_edge",
            "from": "method_1x9gjeq_processfullpageasync",
            "to": "unresolved_unresolved_1uj8fas_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 80
          },
          {
            "id": "unresolved_19qfwar_call_target_edge",
            "from": "method_1x9gjeq_processfullpageasync",
            "to": "unresolved_unresolved_19qfwar_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 82
          },
          {
            "id": "unresolved_oerwvi_call_target_edge",
            "from": "method_1x9gjeq_processfullpageasync",
            "to": "unresolved_unresolved_oerwvi_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 83
          },
          {
            "id": "unresolved_u4oqdw_call_target_edge",
            "from": "method_1x9gjeq_processfullpageasync",
            "to": "unresolved_unresolved_u4oqdw_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 87
          },
          {
            "id": "unresolved_d4g5ep_call_target_edge",
            "from": "method_1x9gjeq_processfullpageasync",
            "to": "unresolved_unresolved_d4g5ep_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 93
          },
          {
            "id": "unresolved_gv42wu_call_target_edge",
            "from": "method_1x9gjeq_processfullpageasync",
            "to": "unresolved_unresolved_gv42wu_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 95
          },
          {
            "id": "unresolved_1mb4whl_call_target_edge",
            "from": "method_1x9gjeq_processfullpageasync",
            "to": "unresolved_unresolved_1mb4whl_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 96
          },
          {
            "id": "unresolved_1jethnu_call_target_edge",
            "from": "method_1x9gjeq_processfullpageasync",
            "to": "unresolved_unresolved_1jethnu_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 102
          },
          {
            "id": "unresolved_e519rx_call_target_edge",
            "from": "method_1pdmx9l_onblockreachedasync",
            "to": "unresolved_unresolved_e519rx_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 109
          },
          {
            "id": "unresolved_1x8q8gu_call_target_edge",
            "from": "method_2y4xzb_requestsummaryandquizasync",
            "to": "unresolved_unresolved_1x8q8gu_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 114
          },
          {
            "id": "unresolved_1l2fji5_call_target_edge",
            "from": "method_2y4xzb_requestsummaryandquizasync",
            "to": "unresolved_unresolved_1l2fji5_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 115
          },
          {
            "id": "unresolved_50r37w_call_target_edge",
            "from": "method_2y4xzb_requestsummaryandquizasync",
            "to": "unresolved_unresolved_50r37w_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 118
          },
          {
            "id": "unresolved_1xmjhl6_call_target_edge",
            "from": "method_2y4xzb_requestsummaryandquizasync",
            "to": "unresolved_unresolved_1xmjhl6_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 123
          },
          {
            "id": "unresolved_aq6gt7_call_target_edge",
            "from": "method_2y4xzb_requestsummaryandquizasync",
            "to": "unresolved_unresolved_aq6gt7_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 126
          },
          {
            "id": "unresolved_138ieal_call_target_edge",
            "from": "method_2y4xzb_requestsummaryandquizasync",
            "to": "unresolved_unresolved_138ieal_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 127
          },
          {
            "id": "unresolved_jzoxi8_call_target_edge",
            "from": "method_2y4xzb_requestsummaryandquizasync",
            "to": "unresolved_unresolved_jzoxi8_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 131
          },
          {
            "id": "unresolved_10k0xq2_call_target_edge",
            "from": "method_2y4xzb_requestsummaryandquizasync",
            "to": "unresolved_unresolved_10k0xq2_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 136
          },
          {
            "id": "unresolved_1wzgphe_call_target_edge",
            "from": "method_b6ndo3_clearasync",
            "to": "unresolved_unresolved_1wzgphe_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 147
          },
          {
            "id": "unresolved_aqqz88_call_target_edge",
            "from": "method_b6ndo3_clearasync",
            "to": "unresolved_unresolved_aqqz88_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 148
          },
          {
            "id": "unresolved_e4ysnj_call_target_edge",
            "from": "method_1wlwqp0_dispose",
            "to": "unresolved_unresolved_e4ysnj_call_target",
            "semanticLabel": "Call target was discovered in the summary but could not be matched to an extracted method symbol.",
            "visibleLabel": "unresolved call",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 153
          },
          {
            "id": "unresolved_14hsy43_interaction_target_edge",
            "from": "class_1cca8vk_knowledgecoordinator",
            "to": "unresolved_unresolved_14hsy43_interaction_target",
            "semanticLabel": "Interaction was identified in the file summary but does not yet map to a stable V5 target node.",
            "visibleLabel": "unresolved interaction",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 51
          },
          {
            "id": "unresolved_9p5jul_interaction_target_edge",
            "from": "class_1cca8vk_knowledgecoordinator",
            "to": "unresolved_unresolved_9p5jul_interaction_target",
            "semanticLabel": "Interaction was identified in the file summary but does not yet map to a stable V5 target node.",
            "visibleLabel": "unresolved interaction",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 55
          },
          {
            "id": "unresolved_1gdw0l4_interaction_target_edge",
            "from": "class_1cca8vk_knowledgecoordinator",
            "to": "unresolved_unresolved_1gdw0l4_interaction_target",
            "semanticLabel": "Interaction was identified in the file summary but does not yet map to a stable V5 target node.",
            "visibleLabel": "unresolved interaction",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 59
          },
          {
            "id": "unresolved_1tot29h_interaction_target_edge",
            "from": "class_1cca8vk_knowledgecoordinator",
            "to": "unresolved_unresolved_1tot29h_interaction_target",
            "semanticLabel": "Interaction was identified in the file summary but does not yet map to a stable V5 target node.",
            "visibleLabel": "unresolved interaction",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 71
          },
          {
            "id": "unresolved_195fh9x_interaction_target_edge",
            "from": "class_1cca8vk_knowledgecoordinator",
            "to": "unresolved_unresolved_195fh9x_interaction_target",
            "semanticLabel": "Interaction was identified in the file summary but does not yet map to a stable V5 target node.",
            "visibleLabel": "unresolved interaction",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 87
          },
          {
            "id": "unresolved_lfjasv_interaction_target_edge",
            "from": "class_1cca8vk_knowledgecoordinator",
            "to": "unresolved_unresolved_lfjasv_interaction_target",
            "semanticLabel": "Interaction was identified in the file summary but does not yet map to a stable V5 target node.",
            "visibleLabel": "unresolved interaction",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 118
          }
        ],
        "metadata": {
          "evidencePaths": [
            "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs"
          ],
          "warnings": [
            "Execution overview includes unresolved targets. Use validation artifacts before treating the flow as complete."
          ]
        },
        "subgraphs": []
      },
      "mermaidSource": "---\nconfig:\n  flowchart:\n    defaultRenderer: \"elk\"\n---\nflowchart TD\n    class_1cca8vk_knowledgecoordinator(\"KnowledgeCoordinator\")\n    method_1b2nffa_knowledgecoordinator[[\"KnowledgeCoordinator()\"]]\n    method_1ip44st_loggeneratinggraph[[\"LogGeneratingGraph()\"]]\n    method_1nzct8x_loggrapherror[[\"LogGraphError()\"]]\n    method_1pdmx9l_onblockreachedasync[[\"OnBlockReachedAsync()\"]]\n    method_1sfi79b_logrequestingsummary[[\"LogRequestingSummary()\"]]\n    method_1wlwqp0_dispose[[\"Dispose()\"]]\n    method_1x9gjeq_processfullpageasync[[\"ProcessFullPageAsync()\"]]\n    method_1z06px6_logsummaryerror[[\"LogSummaryError()\"]]\n    method_2y4xzb_requestsummaryandquizasync[[\"RequestSummaryAndQuizAsync()\"]]\n    method_arton1_logsummarywarning[[\"LogSummaryWarning()\"]]\n    method_b6ndo3_clearasync[[\"ClearAsync()\"]]\n    method_t1zuul_handlenodeselected[[\"HandleNodeSelected()\"]]\n    unresolved_unresolved_10k0xq2_call_target{\"Unresolved: LogSummaryError\"}\n    unresolved_unresolved_138ieal_call_target{\"Unresolved: IPlatformService.VibrateSuccessAsync\"}\n    unresolved_unresolved_14hsy43_interaction_target{\"Unresolved: var selectedNode = graph.Nodes.FirstOrDefault(n => n.Id == nodeId);\"}\n    unresolved_unresolved_195fh9x_interaction_target{\"Unresolved: await knowledgeService.GetGraphDataAsync(fullContent, tenantId)\"}\n    unresolved_unresolved_19qfwar_call_target{\"Unresolved: IKnowledgeGraphService.Clear\"}\n    unresolved_unresolved_1gdw0l4_interaction_target{\"Unresolved: var otherNode = graph.Nodes.FirstOrDefault(n => n.Id == otherId);\"}\n    unresolved_unresolved_1jeqq7f_call_target{\"Unresolved: IKnowledgeGraphService.CurrentGraphData\"}\n    unresolved_unresolved_1jethnu_call_target{\"Unresolved: LogGraphError\"}\n    unresolved_unresolved_1l2fji5_call_target{\"Unresolved: LogRequestingSummary\"}\n    unresolved_unresolved_1mb4whl_call_target{\"Unresolved: IPlatformService.VibrateSuccessAsync\"}\n    unresolved_unresolved_1tot29h_interaction_target{\"Unresolved: calls interaction service to scroll and highlight target block\"}\n    unresolved_unresolved_1uj8fas_call_target{\"Unresolved: LogGeneratingGraph\"}\n    unresolved_unresolved_1wzgphe_call_target{\"Unresolved: IKnowledgeGraphService.Clear\"}\n    unresolved_unresolved_1x8q8gu_call_target{\"Unresolved: IQuizStateService.SetHydrating\"}\n    unresolved_unresolved_1xmjhl6_call_target{\"Unresolved: QuizQuestionDto..ctor\"}\n    unresolved_unresolved_50r37w_call_target{\"Unresolved: IKnowledgeService.GetSummaryAndQuizAsync\"}\n    unresolved_unresolved_6y3yrp_call_target{\"Unresolved: HandleNodeSelected (internal loop logic)\"}\n    unresolved_unresolved_9p5jul_interaction_target{\"Unresolved: var connectedLinks = graph.Links.Where(l => l.Source == nodeId || l.Target == nodeId).ToList();\"}\n    unresolved_unresolved_aq6gt7_call_target{\"Unresolved: IQuizStateService.SetQuiz\"}\n    unresolved_unresolved_aqqz88_call_target{\"Unresolved: IQuizStateService.SetQuiz\"}\n    unresolved_unresolved_d4g5ep_call_target{\"Unresolved: IKnowledgeGraphService.UpdateGraph\"}\n    unresolved_unresolved_e4ysnj_call_target{\"Unresolved: IReaderInteractionService.OnNodeSelected -= HandleNodeSelected\"}\n    unresolved_unresolved_e519rx_call_target{\"Unresolved: IKnowledgeGraphService.SetActiveNode\"}\n    unresolved_unresolved_gv42wu_call_target{\"Unresolved: OnGraphUpdated.Invoke\"}\n    unresolved_unresolved_jn8a9a_call_target{\"Unresolved: IReaderInteractionService.OnNodeSelected += HandleNodeSelected\"}\n    unresolved_unresolved_jzoxi8_call_target{\"Unresolved: LogSummaryWarning\"}\n    unresolved_unresolved_lfjasv_interaction_target{\"Unresolved: await knowledgeService.GetSummaryAndQuizAsync\"}\n    unresolved_unresolved_o570ld_call_target{\"Unresolved: IReaderInteractionService.RequestHighlightBlock\"}\n    unresolved_unresolved_oerwvi_call_target{\"Unresolved: IKnowledgeGraphService.SetLoading\"}\n    unresolved_unresolved_rs65i9_call_target{\"Unresolved: IReaderInteractionService.RequestScrollToBlock\"}\n    unresolved_unresolved_u4oqdw_call_target{\"Unresolved: IKnowledgeService.GetGraphDataAsync\"}\n    class_1cca8vk_knowledgecoordinator -->|contains| method_1b2nffa_knowledgecoordinator\n    class_1cca8vk_knowledgecoordinator -->|contains| method_1ip44st_loggeneratinggraph\n    class_1cca8vk_knowledgecoordinator -->|contains| method_1nzct8x_loggrapherror\n    class_1cca8vk_knowledgecoordinator -->|contains| method_1pdmx9l_onblockreachedasync\n    class_1cca8vk_knowledgecoordinator -->|contains| method_1sfi79b_logrequestingsummary\n    class_1cca8vk_knowledgecoordinator -->|contains| method_1wlwqp0_dispose\n    class_1cca8vk_knowledgecoordinator -->|contains| method_1x9gjeq_processfullpageasync\n    class_1cca8vk_knowledgecoordinator -->|contains| method_1z06px6_logsummaryerror\n    class_1cca8vk_knowledgecoordinator -->|contains| method_2y4xzb_requestsummaryandquizasync\n    class_1cca8vk_knowledgecoordinator -->|contains| method_arton1_logsummarywarning\n    class_1cca8vk_knowledgecoordinator -->|contains| method_b6ndo3_clearasync\n    class_1cca8vk_knowledgecoordinator -->|contains| method_t1zuul_handlenodeselected\n    class_1cca8vk_knowledgecoordinator -->|unresolved interaction| unresolved_unresolved_14hsy43_interaction_target\n    class_1cca8vk_knowledgecoordinator -->|unresolved interaction| unresolved_unresolved_195fh9x_interaction_target\n    class_1cca8vk_knowledgecoordinator -->|unresolved interaction| unresolved_unresolved_1gdw0l4_interaction_target\n    class_1cca8vk_knowledgecoordinator -->|unresolved interaction| unresolved_unresolved_1tot29h_interaction_target\n    class_1cca8vk_knowledgecoordinator -->|unresolved interaction| unresolved_unresolved_9p5jul_interaction_target\n    class_1cca8vk_knowledgecoordinator -->|unresolved interaction| unresolved_unresolved_lfjasv_interaction_target\n    method_1b2nffa_knowledgecoordinator -->|unresolved call| unresolved_unresolved_jn8a9a_call_target\n    method_1pdmx9l_onblockreachedasync -->|unresolved call| unresolved_unresolved_e519rx_call_target\n    method_1wlwqp0_dispose -->|unresolved call| unresolved_unresolved_e4ysnj_call_target\n    method_1x9gjeq_processfullpageasync -->|unresolved call| unresolved_unresolved_19qfwar_call_target\n    method_1x9gjeq_processfullpageasync -->|unresolved call| unresolved_unresolved_1jethnu_call_target\n    method_1x9gjeq_processfullpageasync -->|unresolved call| unresolved_unresolved_1mb4whl_call_target\n    method_1x9gjeq_processfullpageasync -->|unresolved call| unresolved_unresolved_1uj8fas_call_target\n    method_1x9gjeq_processfullpageasync -->|unresolved call| unresolved_unresolved_d4g5ep_call_target\n    method_1x9gjeq_processfullpageasync -->|unresolved call| unresolved_unresolved_gv42wu_call_target\n    method_1x9gjeq_processfullpageasync -->|unresolved call| unresolved_unresolved_oerwvi_call_target\n    method_1x9gjeq_processfullpageasync -->|unresolved call| unresolved_unresolved_u4oqdw_call_target\n    method_2y4xzb_requestsummaryandquizasync -->|unresolved call| unresolved_unresolved_10k0xq2_call_target\n    method_2y4xzb_requestsummaryandquizasync -->|unresolved call| unresolved_unresolved_138ieal_call_target\n    method_2y4xzb_requestsummaryandquizasync -->|unresolved call| unresolved_unresolved_1l2fji5_call_target\n    method_2y4xzb_requestsummaryandquizasync -->|unresolved call| unresolved_unresolved_1x8q8gu_call_target\n    method_2y4xzb_requestsummaryandquizasync -->|unresolved call| unresolved_unresolved_1xmjhl6_call_target\n    method_2y4xzb_requestsummaryandquizasync -->|unresolved call| unresolved_unresolved_50r37w_call_target\n    method_2y4xzb_requestsummaryandquizasync -->|unresolved call| unresolved_unresolved_aq6gt7_call_target\n    method_2y4xzb_requestsummaryandquizasync -->|unresolved call| unresolved_unresolved_jzoxi8_call_target\n    method_b6ndo3_clearasync -->|unresolved call| unresolved_unresolved_1wzgphe_call_target\n    method_b6ndo3_clearasync -->|unresolved call| unresolved_unresolved_aqqz88_call_target\n    method_t1zuul_handlenodeselected -->|unresolved call| unresolved_unresolved_1jeqq7f_call_target\n    method_t1zuul_handlenodeselected -->|unresolved call| unresolved_unresolved_6y3yrp_call_target\n    method_t1zuul_handlenodeselected -->|unresolved call| unresolved_unresolved_o570ld_call_target\n    method_t1zuul_handlenodeselected -->|unresolved call| unresolved_unresolved_rs65i9_call_target",
      "warnings": [
        "diagram file_uvydt4_knowledgecoordinator_cs_execution_view exceeds preferred complexity thresholds (44 nodes, 43 edges)."
      ]
    },
    {
      "id": "method_1b2nffa_knowledgecoordinator__fragment_diagram",
      "purpose": "control-flow",
      "title": "KnowledgeCoordinator() Control Flow",
      "required": true,
      "diagram": {
        "id": "method_1b2nffa_knowledgecoordinator__fragment_diagram",
        "kind": "control-flow",
        "title": "KnowledgeCoordinator() Control Flow",
        "direction": "TD",
        "nodes": [
          {
            "id": "method_1b2nffa_knowledgecoordinator__entry",
            "kind": "step",
            "label": "KnowledgeCoordinator entry",
            "shape": "stadium",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 26
          },
          {
            "id": "method_1b2nffa_knowledgecoordinator__action_34_assignment_34__linear",
            "kind": "step",
            "label": "Store injected services",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 34
          },
          {
            "id": "method_1b2nffa_knowledgecoordinator__action_41_event_subscribe_41__linear",
            "kind": "step",
            "label": "Subscribe to node selection",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 41
          },
          {
            "id": "method_1b2nffa_knowledgecoordinator__call_41_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
            "kind": "method",
            "label": "IReaderInteractionService.OnNodeSelected += HandleNodeSelected",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 41
          },
          {
            "id": "method_1b2nffa_knowledgecoordinator__implicit_return",
            "kind": "return",
            "label": "return",
            "shape": "stadium",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 42
          }
        ],
        "edges": [
          {
            "id": "method_1b2nffa_knowledgecoordinator__entry__method_1b2nffa_knowledgecoordinator__action_34_assignment_34__linear",
            "from": "method_1b2nffa_knowledgecoordinator__entry",
            "to": "method_1b2nffa_knowledgecoordinator__action_34_assignment_34__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 34
          },
          {
            "id": "method_1b2nffa_knowledgecoordinator__action_34_assignment_34__linear__method_1b2nffa_knowledgecoordinator__action_41_event_subscribe_41__linear",
            "from": "method_1b2nffa_knowledgecoordinator__action_34_assignment_34__linear",
            "to": "method_1b2nffa_knowledgecoordinator__action_41_event_subscribe_41__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 41
          },
          {
            "id": "method_1b2nffa_knowledgecoordinator__action_41_event_subscribe_41__linear__call_method_1b2nffa_knowledgecoordinator__call_41_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
            "from": "method_1b2nffa_knowledgecoordinator__action_41_event_subscribe_41__linear",
            "to": "method_1b2nffa_knowledgecoordinator__call_41_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
            "semanticLabel": "event handler HandleNodeSelected",
            "visibleLabel": "event handler HandleNodeSelected",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 41
          },
          {
            "id": "method_1b2nffa_knowledgecoordinator__call_41_IReaderInteractionService_OnNodeSelected_HandleNodeSelected__implicit_return",
            "from": "method_1b2nffa_knowledgecoordinator__call_41_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
            "to": "method_1b2nffa_knowledgecoordinator__implicit_return",
            "semanticLabel": "return",
            "visibleLabel": "return",
            "relation": "returns",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 42
          }
        ],
        "metadata": {
          "evidencePaths": [
            "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs"
          ],
          "warnings": [
            "Call target IReaderInteractionService.OnNodeSelected += HandleNodeSelected in unknown could not be matched to an extracted method symbol."
          ]
        },
        "subgraphs": []
      },
      "mermaidSource": "flowchart TD\n    method_1b2nffa_knowledgecoordinator__call_41_IReaderInteractionService_OnNodeSelected_HandleNodeSelected[[\"IReaderInteractionService.OnNodeSelected += HandleNodeSelected\"]]\n    method_1b2nffa_knowledgecoordinator__action_34_assignment_34__linear(\"Store injected services\")\n    method_1b2nffa_knowledgecoordinator__action_41_event_subscribe_41__linear(\"Subscribe to node selection\")\n    method_1b2nffa_knowledgecoordinator__entry([\"KnowledgeCoordinator entry\"])\n    method_1b2nffa_knowledgecoordinator__implicit_return([\"return\"])\n    method_1b2nffa_knowledgecoordinator__action_34_assignment_34__linear -->|next| method_1b2nffa_knowledgecoordinator__action_41_event_subscribe_41__linear\n    method_1b2nffa_knowledgecoordinator__action_41_event_subscribe_41__linear -->|event handler HandleNodeSelected| method_1b2nffa_knowledgecoordinator__call_41_IReaderInteractionService_OnNodeSelected_HandleNodeSelected\n    method_1b2nffa_knowledgecoordinator__call_41_IReaderInteractionService_OnNodeSelected_HandleNodeSelected -->|return| method_1b2nffa_knowledgecoordinator__implicit_return\n    method_1b2nffa_knowledgecoordinator__entry -->|next| method_1b2nffa_knowledgecoordinator__action_34_assignment_34__linear",
      "warnings": []
    },
    {
      "id": "method_t1zuul_handlenodeselected__fragment_diagram",
      "purpose": "control-flow",
      "title": "HandleNodeSelected() Control Flow",
      "required": true,
      "diagram": {
        "id": "method_t1zuul_handlenodeselected__fragment_diagram",
        "kind": "control-flow",
        "title": "HandleNodeSelected() Control Flow",
        "direction": "TD",
        "nodes": [
          {
            "id": "method_t1zuul_handlenodeselected__entry",
            "kind": "step",
            "label": "HandleNodeSelected entry",
            "shape": "stadium",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 44
          },
          {
            "id": "method_t1zuul_handlenodeselected__call_48_IKnowledgeGraphService_CurrentGraphData",
            "kind": "method",
            "label": "IKnowledgeGraphService.CurrentGraphData",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 48
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_49_guard_clause_49__condition",
            "kind": "step",
            "label": "graph != null",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 49
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_49_guard_clause_49__true",
            "kind": "step",
            "label": "skip resolution",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 49
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_49_guard_clause_49__false",
            "kind": "step",
            "label": "resolve connected block",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 49
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_49_guard_clause_49__merge",
            "kind": "step",
            "label": "merge",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 49
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__condition",
            "kind": "step",
            "label": "graph != null",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 49
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__true",
            "kind": "step",
            "label": "true",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 49
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__false",
            "kind": "step",
            "label": "false",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 49
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__merge",
            "kind": "step",
            "label": "merge",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 49
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_51_handlenodeselected_repository_read_51_1__linear",
            "kind": "dependency",
            "label": "Reads repository or persistence state",
            "shape": "cyl",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 51
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_52_branch_52__condition",
            "kind": "step",
            "label": "selectedNode.Group == \\\"concept\\\"",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 52
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_52_branch_52__true",
            "kind": "step",
            "label": "search connected links",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 52
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_52_branch_52__false",
            "kind": "step",
            "label": "use nodeId as block",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 52
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_52_branch_52__merge",
            "kind": "step",
            "label": "merge",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 52
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__condition",
            "kind": "step",
            "label": "selectedNode != null && selectedNode.Group == \\\"concept\\\"",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 52
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__true",
            "kind": "step",
            "label": "true",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 52
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__false",
            "kind": "step",
            "label": "false",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 52
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__merge",
            "kind": "step",
            "label": "merge",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 52
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_55_handlenodeselected_repository_read_55_3__linear",
            "kind": "dependency",
            "label": "Reads repository or persistence state",
            "shape": "cyl",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 55
          },
          {
            "id": "method_t1zuul_handlenodeselected__call_55_HandleNodeSelected_internal_loop_logic_",
            "kind": "method",
            "label": "HandleNodeSelected (internal loop logic)",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 55
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry",
            "kind": "step",
            "label": "var link in connectedLinks",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 56
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_body",
            "kind": "step",
            "label": "foreach (var link in connectedLinks)",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 56
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_exit",
            "kind": "step",
            "label": "Leaves the loop when the condition no longer holds.",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 56
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_56_loop_56__loop_entry",
            "kind": "step",
            "label": "Iterate links",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 56
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_56_loop_56__loop_body",
            "kind": "step",
            "label": "foreach link in connectedLinks inspect other node",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 56
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_56_loop_56__loop_exit",
            "kind": "step",
            "label": "exit loop",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 56
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_59_handlenodeselected_repository_read_59_5__linear",
            "kind": "dependency",
            "label": "Reads repository or persistence state",
            "shape": "cyl",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 59
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__condition",
            "kind": "step",
            "label": "otherNode != null && otherNode.Group == \\\"current\\\"",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 60
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__true",
            "kind": "step",
            "label": "true",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 60
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__false",
            "kind": "step",
            "label": "false",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 60
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__merge",
            "kind": "step",
            "label": "merge",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 60
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__condition",
            "kind": "step",
            "label": "!string.IsNullOrEmpty(targetBlockId)",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 69
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__true",
            "kind": "step",
            "label": "true",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 69
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__false",
            "kind": "step",
            "label": "false",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 69
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__merge",
            "kind": "step",
            "label": "merge",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 69
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_71_handlenodeselected_await_71_8__await",
            "kind": "step",
            "label": "Waits for async work",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 71
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_71_external_call_71__linear",
            "kind": "dependency",
            "label": "Scroll and highlight",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 71
          },
          {
            "id": "method_t1zuul_handlenodeselected__call_71_IReaderInteractionService_RequestScrollToBlock",
            "kind": "method",
            "label": "IReaderInteractionService.RequestScrollToBlock",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 71
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_72_handlenodeselected_await_72_9__await",
            "kind": "step",
            "label": "Waits for async work",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 72
          },
          {
            "id": "method_t1zuul_handlenodeselected__call_72_IReaderInteractionService_RequestHighlightBlock",
            "kind": "method",
            "label": "IReaderInteractionService.RequestHighlightBlock",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 72
          },
          {
            "id": "method_t1zuul_handlenodeselected__implicit_return",
            "kind": "return",
            "label": "return",
            "shape": "stadium",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 74
          }
        ],
        "edges": [
          {
            "id": "method_t1zuul_handlenodeselected__entry__call_method_t1zuul_handlenodeselected__call_48_IKnowledgeGraphService_CurrentGraphData",
            "from": "method_t1zuul_handlenodeselected__entry",
            "to": "method_t1zuul_handlenodeselected__call_48_IKnowledgeGraphService_CurrentGraphData",
            "semanticLabel": "none (property read)",
            "visibleLabel": "none property read",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 48
          },
          {
            "id": "method_t1zuul_handlenodeselected__call_48_IKnowledgeGraphService_CurrentGraphData__method_t1zuul_handlenodeselected__action_49_guard_clause_49__condition",
            "from": "method_t1zuul_handlenodeselected__call_48_IKnowledgeGraphService_CurrentGraphData",
            "to": "method_t1zuul_handlenodeselected__action_49_guard_clause_49__condition",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 49
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_49_guard_clause_49__condition__method_t1zuul_handlenodeselected__action_49_guard_clause_49__true",
            "from": "method_t1zuul_handlenodeselected__action_49_guard_clause_49__condition",
            "to": "method_t1zuul_handlenodeselected__action_49_guard_clause_49__true",
            "semanticLabel": "skip resolution",
            "visibleLabel": "skip resolution",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 49
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_49_guard_clause_49__condition__method_t1zuul_handlenodeselected__action_49_guard_clause_49__false",
            "from": "method_t1zuul_handlenodeselected__action_49_guard_clause_49__condition",
            "to": "method_t1zuul_handlenodeselected__action_49_guard_clause_49__false",
            "semanticLabel": "resolve connected block",
            "visibleLabel": "resolve connected block",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 49
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_49_guard_clause_49__true__method_t1zuul_handlenodeselected__action_49_guard_clause_49__merge",
            "from": "method_t1zuul_handlenodeselected__action_49_guard_clause_49__true",
            "to": "method_t1zuul_handlenodeselected__action_49_guard_clause_49__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 49
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_49_guard_clause_49__false__method_t1zuul_handlenodeselected__action_49_guard_clause_49__merge",
            "from": "method_t1zuul_handlenodeselected__action_49_guard_clause_49__false",
            "to": "method_t1zuul_handlenodeselected__action_49_guard_clause_49__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 49
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_49_guard_clause_49__merge__method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__condition",
            "from": "method_t1zuul_handlenodeselected__action_49_guard_clause_49__merge",
            "to": "method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__condition",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 49
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__condition__method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__true",
            "from": "method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__condition",
            "to": "method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__true",
            "semanticLabel": "true",
            "visibleLabel": "true",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 49
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__condition__method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__false",
            "from": "method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__condition",
            "to": "method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__false",
            "semanticLabel": "false",
            "visibleLabel": "false",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 49
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__true__method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__merge",
            "from": "method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__true",
            "to": "method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 49
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__false__method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__merge",
            "from": "method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__false",
            "to": "method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 49
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__merge__method_t1zuul_handlenodeselected__action_51_handlenodeselected_repository_read_51_1__linear",
            "from": "method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__merge",
            "to": "method_t1zuul_handlenodeselected__action_51_handlenodeselected_repository_read_51_1__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 51
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_51_handlenodeselected_repository_read_51_1__linear__method_t1zuul_handlenodeselected__action_52_branch_52__condition",
            "from": "method_t1zuul_handlenodeselected__action_51_handlenodeselected_repository_read_51_1__linear",
            "to": "method_t1zuul_handlenodeselected__action_52_branch_52__condition",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 52
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_52_branch_52__condition__method_t1zuul_handlenodeselected__action_52_branch_52__true",
            "from": "method_t1zuul_handlenodeselected__action_52_branch_52__condition",
            "to": "method_t1zuul_handlenodeselected__action_52_branch_52__true",
            "semanticLabel": "search connected links",
            "visibleLabel": "search connected links",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 52
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_52_branch_52__condition__method_t1zuul_handlenodeselected__action_52_branch_52__false",
            "from": "method_t1zuul_handlenodeselected__action_52_branch_52__condition",
            "to": "method_t1zuul_handlenodeselected__action_52_branch_52__false",
            "semanticLabel": "use nodeId as block",
            "visibleLabel": "use nodeId as block",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 52
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_52_branch_52__true__method_t1zuul_handlenodeselected__action_52_branch_52__merge",
            "from": "method_t1zuul_handlenodeselected__action_52_branch_52__true",
            "to": "method_t1zuul_handlenodeselected__action_52_branch_52__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 52
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_52_branch_52__false__method_t1zuul_handlenodeselected__action_52_branch_52__merge",
            "from": "method_t1zuul_handlenodeselected__action_52_branch_52__false",
            "to": "method_t1zuul_handlenodeselected__action_52_branch_52__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 52
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_52_branch_52__merge__method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__condition",
            "from": "method_t1zuul_handlenodeselected__action_52_branch_52__merge",
            "to": "method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__condition",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 52
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__condition__method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__true",
            "from": "method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__condition",
            "to": "method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__true",
            "semanticLabel": "true",
            "visibleLabel": "true",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 52
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__condition__method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__false",
            "from": "method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__condition",
            "to": "method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__false",
            "semanticLabel": "false",
            "visibleLabel": "false",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 52
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__true__method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__merge",
            "from": "method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__true",
            "to": "method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 52
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__false__method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__merge",
            "from": "method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__false",
            "to": "method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 52
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__merge__method_t1zuul_handlenodeselected__action_55_handlenodeselected_repository_read_55_3__linear",
            "from": "method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__merge",
            "to": "method_t1zuul_handlenodeselected__action_55_handlenodeselected_repository_read_55_3__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 55
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_55_handlenodeselected_repository_read_55_3__linear__call_method_t1zuul_handlenodeselected__call_55_HandleNodeSelected_internal_loop_logic_",
            "from": "method_t1zuul_handlenodeselected__action_55_handlenodeselected_repository_read_55_3__linear",
            "to": "method_t1zuul_handlenodeselected__call_55_HandleNodeSelected_internal_loop_logic_",
            "semanticLabel": "iterates graph.Links to find connected 'current' node",
            "visibleLabel": "calls",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 55
          },
          {
            "id": "method_t1zuul_handlenodeselected__call_55_HandleNodeSelected_internal_loop_logic___method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry",
            "from": "method_t1zuul_handlenodeselected__call_55_HandleNodeSelected_internal_loop_logic_",
            "to": "method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 56
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry__method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_body",
            "from": "method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry",
            "to": "method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_body",
            "semanticLabel": "var link in connectedLinks",
            "visibleLabel": "var link in connectedLinks",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 56
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_body__method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry",
            "from": "method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_body",
            "to": "method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry",
            "semanticLabel": "continue",
            "visibleLabel": "continue",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 56
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry__method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_exit",
            "from": "method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry",
            "to": "method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_exit",
            "semanticLabel": "Leaves the loop when the condition no longer holds.",
            "visibleLabel": "Leaves the loop when the condition no longer holds.",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 56
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_exit__method_t1zuul_handlenodeselected__action_56_loop_56__loop_entry",
            "from": "method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_exit",
            "to": "method_t1zuul_handlenodeselected__action_56_loop_56__loop_entry",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 56
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_56_loop_56__loop_entry__method_t1zuul_handlenodeselected__action_56_loop_56__loop_body",
            "from": "method_t1zuul_handlenodeselected__action_56_loop_56__loop_entry",
            "to": "method_t1zuul_handlenodeselected__action_56_loop_56__loop_body",
            "semanticLabel": "iterate",
            "visibleLabel": "iterate",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 56
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_56_loop_56__loop_body__method_t1zuul_handlenodeselected__action_56_loop_56__loop_entry",
            "from": "method_t1zuul_handlenodeselected__action_56_loop_56__loop_body",
            "to": "method_t1zuul_handlenodeselected__action_56_loop_56__loop_entry",
            "semanticLabel": "continue",
            "visibleLabel": "continue",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 56
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_56_loop_56__loop_entry__method_t1zuul_handlenodeselected__action_56_loop_56__loop_exit",
            "from": "method_t1zuul_handlenodeselected__action_56_loop_56__loop_entry",
            "to": "method_t1zuul_handlenodeselected__action_56_loop_56__loop_exit",
            "semanticLabel": "exit",
            "visibleLabel": "exit",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 56
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_56_loop_56__loop_exit__method_t1zuul_handlenodeselected__action_59_handlenodeselected_repository_read_59_5__linear",
            "from": "method_t1zuul_handlenodeselected__action_56_loop_56__loop_exit",
            "to": "method_t1zuul_handlenodeselected__action_59_handlenodeselected_repository_read_59_5__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 59
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_59_handlenodeselected_repository_read_59_5__linear__method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__condition",
            "from": "method_t1zuul_handlenodeselected__action_59_handlenodeselected_repository_read_59_5__linear",
            "to": "method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__condition",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 60
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__condition__method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__true",
            "from": "method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__condition",
            "to": "method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__true",
            "semanticLabel": "true",
            "visibleLabel": "true",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 60
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__condition__method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__false",
            "from": "method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__condition",
            "to": "method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__false",
            "semanticLabel": "false",
            "visibleLabel": "false",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 60
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__true__method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__merge",
            "from": "method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__true",
            "to": "method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 60
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__false__method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__merge",
            "from": "method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__false",
            "to": "method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 60
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__merge__method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__condition",
            "from": "method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__merge",
            "to": "method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__condition",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 69
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__condition__method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__true",
            "from": "method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__condition",
            "to": "method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__true",
            "semanticLabel": "true",
            "visibleLabel": "true",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 69
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__condition__method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__false",
            "from": "method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__condition",
            "to": "method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__false",
            "semanticLabel": "false",
            "visibleLabel": "false",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 69
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__true__method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__merge",
            "from": "method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__true",
            "to": "method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 69
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__false__method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__merge",
            "from": "method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__false",
            "to": "method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 69
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__merge__method_t1zuul_handlenodeselected__action_71_handlenodeselected_await_71_8__await",
            "from": "method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__merge",
            "to": "method_t1zuul_handlenodeselected__action_71_handlenodeselected_await_71_8__await",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 71
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_71_handlenodeselected_await_71_8__await__method_t1zuul_handlenodeselected__action_71_external_call_71__linear",
            "from": "method_t1zuul_handlenodeselected__action_71_handlenodeselected_await_71_8__await",
            "to": "method_t1zuul_handlenodeselected__action_71_external_call_71__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 71
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_71_external_call_71__linear__call_method_t1zuul_handlenodeselected__call_71_IReaderInteractionService_RequestScrollToBlock",
            "from": "method_t1zuul_handlenodeselected__action_71_external_call_71__linear",
            "to": "method_t1zuul_handlenodeselected__call_71_IReaderInteractionService_RequestScrollToBlock",
            "semanticLabel": "targetBlockId",
            "visibleLabel": "targetBlockId",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 71
          },
          {
            "id": "method_t1zuul_handlenodeselected__call_71_IReaderInteractionService_RequestScrollToBlock__method_t1zuul_handlenodeselected__action_72_handlenodeselected_await_72_9__await",
            "from": "method_t1zuul_handlenodeselected__call_71_IReaderInteractionService_RequestScrollToBlock",
            "to": "method_t1zuul_handlenodeselected__action_72_handlenodeselected_await_72_9__await",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 72
          },
          {
            "id": "method_t1zuul_handlenodeselected__action_72_handlenodeselected_await_72_9__await__call_method_t1zuul_handlenodeselected__call_72_IReaderInteractionService_RequestHighlightBlock",
            "from": "method_t1zuul_handlenodeselected__action_72_handlenodeselected_await_72_9__await",
            "to": "method_t1zuul_handlenodeselected__call_72_IReaderInteractionService_RequestHighlightBlock",
            "semanticLabel": "targetBlockId",
            "visibleLabel": "targetBlockId",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 72
          },
          {
            "id": "method_t1zuul_handlenodeselected__call_72_IReaderInteractionService_RequestHighlightBlock__implicit_return",
            "from": "method_t1zuul_handlenodeselected__call_72_IReaderInteractionService_RequestHighlightBlock",
            "to": "method_t1zuul_handlenodeselected__implicit_return",
            "semanticLabel": "return",
            "visibleLabel": "return",
            "relation": "returns",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 74
          }
        ],
        "metadata": {
          "evidencePaths": [
            "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs"
          ],
          "warnings": [
            "Call target IKnowledgeGraphService.CurrentGraphData in unknown could not be matched to an extracted method symbol.",
            "Call target HandleNodeSelected (internal loop logic) in NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs could not be matched to an extracted method symbol.",
            "Call target IReaderInteractionService.RequestScrollToBlock in unknown could not be matched to an extracted method symbol.",
            "Call target IReaderInteractionService.RequestHighlightBlock in unknown could not be matched to an extracted method symbol."
          ]
        },
        "subgraphs": []
      },
      "mermaidSource": "---\nconfig:\n  flowchart:\n    defaultRenderer: \"elk\"\n---\nflowchart TD\n    method_t1zuul_handlenodeselected__call_48_IKnowledgeGraphService_CurrentGraphData[[\"IKnowledgeGraphService.CurrentGraphData\"]]\n    method_t1zuul_handlenodeselected__call_55_HandleNodeSelected_internal_loop_logic_[[\"HandleNodeSelected (internal loop logic)\"]]\n    method_t1zuul_handlenodeselected__call_71_IReaderInteractionService_RequestScrollToBlock[[\"IReaderInteractionService.RequestScrollToBlock\"]]\n    method_t1zuul_handlenodeselected__call_72_IReaderInteractionService_RequestHighlightBlock[[\"IReaderInteractionService.RequestHighlightBlock\"]]\n    method_t1zuul_handlenodeselected__action_49_guard_clause_49__condition{\"graph != null\"}\n    method_t1zuul_handlenodeselected__action_49_guard_clause_49__false(\"resolve connected block\")\n    method_t1zuul_handlenodeselected__action_49_guard_clause_49__merge(\"merge\")\n    method_t1zuul_handlenodeselected__action_49_guard_clause_49__true(\"skip resolution\")\n    method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__condition{\"graph != null\"}\n    method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__false(\"false\")\n    method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__merge(\"merge\")\n    method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__true(\"true\")\n    method_t1zuul_handlenodeselected__action_52_branch_52__condition{\"selectedNode.Group == \\\\\"concept\\\\\"\"}\n    method_t1zuul_handlenodeselected__action_52_branch_52__false(\"use nodeId as block\")\n    method_t1zuul_handlenodeselected__action_52_branch_52__merge(\"merge\")\n    method_t1zuul_handlenodeselected__action_52_branch_52__true(\"search connected links\")\n    method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__condition{\"selectedNode != null && selectedNode.Group == \\\\\"concept\\\\\"\"}\n    method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__false(\"false\")\n    method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__merge(\"merge\")\n    method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__true(\"true\")\n    method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_body[[\"foreach (var link in connectedLinks)\"]]\n    method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry(\"var link in connectedLinks\")\n    method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_exit(\"Leaves the loop when the condition no longer holds.\")\n    method_t1zuul_handlenodeselected__action_56_loop_56__loop_body[[\"foreach link in connectedLinks inspect other node\"]]\n    method_t1zuul_handlenodeselected__action_56_loop_56__loop_entry(\"Iterate links\")\n    method_t1zuul_handlenodeselected__action_56_loop_56__loop_exit(\"exit loop\")\n    method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__condition{\"otherNode != null && otherNode.Group == \\\\\"current\\\\\"\"}\n    method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__false(\"false\")\n    method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__merge(\"merge\")\n    method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__true(\"true\")\n    method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__condition{\"!string.IsNullOrEmpty(targetBlockId)\"}\n    method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__false(\"false\")\n    method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__merge(\"merge\")\n    method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__true(\"true\")\n    method_t1zuul_handlenodeselected__action_71_handlenodeselected_await_71_8__await[[\"Waits for async work\"]]\n    method_t1zuul_handlenodeselected__action_72_handlenodeselected_await_72_9__await[[\"Waits for async work\"]]\n    method_t1zuul_handlenodeselected__entry([\"HandleNodeSelected entry\"])\n    method_t1zuul_handlenodeselected__action_51_handlenodeselected_repository_read_51_1__linear[(\"Reads repository or persistence state\")]\n    method_t1zuul_handlenodeselected__action_55_handlenodeselected_repository_read_55_3__linear[(\"Reads repository or persistence state\")]\n    method_t1zuul_handlenodeselected__action_59_handlenodeselected_repository_read_59_5__linear[(\"Reads repository or persistence state\")]\n    method_t1zuul_handlenodeselected__action_71_external_call_71__linear(\"Scroll and highlight\")\n    method_t1zuul_handlenodeselected__implicit_return([\"return\"])\n    method_t1zuul_handlenodeselected__action_49_guard_clause_49__condition -->|resolve connected block| method_t1zuul_handlenodeselected__action_49_guard_clause_49__false\n    method_t1zuul_handlenodeselected__action_49_guard_clause_49__condition -->|skip resolution| method_t1zuul_handlenodeselected__action_49_guard_clause_49__true\n    method_t1zuul_handlenodeselected__action_49_guard_clause_49__false -->|next| method_t1zuul_handlenodeselected__action_49_guard_clause_49__merge\n    method_t1zuul_handlenodeselected__action_49_guard_clause_49__merge -->|next| method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__condition\n    method_t1zuul_handlenodeselected__action_49_guard_clause_49__true -->|next| method_t1zuul_handlenodeselected__action_49_guard_clause_49__merge\n    method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__condition -->|false| method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__false\n    method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__condition -->|true| method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__true\n    method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__false -->|next| method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__merge\n    method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__merge -->|next| method_t1zuul_handlenodeselected__action_51_handlenodeselected_repository_read_51_1__linear\n    method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__true -->|next| method_t1zuul_handlenodeselected__action_49_handlenodeselected_branch_49_0__merge\n    method_t1zuul_handlenodeselected__action_51_handlenodeselected_repository_read_51_1__linear -->|next| method_t1zuul_handlenodeselected__action_52_branch_52__condition\n    method_t1zuul_handlenodeselected__action_52_branch_52__condition -->|use nodeId as block| method_t1zuul_handlenodeselected__action_52_branch_52__false\n    method_t1zuul_handlenodeselected__action_52_branch_52__condition -->|search connected links| method_t1zuul_handlenodeselected__action_52_branch_52__true\n    method_t1zuul_handlenodeselected__action_52_branch_52__false -->|next| method_t1zuul_handlenodeselected__action_52_branch_52__merge\n    method_t1zuul_handlenodeselected__action_52_branch_52__merge -->|next| method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__condition\n    method_t1zuul_handlenodeselected__action_52_branch_52__true -->|next| method_t1zuul_handlenodeselected__action_52_branch_52__merge\n    method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__condition -->|false| method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__false\n    method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__condition -->|true| method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__true\n    method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__false -->|next| method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__merge\n    method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__merge -->|next| method_t1zuul_handlenodeselected__action_55_handlenodeselected_repository_read_55_3__linear\n    method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__true -->|next| method_t1zuul_handlenodeselected__action_52_handlenodeselected_branch_52_2__merge\n    method_t1zuul_handlenodeselected__action_55_handlenodeselected_repository_read_55_3__linear -->|calls| method_t1zuul_handlenodeselected__call_55_HandleNodeSelected_internal_loop_logic_\n    method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_body -->|continue| method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry\n    method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry -->|var link in connectedLinks| method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_body\n    method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry -->|Leaves the loop when the condition no longer holds.| method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_exit\n    method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_exit -->|next| method_t1zuul_handlenodeselected__action_56_loop_56__loop_entry\n    method_t1zuul_handlenodeselected__action_56_loop_56__loop_body -->|continue| method_t1zuul_handlenodeselected__action_56_loop_56__loop_entry\n    method_t1zuul_handlenodeselected__action_56_loop_56__loop_entry -->|iterate| method_t1zuul_handlenodeselected__action_56_loop_56__loop_body\n    method_t1zuul_handlenodeselected__action_56_loop_56__loop_entry -->|exit| method_t1zuul_handlenodeselected__action_56_loop_56__loop_exit\n    method_t1zuul_handlenodeselected__action_56_loop_56__loop_exit -->|next| method_t1zuul_handlenodeselected__action_59_handlenodeselected_repository_read_59_5__linear\n    method_t1zuul_handlenodeselected__action_59_handlenodeselected_repository_read_59_5__linear -->|next| method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__condition\n    method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__condition -->|false| method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__false\n    method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__condition -->|true| method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__true\n    method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__false -->|next| method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__merge\n    method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__merge -->|next| method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__condition\n    method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__true -->|next| method_t1zuul_handlenodeselected__action_60_handlenodeselected_branch_60_6__merge\n    method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__condition -->|false| method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__false\n    method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__condition -->|true| method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__true\n    method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__false -->|next| method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__merge\n    method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__merge -->|next| method_t1zuul_handlenodeselected__action_71_handlenodeselected_await_71_8__await\n    method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__true -->|next| method_t1zuul_handlenodeselected__action_69_handlenodeselected_branch_69_7__merge\n    method_t1zuul_handlenodeselected__action_71_external_call_71__linear -->|targetBlockId| method_t1zuul_handlenodeselected__call_71_IReaderInteractionService_RequestScrollToBlock\n    method_t1zuul_handlenodeselected__action_71_handlenodeselected_await_71_8__await -->|next| method_t1zuul_handlenodeselected__action_71_external_call_71__linear\n    method_t1zuul_handlenodeselected__action_72_handlenodeselected_await_72_9__await -->|targetBlockId| method_t1zuul_handlenodeselected__call_72_IReaderInteractionService_RequestHighlightBlock\n    method_t1zuul_handlenodeselected__call_48_IKnowledgeGraphService_CurrentGraphData -->|next| method_t1zuul_handlenodeselected__action_49_guard_clause_49__condition\n    method_t1zuul_handlenodeselected__call_55_HandleNodeSelected_internal_loop_logic_ -->|next| method_t1zuul_handlenodeselected__action_56_handlenodeselected_loop_56_4__loop_entry\n    method_t1zuul_handlenodeselected__call_71_IReaderInteractionService_RequestScrollToBlock -->|next| method_t1zuul_handlenodeselected__action_72_handlenodeselected_await_72_9__await\n    method_t1zuul_handlenodeselected__call_72_IReaderInteractionService_RequestHighlightBlock -->|return| method_t1zuul_handlenodeselected__implicit_return\n    method_t1zuul_handlenodeselected__entry -->|none property read| method_t1zuul_handlenodeselected__call_48_IKnowledgeGraphService_CurrentGraphData",
      "warnings": [
        "diagram method_t1zuul_handlenodeselected__fragment_diagram exceeds preferred complexity thresholds (42 nodes, 49 edges)."
      ]
    },
    {
      "id": "method_1x9gjeq_processfullpageasync__fragment_diagram",
      "purpose": "control-flow",
      "title": "ProcessFullPageAsync() Control Flow",
      "required": true,
      "diagram": {
        "id": "method_1x9gjeq_processfullpageasync__fragment_diagram",
        "kind": "control-flow",
        "title": "ProcessFullPageAsync() Control Flow",
        "direction": "TD",
        "nodes": [
          {
            "id": "method_1x9gjeq_processfullpageasync__entry",
            "kind": "step",
            "label": "ProcessFullPageAsync entry",
            "shape": "stadium",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 76
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__condition",
            "kind": "step",
            "label": "string.IsNullOrWhiteSpace(fullContent)",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 78
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__true",
            "kind": "step",
            "label": "return",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 78
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__false",
            "kind": "step",
            "label": "continue",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 78
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__merge",
            "kind": "step",
            "label": "merge",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 78
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__condition",
            "kind": "step",
            "label": "string.IsNullOrWhiteSpace(fullContent)",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 78
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__true",
            "kind": "step",
            "label": "exit",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 78
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__false",
            "kind": "step",
            "label": "continue",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 78
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__merge",
            "kind": "step",
            "label": "merge",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 78
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_80_log_80__linear",
            "kind": "step",
            "label": "Start generating graph",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 80
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__call_80_LogGeneratingGraph",
            "kind": "method",
            "label": "LogGeneratingGraph",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 80
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_82_processfullpageasync_await_82_1__await",
            "kind": "step",
            "label": "Waits for async work",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 82
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_82_state_change_82__linear",
            "kind": "step",
            "label": "Graph service reset & loading",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 82
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__call_82_IKnowledgeGraphService_Clear",
            "kind": "method",
            "label": "IKnowledgeGraphService.Clear",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 82
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_83_processfullpageasync_await_83_2__await",
            "kind": "step",
            "label": "Waits for async work",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 83
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__call_83_IKnowledgeGraphService_SetLoading",
            "kind": "method",
            "label": "IKnowledgeGraphService.SetLoading",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 83
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_85_try_catch_85__linear",
            "kind": "step",
            "label": "Exception handling",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 85
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_85_processfullpageasync_try_85_3__try",
            "kind": "step",
            "label": "Begins protected execution",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 85
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_87_processfullpageasync_await_87_4__await",
            "kind": "step",
            "label": "Waits for async work",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 87
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_87_external_call_87__linear",
            "kind": "dependency",
            "label": "Request graph data",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 87
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__call_87_IKnowledgeService_GetGraphDataAsync",
            "kind": "method",
            "label": "IKnowledgeService.GetGraphDataAsync",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 87
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_88_branch_88__condition",
            "kind": "step",
            "label": "result.IsSuccess && packet.Graph != null",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 88
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_88_branch_88__true",
            "kind": "step",
            "label": "update graph & notify",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 88
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_88_branch_88__false",
            "kind": "step",
            "label": "no-op",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 88
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_88_branch_88__merge",
            "kind": "step",
            "label": "merge",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 88
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__condition",
            "kind": "step",
            "label": "result.IsSuccess",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 88
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__true",
            "kind": "step",
            "label": "true",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 88
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__false",
            "kind": "step",
            "label": "false",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 88
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__merge",
            "kind": "step",
            "label": "merge",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 88
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__condition",
            "kind": "step",
            "label": "packet.Graph != null",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 91
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__true",
            "kind": "step",
            "label": "true",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 91
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__false",
            "kind": "step",
            "label": "false",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 91
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__merge",
            "kind": "step",
            "label": "merge",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 91
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_93_processfullpageasync_await_93_7__await",
            "kind": "step",
            "label": "Waits for async work",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 93
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__call_93_IKnowledgeGraphService_UpdateGraph",
            "kind": "method",
            "label": "IKnowledgeGraphService.UpdateGraph",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 93
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_94_event_invoke_94__linear",
            "kind": "step",
            "label": "Raise OnGraphUpdated",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 94
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__condition",
            "kind": "step",
            "label": "OnGraphUpdated != null",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 94
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__true",
            "kind": "step",
            "label": "true",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 94
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__false",
            "kind": "step",
            "label": "false",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 94
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__merge",
            "kind": "step",
            "label": "merge",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 94
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_95_processfullpageasync_await_95_9__await",
            "kind": "step",
            "label": "Waits for async work",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 95
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__call_95_OnGraphUpdated_Invoke",
            "kind": "method",
            "label": "OnGraphUpdated.Invoke",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 95
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_96_processfullpageasync_await_96_10__await",
            "kind": "step",
            "label": "Waits for async work",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 96
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__call_96_IPlatformService_VibrateSuccessAsync",
            "kind": "method",
            "label": "IPlatformService.VibrateSuccessAsync",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 96
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_100_processfullpageasync_catch_100_11__catch",
            "kind": "step",
            "label": "catch Exception ex",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 100
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__call_102_LogGraphError",
            "kind": "method",
            "label": "LogGraphError",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 102
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__implicit_return",
            "kind": "return",
            "label": "return",
            "shape": "stadium",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 104
          }
        ],
        "edges": [
          {
            "id": "method_1x9gjeq_processfullpageasync__entry__method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__condition",
            "from": "method_1x9gjeq_processfullpageasync__entry",
            "to": "method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__condition",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 78
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__condition__method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__true",
            "from": "method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__condition",
            "to": "method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__true",
            "semanticLabel": "return",
            "visibleLabel": "return",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 78
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__condition__method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__false",
            "from": "method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__condition",
            "to": "method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__false",
            "semanticLabel": "continue",
            "visibleLabel": "continue",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 78
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__true__method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__merge",
            "from": "method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__true",
            "to": "method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 78
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__false__method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__merge",
            "from": "method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__false",
            "to": "method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 78
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__merge__method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__condition",
            "from": "method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__merge",
            "to": "method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__condition",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 78
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__condition__method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__true",
            "from": "method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__condition",
            "to": "method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__true",
            "semanticLabel": "exit",
            "visibleLabel": "exit",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 78
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__condition__method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__false",
            "from": "method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__condition",
            "to": "method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__false",
            "semanticLabel": "continue",
            "visibleLabel": "continue",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 78
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__true__method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__merge",
            "from": "method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__true",
            "to": "method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 78
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__false__method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__merge",
            "from": "method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__false",
            "to": "method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 78
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__merge__method_1x9gjeq_processfullpageasync__action_80_log_80__linear",
            "from": "method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__merge",
            "to": "method_1x9gjeq_processfullpageasync__action_80_log_80__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 80
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_80_log_80__linear__call_method_1x9gjeq_processfullpageasync__call_80_LogGeneratingGraph",
            "from": "method_1x9gjeq_processfullpageasync__action_80_log_80__linear",
            "to": "method_1x9gjeq_processfullpageasync__call_80_LogGeneratingGraph",
            "semanticLabel": "tenantId",
            "visibleLabel": "tenantId",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 80
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__call_80_LogGeneratingGraph__method_1x9gjeq_processfullpageasync__action_82_processfullpageasync_await_82_1__await",
            "from": "method_1x9gjeq_processfullpageasync__call_80_LogGeneratingGraph",
            "to": "method_1x9gjeq_processfullpageasync__action_82_processfullpageasync_await_82_1__await",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 82
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_82_processfullpageasync_await_82_1__await__method_1x9gjeq_processfullpageasync__action_82_state_change_82__linear",
            "from": "method_1x9gjeq_processfullpageasync__action_82_processfullpageasync_await_82_1__await",
            "to": "method_1x9gjeq_processfullpageasync__action_82_state_change_82__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 82
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_82_state_change_82__linear__call_method_1x9gjeq_processfullpageasync__call_82_IKnowledgeGraphService_Clear",
            "from": "method_1x9gjeq_processfullpageasync__action_82_state_change_82__linear",
            "to": "method_1x9gjeq_processfullpageasync__call_82_IKnowledgeGraphService_Clear",
            "semanticLabel": "none",
            "visibleLabel": "none",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 82
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__call_82_IKnowledgeGraphService_Clear__method_1x9gjeq_processfullpageasync__action_83_processfullpageasync_await_83_2__await",
            "from": "method_1x9gjeq_processfullpageasync__call_82_IKnowledgeGraphService_Clear",
            "to": "method_1x9gjeq_processfullpageasync__action_83_processfullpageasync_await_83_2__await",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 83
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_83_processfullpageasync_await_83_2__await__call_method_1x9gjeq_processfullpageasync__call_83_IKnowledgeGraphService_SetLoading",
            "from": "method_1x9gjeq_processfullpageasync__action_83_processfullpageasync_await_83_2__await",
            "to": "method_1x9gjeq_processfullpageasync__call_83_IKnowledgeGraphService_SetLoading",
            "semanticLabel": "true",
            "visibleLabel": "true",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 83
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__call_83_IKnowledgeGraphService_SetLoading__method_1x9gjeq_processfullpageasync__action_85_try_catch_85__linear",
            "from": "method_1x9gjeq_processfullpageasync__call_83_IKnowledgeGraphService_SetLoading",
            "to": "method_1x9gjeq_processfullpageasync__action_85_try_catch_85__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 85
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_85_try_catch_85__linear__method_1x9gjeq_processfullpageasync__action_85_processfullpageasync_try_85_3__try",
            "from": "method_1x9gjeq_processfullpageasync__action_85_try_catch_85__linear",
            "to": "method_1x9gjeq_processfullpageasync__action_85_processfullpageasync_try_85_3__try",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 85
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_85_processfullpageasync_try_85_3__try__method_1x9gjeq_processfullpageasync__action_87_processfullpageasync_await_87_4__await",
            "from": "method_1x9gjeq_processfullpageasync__action_85_processfullpageasync_try_85_3__try",
            "to": "method_1x9gjeq_processfullpageasync__action_87_processfullpageasync_await_87_4__await",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 87
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_87_processfullpageasync_await_87_4__await__method_1x9gjeq_processfullpageasync__action_87_external_call_87__linear",
            "from": "method_1x9gjeq_processfullpageasync__action_87_processfullpageasync_await_87_4__await",
            "to": "method_1x9gjeq_processfullpageasync__action_87_external_call_87__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 87
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_87_external_call_87__linear__call_method_1x9gjeq_processfullpageasync__call_87_IKnowledgeService_GetGraphDataAsync",
            "from": "method_1x9gjeq_processfullpageasync__action_87_external_call_87__linear",
            "to": "method_1x9gjeq_processfullpageasync__call_87_IKnowledgeService_GetGraphDataAsync",
            "semanticLabel": "fullContent, tenantId",
            "visibleLabel": "fullContent, tenantId",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 87
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__call_87_IKnowledgeService_GetGraphDataAsync__method_1x9gjeq_processfullpageasync__action_88_branch_88__condition",
            "from": "method_1x9gjeq_processfullpageasync__call_87_IKnowledgeService_GetGraphDataAsync",
            "to": "method_1x9gjeq_processfullpageasync__action_88_branch_88__condition",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 88
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_88_branch_88__condition__method_1x9gjeq_processfullpageasync__action_88_branch_88__true",
            "from": "method_1x9gjeq_processfullpageasync__action_88_branch_88__condition",
            "to": "method_1x9gjeq_processfullpageasync__action_88_branch_88__true",
            "semanticLabel": "update graph & notify",
            "visibleLabel": "transforms input",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 88
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_88_branch_88__condition__method_1x9gjeq_processfullpageasync__action_88_branch_88__false",
            "from": "method_1x9gjeq_processfullpageasync__action_88_branch_88__condition",
            "to": "method_1x9gjeq_processfullpageasync__action_88_branch_88__false",
            "semanticLabel": "no-op",
            "visibleLabel": "no-op",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 88
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_88_branch_88__true__method_1x9gjeq_processfullpageasync__action_88_branch_88__merge",
            "from": "method_1x9gjeq_processfullpageasync__action_88_branch_88__true",
            "to": "method_1x9gjeq_processfullpageasync__action_88_branch_88__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 88
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_88_branch_88__false__method_1x9gjeq_processfullpageasync__action_88_branch_88__merge",
            "from": "method_1x9gjeq_processfullpageasync__action_88_branch_88__false",
            "to": "method_1x9gjeq_processfullpageasync__action_88_branch_88__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 88
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_88_branch_88__merge__method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__condition",
            "from": "method_1x9gjeq_processfullpageasync__action_88_branch_88__merge",
            "to": "method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__condition",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 88
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__condition__method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__true",
            "from": "method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__condition",
            "to": "method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__true",
            "semanticLabel": "true",
            "visibleLabel": "true",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 88
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__condition__method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__false",
            "from": "method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__condition",
            "to": "method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__false",
            "semanticLabel": "false",
            "visibleLabel": "false",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 88
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__true__method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__merge",
            "from": "method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__true",
            "to": "method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 88
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__false__method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__merge",
            "from": "method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__false",
            "to": "method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 88
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__merge__method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__condition",
            "from": "method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__merge",
            "to": "method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__condition",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 91
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__condition__method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__true",
            "from": "method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__condition",
            "to": "method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__true",
            "semanticLabel": "true",
            "visibleLabel": "true",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 91
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__condition__method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__false",
            "from": "method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__condition",
            "to": "method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__false",
            "semanticLabel": "false",
            "visibleLabel": "false",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 91
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__true__method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__merge",
            "from": "method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__true",
            "to": "method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 91
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__false__method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__merge",
            "from": "method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__false",
            "to": "method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 91
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__merge__method_1x9gjeq_processfullpageasync__action_93_processfullpageasync_await_93_7__await",
            "from": "method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__merge",
            "to": "method_1x9gjeq_processfullpageasync__action_93_processfullpageasync_await_93_7__await",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 93
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_93_processfullpageasync_await_93_7__await__call_method_1x9gjeq_processfullpageasync__call_93_IKnowledgeGraphService_UpdateGraph",
            "from": "method_1x9gjeq_processfullpageasync__action_93_processfullpageasync_await_93_7__await",
            "to": "method_1x9gjeq_processfullpageasync__call_93_IKnowledgeGraphService_UpdateGraph",
            "semanticLabel": "packet.Graph",
            "visibleLabel": "packet.Graph",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 93
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__call_93_IKnowledgeGraphService_UpdateGraph__method_1x9gjeq_processfullpageasync__action_94_event_invoke_94__linear",
            "from": "method_1x9gjeq_processfullpageasync__call_93_IKnowledgeGraphService_UpdateGraph",
            "to": "method_1x9gjeq_processfullpageasync__action_94_event_invoke_94__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 94
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_94_event_invoke_94__linear__method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__condition",
            "from": "method_1x9gjeq_processfullpageasync__action_94_event_invoke_94__linear",
            "to": "method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__condition",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 94
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__condition__method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__true",
            "from": "method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__condition",
            "to": "method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__true",
            "semanticLabel": "true",
            "visibleLabel": "true",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 94
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__condition__method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__false",
            "from": "method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__condition",
            "to": "method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__false",
            "semanticLabel": "false",
            "visibleLabel": "false",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 94
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__true__method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__merge",
            "from": "method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__true",
            "to": "method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 94
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__false__method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__merge",
            "from": "method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__false",
            "to": "method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 94
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__merge__method_1x9gjeq_processfullpageasync__action_95_processfullpageasync_await_95_9__await",
            "from": "method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__merge",
            "to": "method_1x9gjeq_processfullpageasync__action_95_processfullpageasync_await_95_9__await",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 95
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_95_processfullpageasync_await_95_9__await__call_method_1x9gjeq_processfullpageasync__call_95_OnGraphUpdated_Invoke",
            "from": "method_1x9gjeq_processfullpageasync__action_95_processfullpageasync_await_95_9__await",
            "to": "method_1x9gjeq_processfullpageasync__call_95_OnGraphUpdated_Invoke",
            "semanticLabel": "packet.Graph",
            "visibleLabel": "packet.Graph",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 95
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__call_95_OnGraphUpdated_Invoke__method_1x9gjeq_processfullpageasync__action_96_processfullpageasync_await_96_10__await",
            "from": "method_1x9gjeq_processfullpageasync__call_95_OnGraphUpdated_Invoke",
            "to": "method_1x9gjeq_processfullpageasync__action_96_processfullpageasync_await_96_10__await",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 96
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_96_processfullpageasync_await_96_10__await__call_method_1x9gjeq_processfullpageasync__call_96_IPlatformService_VibrateSuccessAsync",
            "from": "method_1x9gjeq_processfullpageasync__action_96_processfullpageasync_await_96_10__await",
            "to": "method_1x9gjeq_processfullpageasync__call_96_IPlatformService_VibrateSuccessAsync",
            "semanticLabel": "none",
            "visibleLabel": "none",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 96
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__call_96_IPlatformService_VibrateSuccessAsync__method_1x9gjeq_processfullpageasync__action_100_processfullpageasync_catch_100_11__catch",
            "from": "method_1x9gjeq_processfullpageasync__call_96_IPlatformService_VibrateSuccessAsync",
            "to": "method_1x9gjeq_processfullpageasync__action_100_processfullpageasync_catch_100_11__catch",
            "semanticLabel": "exception",
            "visibleLabel": "exception",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 100
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__action_100_processfullpageasync_catch_100_11__catch__call_method_1x9gjeq_processfullpageasync__call_102_LogGraphError",
            "from": "method_1x9gjeq_processfullpageasync__action_100_processfullpageasync_catch_100_11__catch",
            "to": "method_1x9gjeq_processfullpageasync__call_102_LogGraphError",
            "semanticLabel": "ex, tenantId",
            "visibleLabel": "ex, tenantId",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 102
          },
          {
            "id": "method_1x9gjeq_processfullpageasync__call_102_LogGraphError__implicit_return",
            "from": "method_1x9gjeq_processfullpageasync__call_102_LogGraphError",
            "to": "method_1x9gjeq_processfullpageasync__implicit_return",
            "semanticLabel": "return",
            "visibleLabel": "return",
            "relation": "returns",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 104
          }
        ],
        "metadata": {
          "evidencePaths": [
            "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs"
          ],
          "warnings": [
            "Call target IKnowledgeGraphService.Clear in unknown could not be matched to an extracted method symbol.",
            "Call target IKnowledgeGraphService.SetLoading in unknown could not be matched to an extracted method symbol.",
            "Call target IKnowledgeService.GetGraphDataAsync in unknown could not be matched to an extracted method symbol.",
            "Call target IKnowledgeGraphService.UpdateGraph in unknown could not be matched to an extracted method symbol.",
            "Call target OnGraphUpdated.Invoke in NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs could not be matched to an extracted method symbol.",
            "Call target IPlatformService.VibrateSuccessAsync in unknown could not be matched to an extracted method symbol."
          ]
        },
        "subgraphs": []
      },
      "mermaidSource": "---\nconfig:\n  flowchart:\n    defaultRenderer: \"elk\"\n---\nflowchart TD\n    method_1x9gjeq_processfullpageasync__call_102_LogGraphError[[\"LogGraphError\"]]\n    method_1x9gjeq_processfullpageasync__call_80_LogGeneratingGraph[[\"LogGeneratingGraph\"]]\n    method_1x9gjeq_processfullpageasync__call_82_IKnowledgeGraphService_Clear[[\"IKnowledgeGraphService.Clear\"]]\n    method_1x9gjeq_processfullpageasync__call_83_IKnowledgeGraphService_SetLoading[[\"IKnowledgeGraphService.SetLoading\"]]\n    method_1x9gjeq_processfullpageasync__call_87_IKnowledgeService_GetGraphDataAsync[[\"IKnowledgeService.GetGraphDataAsync\"]]\n    method_1x9gjeq_processfullpageasync__call_93_IKnowledgeGraphService_UpdateGraph[[\"IKnowledgeGraphService.UpdateGraph\"]]\n    method_1x9gjeq_processfullpageasync__call_95_OnGraphUpdated_Invoke[[\"OnGraphUpdated.Invoke\"]]\n    method_1x9gjeq_processfullpageasync__call_96_IPlatformService_VibrateSuccessAsync[[\"IPlatformService.VibrateSuccessAsync\"]]\n    method_1x9gjeq_processfullpageasync__action_100_processfullpageasync_catch_100_11__catch(\"catch Exception ex\")\n    method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__condition{\"string.IsNullOrWhiteSpace(fullContent)\"}\n    method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__false(\"continue\")\n    method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__merge(\"merge\")\n    method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__true(\"return\")\n    method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__condition{\"string.IsNullOrWhiteSpace(fullContent)\"}\n    method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__false(\"continue\")\n    method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__merge(\"merge\")\n    method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__true(\"exit\")\n    method_1x9gjeq_processfullpageasync__action_80_log_80__linear(\"Start generating graph\")\n    method_1x9gjeq_processfullpageasync__action_82_processfullpageasync_await_82_1__await[[\"Waits for async work\"]]\n    method_1x9gjeq_processfullpageasync__action_82_state_change_82__linear(\"Graph service reset & loading\")\n    method_1x9gjeq_processfullpageasync__action_83_processfullpageasync_await_83_2__await[[\"Waits for async work\"]]\n    method_1x9gjeq_processfullpageasync__action_85_processfullpageasync_try_85_3__try(\"Begins protected execution\")\n    method_1x9gjeq_processfullpageasync__action_85_try_catch_85__linear(\"Exception handling\")\n    method_1x9gjeq_processfullpageasync__action_87_processfullpageasync_await_87_4__await[[\"Waits for async work\"]]\n    method_1x9gjeq_processfullpageasync__action_88_branch_88__condition{\"result.IsSuccess && packet.Graph != null\"}\n    method_1x9gjeq_processfullpageasync__action_88_branch_88__false(\"no-op\")\n    method_1x9gjeq_processfullpageasync__action_88_branch_88__merge(\"merge\")\n    method_1x9gjeq_processfullpageasync__action_88_branch_88__true(\"update graph & notify\")\n    method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__condition{\"result.IsSuccess\"}\n    method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__false(\"false\")\n    method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__merge(\"merge\")\n    method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__true(\"true\")\n    method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__condition{\"packet.Graph != null\"}\n    method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__false(\"false\")\n    method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__merge(\"merge\")\n    method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__true(\"true\")\n    method_1x9gjeq_processfullpageasync__action_93_processfullpageasync_await_93_7__await[[\"Waits for async work\"]]\n    method_1x9gjeq_processfullpageasync__action_94_event_invoke_94__linear(\"Raise OnGraphUpdated\")\n    method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__condition{\"OnGraphUpdated != null\"}\n    method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__false(\"false\")\n    method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__merge(\"merge\")\n    method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__true(\"true\")\n    method_1x9gjeq_processfullpageasync__action_95_processfullpageasync_await_95_9__await[[\"Waits for async work\"]]\n    method_1x9gjeq_processfullpageasync__action_96_processfullpageasync_await_96_10__await[[\"Waits for async work\"]]\n    method_1x9gjeq_processfullpageasync__entry([\"ProcessFullPageAsync entry\"])\n    method_1x9gjeq_processfullpageasync__action_87_external_call_87__linear(\"Request graph data\")\n    method_1x9gjeq_processfullpageasync__implicit_return([\"return\"])\n    method_1x9gjeq_processfullpageasync__action_100_processfullpageasync_catch_100_11__catch -->|ex, tenantId| method_1x9gjeq_processfullpageasync__call_102_LogGraphError\n    method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__condition -->|continue| method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__false\n    method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__condition -->|return| method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__true\n    method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__false -->|next| method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__merge\n    method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__merge -->|next| method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__condition\n    method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__true -->|next| method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__merge\n    method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__condition -->|continue| method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__false\n    method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__condition -->|exit| method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__true\n    method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__false -->|next| method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__merge\n    method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__merge -->|next| method_1x9gjeq_processfullpageasync__action_80_log_80__linear\n    method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__true -->|next| method_1x9gjeq_processfullpageasync__action_78_processfullpageasync_guard_clause_78_0__merge\n    method_1x9gjeq_processfullpageasync__action_80_log_80__linear -->|tenantId| method_1x9gjeq_processfullpageasync__call_80_LogGeneratingGraph\n    method_1x9gjeq_processfullpageasync__action_82_processfullpageasync_await_82_1__await -->|next| method_1x9gjeq_processfullpageasync__action_82_state_change_82__linear\n    method_1x9gjeq_processfullpageasync__action_82_state_change_82__linear -->|none| method_1x9gjeq_processfullpageasync__call_82_IKnowledgeGraphService_Clear\n    method_1x9gjeq_processfullpageasync__action_83_processfullpageasync_await_83_2__await -->|true| method_1x9gjeq_processfullpageasync__call_83_IKnowledgeGraphService_SetLoading\n    method_1x9gjeq_processfullpageasync__action_85_processfullpageasync_try_85_3__try -->|next| method_1x9gjeq_processfullpageasync__action_87_processfullpageasync_await_87_4__await\n    method_1x9gjeq_processfullpageasync__action_85_try_catch_85__linear -->|next| method_1x9gjeq_processfullpageasync__action_85_processfullpageasync_try_85_3__try\n    method_1x9gjeq_processfullpageasync__action_87_external_call_87__linear -->|fullContent, tenantId| method_1x9gjeq_processfullpageasync__call_87_IKnowledgeService_GetGraphDataAsync\n    method_1x9gjeq_processfullpageasync__action_87_processfullpageasync_await_87_4__await -->|next| method_1x9gjeq_processfullpageasync__action_87_external_call_87__linear\n    method_1x9gjeq_processfullpageasync__action_88_branch_88__condition -->|no-op| method_1x9gjeq_processfullpageasync__action_88_branch_88__false\n    method_1x9gjeq_processfullpageasync__action_88_branch_88__condition -->|transforms input| method_1x9gjeq_processfullpageasync__action_88_branch_88__true\n    method_1x9gjeq_processfullpageasync__action_88_branch_88__false -->|next| method_1x9gjeq_processfullpageasync__action_88_branch_88__merge\n    method_1x9gjeq_processfullpageasync__action_88_branch_88__merge -->|next| method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__condition\n    method_1x9gjeq_processfullpageasync__action_88_branch_88__true -->|next| method_1x9gjeq_processfullpageasync__action_88_branch_88__merge\n    method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__condition -->|false| method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__false\n    method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__condition -->|true| method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__true\n    method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__false -->|next| method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__merge\n    method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__merge -->|next| method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__condition\n    method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__true -->|next| method_1x9gjeq_processfullpageasync__action_88_processfullpageasync_branch_88_5__merge\n    method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__condition -->|false| method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__false\n    method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__condition -->|true| method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__true\n    method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__false -->|next| method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__merge\n    method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__merge -->|next| method_1x9gjeq_processfullpageasync__action_93_processfullpageasync_await_93_7__await\n    method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__true -->|next| method_1x9gjeq_processfullpageasync__action_91_processfullpageasync_branch_91_6__merge\n    method_1x9gjeq_processfullpageasync__action_93_processfullpageasync_await_93_7__await -->|packet.Graph| method_1x9gjeq_processfullpageasync__call_93_IKnowledgeGraphService_UpdateGraph\n    method_1x9gjeq_processfullpageasync__action_94_event_invoke_94__linear -->|next| method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__condition\n    method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__condition -->|false| method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__false\n    method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__condition -->|true| method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__true\n    method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__false -->|next| method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__merge\n    method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__merge -->|next| method_1x9gjeq_processfullpageasync__action_95_processfullpageasync_await_95_9__await\n    method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__true -->|next| method_1x9gjeq_processfullpageasync__action_94_processfullpageasync_branch_94_8__merge\n    method_1x9gjeq_processfullpageasync__action_95_processfullpageasync_await_95_9__await -->|packet.Graph| method_1x9gjeq_processfullpageasync__call_95_OnGraphUpdated_Invoke\n    method_1x9gjeq_processfullpageasync__action_96_processfullpageasync_await_96_10__await -->|none| method_1x9gjeq_processfullpageasync__call_96_IPlatformService_VibrateSuccessAsync\n    method_1x9gjeq_processfullpageasync__call_102_LogGraphError -->|return| method_1x9gjeq_processfullpageasync__implicit_return\n    method_1x9gjeq_processfullpageasync__call_80_LogGeneratingGraph -->|next| method_1x9gjeq_processfullpageasync__action_82_processfullpageasync_await_82_1__await\n    method_1x9gjeq_processfullpageasync__call_82_IKnowledgeGraphService_Clear -->|next| method_1x9gjeq_processfullpageasync__action_83_processfullpageasync_await_83_2__await\n    method_1x9gjeq_processfullpageasync__call_83_IKnowledgeGraphService_SetLoading -->|next| method_1x9gjeq_processfullpageasync__action_85_try_catch_85__linear\n    method_1x9gjeq_processfullpageasync__call_87_IKnowledgeService_GetGraphDataAsync -->|next| method_1x9gjeq_processfullpageasync__action_88_branch_88__condition\n    method_1x9gjeq_processfullpageasync__call_93_IKnowledgeGraphService_UpdateGraph -->|next| method_1x9gjeq_processfullpageasync__action_94_event_invoke_94__linear\n    method_1x9gjeq_processfullpageasync__call_95_OnGraphUpdated_Invoke -->|next| method_1x9gjeq_processfullpageasync__action_96_processfullpageasync_await_96_10__await\n    method_1x9gjeq_processfullpageasync__call_96_IPlatformService_VibrateSuccessAsync -->|exception| method_1x9gjeq_processfullpageasync__action_100_processfullpageasync_catch_100_11__catch\n    method_1x9gjeq_processfullpageasync__entry -->|next| method_1x9gjeq_processfullpageasync__action_78_guard_clause_78__condition",
      "warnings": [
        "diagram method_1x9gjeq_processfullpageasync__fragment_diagram exceeds preferred complexity thresholds (47 nodes, 52 edges)."
      ]
    },
    {
      "id": "method_1pdmx9l_onblockreachedasync__fragment_diagram",
      "purpose": "control-flow",
      "title": "OnBlockReachedAsync() Control Flow",
      "required": true,
      "diagram": {
        "id": "method_1pdmx9l_onblockreachedasync__fragment_diagram",
        "kind": "control-flow",
        "title": "OnBlockReachedAsync() Control Flow",
        "direction": "TD",
        "nodes": [
          {
            "id": "method_1pdmx9l_onblockreachedasync__entry",
            "kind": "step",
            "label": "OnBlockReachedAsync entry",
            "shape": "stadium",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 106
          },
          {
            "id": "method_1pdmx9l_onblockreachedasync__action_108_comment_108__linear",
            "kind": "step",
            "label": "Do not highlight here",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 108
          },
          {
            "id": "method_1pdmx9l_onblockreachedasync__action_109_onblockreachedasync_await_109_0__await",
            "kind": "step",
            "label": "Waits for async work",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 109
          },
          {
            "id": "method_1pdmx9l_onblockreachedasync__action_109_state_change_109__linear",
            "kind": "step",
            "label": "Set active node",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 109
          },
          {
            "id": "method_1pdmx9l_onblockreachedasync__call_109_IKnowledgeGraphService_SetActiveNode",
            "kind": "method",
            "label": "IKnowledgeGraphService.SetActiveNode",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 109
          },
          {
            "id": "method_1pdmx9l_onblockreachedasync__implicit_return",
            "kind": "return",
            "label": "return",
            "shape": "stadium",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 110
          }
        ],
        "edges": [
          {
            "id": "method_1pdmx9l_onblockreachedasync__entry__method_1pdmx9l_onblockreachedasync__action_108_comment_108__linear",
            "from": "method_1pdmx9l_onblockreachedasync__entry",
            "to": "method_1pdmx9l_onblockreachedasync__action_108_comment_108__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 108
          },
          {
            "id": "method_1pdmx9l_onblockreachedasync__action_108_comment_108__linear__method_1pdmx9l_onblockreachedasync__action_109_onblockreachedasync_await_109_0__await",
            "from": "method_1pdmx9l_onblockreachedasync__action_108_comment_108__linear",
            "to": "method_1pdmx9l_onblockreachedasync__action_109_onblockreachedasync_await_109_0__await",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 109
          },
          {
            "id": "method_1pdmx9l_onblockreachedasync__action_109_onblockreachedasync_await_109_0__await__method_1pdmx9l_onblockreachedasync__action_109_state_change_109__linear",
            "from": "method_1pdmx9l_onblockreachedasync__action_109_onblockreachedasync_await_109_0__await",
            "to": "method_1pdmx9l_onblockreachedasync__action_109_state_change_109__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 109
          },
          {
            "id": "method_1pdmx9l_onblockreachedasync__action_109_state_change_109__linear__call_method_1pdmx9l_onblockreachedasync__call_109_IKnowledgeGraphService_SetActiveNode",
            "from": "method_1pdmx9l_onblockreachedasync__action_109_state_change_109__linear",
            "to": "method_1pdmx9l_onblockreachedasync__call_109_IKnowledgeGraphService_SetActiveNode",
            "semanticLabel": "blockId",
            "visibleLabel": "blockId",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 109
          },
          {
            "id": "method_1pdmx9l_onblockreachedasync__call_109_IKnowledgeGraphService_SetActiveNode__implicit_return",
            "from": "method_1pdmx9l_onblockreachedasync__call_109_IKnowledgeGraphService_SetActiveNode",
            "to": "method_1pdmx9l_onblockreachedasync__implicit_return",
            "semanticLabel": "return",
            "visibleLabel": "return",
            "relation": "returns",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 110
          }
        ],
        "metadata": {
          "evidencePaths": [
            "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs"
          ],
          "warnings": [
            "Call target IKnowledgeGraphService.SetActiveNode in unknown could not be matched to an extracted method symbol."
          ]
        },
        "subgraphs": []
      },
      "mermaidSource": "flowchart TD\n    method_1pdmx9l_onblockreachedasync__call_109_IKnowledgeGraphService_SetActiveNode[[\"IKnowledgeGraphService.SetActiveNode\"]]\n    method_1pdmx9l_onblockreachedasync__action_108_comment_108__linear(\"Do not highlight here\")\n    method_1pdmx9l_onblockreachedasync__action_109_onblockreachedasync_await_109_0__await[[\"Waits for async work\"]]\n    method_1pdmx9l_onblockreachedasync__action_109_state_change_109__linear(\"Set active node\")\n    method_1pdmx9l_onblockreachedasync__entry([\"OnBlockReachedAsync entry\"])\n    method_1pdmx9l_onblockreachedasync__implicit_return([\"return\"])\n    method_1pdmx9l_onblockreachedasync__action_108_comment_108__linear -->|next| method_1pdmx9l_onblockreachedasync__action_109_onblockreachedasync_await_109_0__await\n    method_1pdmx9l_onblockreachedasync__action_109_onblockreachedasync_await_109_0__await -->|next| method_1pdmx9l_onblockreachedasync__action_109_state_change_109__linear\n    method_1pdmx9l_onblockreachedasync__action_109_state_change_109__linear -->|blockId| method_1pdmx9l_onblockreachedasync__call_109_IKnowledgeGraphService_SetActiveNode\n    method_1pdmx9l_onblockreachedasync__call_109_IKnowledgeGraphService_SetActiveNode -->|return| method_1pdmx9l_onblockreachedasync__implicit_return\n    method_1pdmx9l_onblockreachedasync__entry -->|next| method_1pdmx9l_onblockreachedasync__action_108_comment_108__linear",
      "warnings": []
    },
    {
      "id": "method_2y4xzb_requestsummaryandquizasync__fragment_diagram",
      "purpose": "control-flow",
      "title": "RequestSummaryAndQuizAsync() Control Flow",
      "required": true,
      "diagram": {
        "id": "method_2y4xzb_requestsummaryandquizasync__fragment_diagram",
        "kind": "control-flow",
        "title": "RequestSummaryAndQuizAsync() Control Flow",
        "direction": "TD",
        "nodes": [
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__entry",
            "kind": "step",
            "label": "RequestSummaryAndQuizAsync entry",
            "shape": "stadium",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 112
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_114_requestsummaryandquizasync_await_114_0__await",
            "kind": "step",
            "label": "Waits for async work",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 114
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_114_state_change_114__linear",
            "kind": "step",
            "label": "Mark quiz hydrating",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 114
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__call_114_IQuizStateService_SetHydrating",
            "kind": "method",
            "label": "IQuizStateService.SetHydrating",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 114
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_115_log_115__linear",
            "kind": "step",
            "label": "Requesting summary & quiz",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 115
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__call_115_LogRequestingSummary",
            "kind": "method",
            "label": "LogRequestingSummary",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 115
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_116_try_catch_finally_116__linear",
            "kind": "step",
            "label": "Error handling and cleanup",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 116
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_116_requestsummaryandquizasync_try_116_1__try",
            "kind": "step",
            "label": "Begins protected execution",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 116
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_118_requestsummaryandquizasync_await_118_2__await",
            "kind": "step",
            "label": "Waits for async work",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 118
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_118_external_call_118__linear",
            "kind": "dependency",
            "label": "Request summary+quiz",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 118
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__call_118_IKnowledgeService_GetSummaryAndQuizAsync",
            "kind": "method",
            "label": "IKnowledgeService.GetSummaryAndQuizAsync",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 118
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__condition",
            "kind": "step",
            "label": "result.IsSuccess",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 119
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__true",
            "kind": "step",
            "label": "map & set quiz",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 119
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__false",
            "kind": "step",
            "label": "log warning & fail",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 119
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__merge",
            "kind": "step",
            "label": "merge",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 119
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__condition",
            "kind": "step",
            "label": "result.IsSuccess",
            "shape": "diamond",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 119
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__true",
            "kind": "step",
            "label": "true",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 119
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__false",
            "kind": "step",
            "label": "false",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 119
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__merge",
            "kind": "step",
            "label": "merge",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 119
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_122_mapping_122__linear",
            "kind": "step",
            "label": "Map remote quizzes to UI DTOs",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 122
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_123_requestsummaryandquizasync_mapping_123_4__linear",
            "kind": "step",
            "label": "Maps data or transforms shape",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 123
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__call_123_QuizQuestionDto_ctor",
            "kind": "method",
            "label": "QuizQuestionDto..ctor",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 123
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_126_requestsummaryandquizasync_await_126_5__await",
            "kind": "step",
            "label": "Waits for async work",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 126
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__call_126_IQuizStateService_SetQuiz",
            "kind": "method",
            "label": "IQuizStateService.SetQuiz",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 126
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_127_requestsummaryandquizasync_await_127_6__await",
            "kind": "step",
            "label": "Waits for async work",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 127
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__call_127_IPlatformService_VibrateSuccessAsync",
            "kind": "method",
            "label": "IPlatformService.VibrateSuccessAsync",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 127
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_128_requestsummaryandquizasync_return_128_7__return",
            "kind": "return",
            "label": "Returns result",
            "shape": "stadium",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 128
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__call_131_LogSummaryWarning",
            "kind": "method",
            "label": "LogSummaryWarning",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 131
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_132_requestsummaryandquizasync_return_132_8__return",
            "kind": "return",
            "label": "Returns result",
            "shape": "stadium",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 132
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_134_requestsummaryandquizasync_catch_134_9__catch",
            "kind": "step",
            "label": "catch Exception ex",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 134
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__call_136_LogSummaryError",
            "kind": "method",
            "label": "LogSummaryError",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 136
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_137_requestsummaryandquizasync_return_137_10__return",
            "kind": "return",
            "label": "Returns result",
            "shape": "stadium",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 137
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_139_requestsummaryandquizasync_finally_139_11__finally",
            "kind": "step",
            "label": "Runs cleanup or finalization",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 139
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_141_requestsummaryandquizasync_await_141_12__await",
            "kind": "step",
            "label": "Waits for async work",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 141
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__implicit_return",
            "kind": "return",
            "label": "return",
            "shape": "stadium",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 143
          }
        ],
        "edges": [
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__entry__method_2y4xzb_requestsummaryandquizasync__action_114_requestsummaryandquizasync_await_114_0__await",
            "from": "method_2y4xzb_requestsummaryandquizasync__entry",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_114_requestsummaryandquizasync_await_114_0__await",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 114
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_114_requestsummaryandquizasync_await_114_0__await__method_2y4xzb_requestsummaryandquizasync__action_114_state_change_114__linear",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_114_requestsummaryandquizasync_await_114_0__await",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_114_state_change_114__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 114
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_114_state_change_114__linear__call_method_2y4xzb_requestsummaryandquizasync__call_114_IQuizStateService_SetHydrating",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_114_state_change_114__linear",
            "to": "method_2y4xzb_requestsummaryandquizasync__call_114_IQuizStateService_SetHydrating",
            "semanticLabel": "true/false",
            "visibleLabel": "true / false",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 114
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__call_114_IQuizStateService_SetHydrating__method_2y4xzb_requestsummaryandquizasync__action_115_log_115__linear",
            "from": "method_2y4xzb_requestsummaryandquizasync__call_114_IQuizStateService_SetHydrating",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_115_log_115__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 115
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_115_log_115__linear__call_method_2y4xzb_requestsummaryandquizasync__call_115_LogRequestingSummary",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_115_log_115__linear",
            "to": "method_2y4xzb_requestsummaryandquizasync__call_115_LogRequestingSummary",
            "semanticLabel": "tenantId",
            "visibleLabel": "tenantId",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 115
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__call_115_LogRequestingSummary__method_2y4xzb_requestsummaryandquizasync__action_116_try_catch_finally_116__linear",
            "from": "method_2y4xzb_requestsummaryandquizasync__call_115_LogRequestingSummary",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_116_try_catch_finally_116__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 116
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_116_try_catch_finally_116__linear__method_2y4xzb_requestsummaryandquizasync__action_116_requestsummaryandquizasync_try_116_1__try",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_116_try_catch_finally_116__linear",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_116_requestsummaryandquizasync_try_116_1__try",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 116
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_116_requestsummaryandquizasync_try_116_1__try__method_2y4xzb_requestsummaryandquizasync__action_118_requestsummaryandquizasync_await_118_2__await",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_116_requestsummaryandquizasync_try_116_1__try",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_118_requestsummaryandquizasync_await_118_2__await",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 118
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_118_requestsummaryandquizasync_await_118_2__await__method_2y4xzb_requestsummaryandquizasync__action_118_external_call_118__linear",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_118_requestsummaryandquizasync_await_118_2__await",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_118_external_call_118__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 118
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_118_external_call_118__linear__call_method_2y4xzb_requestsummaryandquizasync__call_118_IKnowledgeService_GetSummaryAndQuizAsync",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_118_external_call_118__linear",
            "to": "method_2y4xzb_requestsummaryandquizasync__call_118_IKnowledgeService_GetSummaryAndQuizAsync",
            "semanticLabel": "content, tenantId",
            "visibleLabel": "content, tenantId",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 118
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__call_118_IKnowledgeService_GetSummaryAndQuizAsync__method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__condition",
            "from": "method_2y4xzb_requestsummaryandquizasync__call_118_IKnowledgeService_GetSummaryAndQuizAsync",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__condition",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 119
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__condition__method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__true",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__condition",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__true",
            "semanticLabel": "map & set quiz",
            "visibleLabel": "transforms input",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 119
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__condition__method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__false",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__condition",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__false",
            "semanticLabel": "log warning & fail",
            "visibleLabel": "transforms input",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 119
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__true__method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__merge",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__true",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 119
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__false__method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__merge",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__false",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 119
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__merge__method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__condition",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__merge",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__condition",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 119
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__condition__method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__true",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__condition",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__true",
            "semanticLabel": "true",
            "visibleLabel": "true",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 119
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__condition__method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__false",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__condition",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__false",
            "semanticLabel": "false",
            "visibleLabel": "false",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 119
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__true__method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__merge",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__true",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 119
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__false__method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__merge",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__false",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__merge",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 119
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__merge__method_2y4xzb_requestsummaryandquizasync__action_122_mapping_122__linear",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__merge",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_122_mapping_122__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 122
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_122_mapping_122__linear__method_2y4xzb_requestsummaryandquizasync__action_123_requestsummaryandquizasync_mapping_123_4__linear",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_122_mapping_122__linear",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_123_requestsummaryandquizasync_mapping_123_4__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 123
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_123_requestsummaryandquizasync_mapping_123_4__linear__call_method_2y4xzb_requestsummaryandquizasync__call_123_QuizQuestionDto_ctor",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_123_requestsummaryandquizasync_mapping_123_4__linear",
            "to": "method_2y4xzb_requestsummaryandquizasync__call_123_QuizQuestionDto_ctor",
            "semanticLabel": "q.Question, q.Options, q.CorrectIndex",
            "visibleLabel": "q.Question, q.Options, q.CorrectIndex",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 123
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__call_123_QuizQuestionDto_ctor__method_2y4xzb_requestsummaryandquizasync__action_126_requestsummaryandquizasync_await_126_5__await",
            "from": "method_2y4xzb_requestsummaryandquizasync__call_123_QuizQuestionDto_ctor",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_126_requestsummaryandquizasync_await_126_5__await",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 126
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_126_requestsummaryandquizasync_await_126_5__await__call_method_2y4xzb_requestsummaryandquizasync__call_126_IQuizStateService_SetQuiz",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_126_requestsummaryandquizasync_await_126_5__await",
            "to": "method_2y4xzb_requestsummaryandquizasync__call_126_IQuizStateService_SetQuiz",
            "semanticLabel": "null, new QuizDto(quizQuestions)",
            "visibleLabel": "null, new QuizDto quizQuestions",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 126
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__call_126_IQuizStateService_SetQuiz__method_2y4xzb_requestsummaryandquizasync__action_127_requestsummaryandquizasync_await_127_6__await",
            "from": "method_2y4xzb_requestsummaryandquizasync__call_126_IQuizStateService_SetQuiz",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_127_requestsummaryandquizasync_await_127_6__await",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 127
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_127_requestsummaryandquizasync_await_127_6__await__call_method_2y4xzb_requestsummaryandquizasync__call_127_IPlatformService_VibrateSuccessAsync",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_127_requestsummaryandquizasync_await_127_6__await",
            "to": "method_2y4xzb_requestsummaryandquizasync__call_127_IPlatformService_VibrateSuccessAsync",
            "semanticLabel": "none",
            "visibleLabel": "none",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 127
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__call_127_IPlatformService_VibrateSuccessAsync__method_2y4xzb_requestsummaryandquizasync__action_128_requestsummaryandquizasync_return_128_7__return",
            "from": "method_2y4xzb_requestsummaryandquizasync__call_127_IPlatformService_VibrateSuccessAsync",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_128_requestsummaryandquizasync_return_128_7__return",
            "semanticLabel": "return",
            "visibleLabel": "return",
            "relation": "returns",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 128
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_128_requestsummaryandquizasync_return_128_7__return__call_method_2y4xzb_requestsummaryandquizasync__call_131_LogSummaryWarning",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_128_requestsummaryandquizasync_return_128_7__return",
            "to": "method_2y4xzb_requestsummaryandquizasync__call_131_LogSummaryWarning",
            "semanticLabel": "tenantId",
            "visibleLabel": "tenantId",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 131
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__call_131_LogSummaryWarning__method_2y4xzb_requestsummaryandquizasync__action_132_requestsummaryandquizasync_return_132_8__return",
            "from": "method_2y4xzb_requestsummaryandquizasync__call_131_LogSummaryWarning",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_132_requestsummaryandquizasync_return_132_8__return",
            "semanticLabel": "return",
            "visibleLabel": "return",
            "relation": "returns",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 132
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_132_requestsummaryandquizasync_return_132_8__return__method_2y4xzb_requestsummaryandquizasync__action_134_requestsummaryandquizasync_catch_134_9__catch",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_132_requestsummaryandquizasync_return_132_8__return",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_134_requestsummaryandquizasync_catch_134_9__catch",
            "semanticLabel": "exception",
            "visibleLabel": "exception",
            "relation": "transforms",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 134
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_134_requestsummaryandquizasync_catch_134_9__catch__call_method_2y4xzb_requestsummaryandquizasync__call_136_LogSummaryError",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_134_requestsummaryandquizasync_catch_134_9__catch",
            "to": "method_2y4xzb_requestsummaryandquizasync__call_136_LogSummaryError",
            "semanticLabel": "ex, tenantId",
            "visibleLabel": "ex, tenantId",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 136
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__call_136_LogSummaryError__method_2y4xzb_requestsummaryandquizasync__action_137_requestsummaryandquizasync_return_137_10__return",
            "from": "method_2y4xzb_requestsummaryandquizasync__call_136_LogSummaryError",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_137_requestsummaryandquizasync_return_137_10__return",
            "semanticLabel": "return",
            "visibleLabel": "return",
            "relation": "returns",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 137
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_137_requestsummaryandquizasync_return_137_10__return__method_2y4xzb_requestsummaryandquizasync__action_139_requestsummaryandquizasync_finally_139_11__finally",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_137_requestsummaryandquizasync_return_137_10__return",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_139_requestsummaryandquizasync_finally_139_11__finally",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 139
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_139_requestsummaryandquizasync_finally_139_11__finally__method_2y4xzb_requestsummaryandquizasync__action_141_requestsummaryandquizasync_await_141_12__await",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_139_requestsummaryandquizasync_finally_139_11__finally",
            "to": "method_2y4xzb_requestsummaryandquizasync__action_141_requestsummaryandquizasync_await_141_12__await",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 141
          },
          {
            "id": "method_2y4xzb_requestsummaryandquizasync__action_141_requestsummaryandquizasync_await_141_12__await__implicit_return",
            "from": "method_2y4xzb_requestsummaryandquizasync__action_141_requestsummaryandquizasync_await_141_12__await",
            "to": "method_2y4xzb_requestsummaryandquizasync__implicit_return",
            "semanticLabel": "return",
            "visibleLabel": "return",
            "relation": "returns",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 143
          }
        ],
        "metadata": {
          "evidencePaths": [
            "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs"
          ],
          "warnings": [
            "Call target IQuizStateService.SetHydrating in unknown could not be matched to an extracted method symbol.",
            "Call target IKnowledgeService.GetSummaryAndQuizAsync in unknown could not be matched to an extracted method symbol.",
            "Call target QuizQuestionDto..ctor in NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs could not be matched to an extracted method symbol.",
            "Call target IQuizStateService.SetQuiz in unknown could not be matched to an extracted method symbol.",
            "Call target IPlatformService.VibrateSuccessAsync in unknown could not be matched to an extracted method symbol."
          ]
        },
        "subgraphs": []
      },
      "mermaidSource": "---\nconfig:\n  flowchart:\n    defaultRenderer: \"elk\"\n---\nflowchart TD\n    method_2y4xzb_requestsummaryandquizasync__call_114_IQuizStateService_SetHydrating[[\"IQuizStateService.SetHydrating\"]]\n    method_2y4xzb_requestsummaryandquizasync__call_115_LogRequestingSummary[[\"LogRequestingSummary\"]]\n    method_2y4xzb_requestsummaryandquizasync__call_118_IKnowledgeService_GetSummaryAndQuizAsync[[\"IKnowledgeService.GetSummaryAndQuizAsync\"]]\n    method_2y4xzb_requestsummaryandquizasync__call_123_QuizQuestionDto_ctor[[\"QuizQuestionDto..ctor\"]]\n    method_2y4xzb_requestsummaryandquizasync__call_126_IQuizStateService_SetQuiz[[\"IQuizStateService.SetQuiz\"]]\n    method_2y4xzb_requestsummaryandquizasync__call_127_IPlatformService_VibrateSuccessAsync[[\"IPlatformService.VibrateSuccessAsync\"]]\n    method_2y4xzb_requestsummaryandquizasync__call_131_LogSummaryWarning[[\"LogSummaryWarning\"]]\n    method_2y4xzb_requestsummaryandquizasync__call_136_LogSummaryError[[\"LogSummaryError\"]]\n    method_2y4xzb_requestsummaryandquizasync__action_114_requestsummaryandquizasync_await_114_0__await[[\"Waits for async work\"]]\n    method_2y4xzb_requestsummaryandquizasync__action_114_state_change_114__linear(\"Mark quiz hydrating\")\n    method_2y4xzb_requestsummaryandquizasync__action_115_log_115__linear(\"Requesting summary & quiz\")\n    method_2y4xzb_requestsummaryandquizasync__action_116_requestsummaryandquizasync_try_116_1__try(\"Begins protected execution\")\n    method_2y4xzb_requestsummaryandquizasync__action_116_try_catch_finally_116__linear(\"Error handling and cleanup\")\n    method_2y4xzb_requestsummaryandquizasync__action_118_requestsummaryandquizasync_await_118_2__await[[\"Waits for async work\"]]\n    method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__condition{\"result.IsSuccess\"}\n    method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__false(\"log warning & fail\")\n    method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__merge(\"merge\")\n    method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__true(\"map & set quiz\")\n    method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__condition{\"result.IsSuccess\"}\n    method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__false(\"false\")\n    method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__merge(\"merge\")\n    method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__true(\"true\")\n    method_2y4xzb_requestsummaryandquizasync__action_122_mapping_122__linear(\"Map remote quizzes to UI DTOs\")\n    method_2y4xzb_requestsummaryandquizasync__action_123_requestsummaryandquizasync_mapping_123_4__linear(\"Maps data or transforms shape\")\n    method_2y4xzb_requestsummaryandquizasync__action_126_requestsummaryandquizasync_await_126_5__await[[\"Waits for async work\"]]\n    method_2y4xzb_requestsummaryandquizasync__action_127_requestsummaryandquizasync_await_127_6__await[[\"Waits for async work\"]]\n    method_2y4xzb_requestsummaryandquizasync__action_134_requestsummaryandquizasync_catch_134_9__catch(\"catch Exception ex\")\n    method_2y4xzb_requestsummaryandquizasync__action_139_requestsummaryandquizasync_finally_139_11__finally(\"Runs cleanup or finalization\")\n    method_2y4xzb_requestsummaryandquizasync__action_141_requestsummaryandquizasync_await_141_12__await[[\"Waits for async work\"]]\n    method_2y4xzb_requestsummaryandquizasync__entry([\"RequestSummaryAndQuizAsync entry\"])\n    method_2y4xzb_requestsummaryandquizasync__action_118_external_call_118__linear(\"Request summary+quiz\")\n    method_2y4xzb_requestsummaryandquizasync__action_128_requestsummaryandquizasync_return_128_7__return([\"Returns result\"])\n    method_2y4xzb_requestsummaryandquizasync__action_132_requestsummaryandquizasync_return_132_8__return([\"Returns result\"])\n    method_2y4xzb_requestsummaryandquizasync__action_137_requestsummaryandquizasync_return_137_10__return([\"Returns result\"])\n    method_2y4xzb_requestsummaryandquizasync__implicit_return([\"return\"])\n    method_2y4xzb_requestsummaryandquizasync__action_114_requestsummaryandquizasync_await_114_0__await -->|next| method_2y4xzb_requestsummaryandquizasync__action_114_state_change_114__linear\n    method_2y4xzb_requestsummaryandquizasync__action_114_state_change_114__linear -->|true / false| method_2y4xzb_requestsummaryandquizasync__call_114_IQuizStateService_SetHydrating\n    method_2y4xzb_requestsummaryandquizasync__action_115_log_115__linear -->|tenantId| method_2y4xzb_requestsummaryandquizasync__call_115_LogRequestingSummary\n    method_2y4xzb_requestsummaryandquizasync__action_116_requestsummaryandquizasync_try_116_1__try -->|next| method_2y4xzb_requestsummaryandquizasync__action_118_requestsummaryandquizasync_await_118_2__await\n    method_2y4xzb_requestsummaryandquizasync__action_116_try_catch_finally_116__linear -->|next| method_2y4xzb_requestsummaryandquizasync__action_116_requestsummaryandquizasync_try_116_1__try\n    method_2y4xzb_requestsummaryandquizasync__action_118_external_call_118__linear -->|content, tenantId| method_2y4xzb_requestsummaryandquizasync__call_118_IKnowledgeService_GetSummaryAndQuizAsync\n    method_2y4xzb_requestsummaryandquizasync__action_118_requestsummaryandquizasync_await_118_2__await -->|next| method_2y4xzb_requestsummaryandquizasync__action_118_external_call_118__linear\n    method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__condition -->|transforms input| method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__false\n    method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__condition -->|transforms input| method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__true\n    method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__false -->|next| method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__merge\n    method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__merge -->|next| method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__condition\n    method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__true -->|next| method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__merge\n    method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__condition -->|false| method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__false\n    method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__condition -->|true| method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__true\n    method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__false -->|next| method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__merge\n    method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__merge -->|next| method_2y4xzb_requestsummaryandquizasync__action_122_mapping_122__linear\n    method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__true -->|next| method_2y4xzb_requestsummaryandquizasync__action_119_requestsummaryandquizasync_branch_119_3__merge\n    method_2y4xzb_requestsummaryandquizasync__action_122_mapping_122__linear -->|next| method_2y4xzb_requestsummaryandquizasync__action_123_requestsummaryandquizasync_mapping_123_4__linear\n    method_2y4xzb_requestsummaryandquizasync__action_123_requestsummaryandquizasync_mapping_123_4__linear -->|q.Question, q.Options, q.CorrectIndex| method_2y4xzb_requestsummaryandquizasync__call_123_QuizQuestionDto_ctor\n    method_2y4xzb_requestsummaryandquizasync__action_126_requestsummaryandquizasync_await_126_5__await -->|null, new QuizDto quizQuestions| method_2y4xzb_requestsummaryandquizasync__call_126_IQuizStateService_SetQuiz\n    method_2y4xzb_requestsummaryandquizasync__action_127_requestsummaryandquizasync_await_127_6__await -->|none| method_2y4xzb_requestsummaryandquizasync__call_127_IPlatformService_VibrateSuccessAsync\n    method_2y4xzb_requestsummaryandquizasync__action_128_requestsummaryandquizasync_return_128_7__return -->|tenantId| method_2y4xzb_requestsummaryandquizasync__call_131_LogSummaryWarning\n    method_2y4xzb_requestsummaryandquizasync__action_132_requestsummaryandquizasync_return_132_8__return -->|exception| method_2y4xzb_requestsummaryandquizasync__action_134_requestsummaryandquizasync_catch_134_9__catch\n    method_2y4xzb_requestsummaryandquizasync__action_134_requestsummaryandquizasync_catch_134_9__catch -->|ex, tenantId| method_2y4xzb_requestsummaryandquizasync__call_136_LogSummaryError\n    method_2y4xzb_requestsummaryandquizasync__action_137_requestsummaryandquizasync_return_137_10__return -->|next| method_2y4xzb_requestsummaryandquizasync__action_139_requestsummaryandquizasync_finally_139_11__finally\n    method_2y4xzb_requestsummaryandquizasync__action_139_requestsummaryandquizasync_finally_139_11__finally -->|next| method_2y4xzb_requestsummaryandquizasync__action_141_requestsummaryandquizasync_await_141_12__await\n    method_2y4xzb_requestsummaryandquizasync__action_141_requestsummaryandquizasync_await_141_12__await -->|return| method_2y4xzb_requestsummaryandquizasync__implicit_return\n    method_2y4xzb_requestsummaryandquizasync__call_114_IQuizStateService_SetHydrating -->|next| method_2y4xzb_requestsummaryandquizasync__action_115_log_115__linear\n    method_2y4xzb_requestsummaryandquizasync__call_115_LogRequestingSummary -->|next| method_2y4xzb_requestsummaryandquizasync__action_116_try_catch_finally_116__linear\n    method_2y4xzb_requestsummaryandquizasync__call_118_IKnowledgeService_GetSummaryAndQuizAsync -->|next| method_2y4xzb_requestsummaryandquizasync__action_119_branch_119__condition\n    method_2y4xzb_requestsummaryandquizasync__call_123_QuizQuestionDto_ctor -->|next| method_2y4xzb_requestsummaryandquizasync__action_126_requestsummaryandquizasync_await_126_5__await\n    method_2y4xzb_requestsummaryandquizasync__call_126_IQuizStateService_SetQuiz -->|next| method_2y4xzb_requestsummaryandquizasync__action_127_requestsummaryandquizasync_await_127_6__await\n    method_2y4xzb_requestsummaryandquizasync__call_127_IPlatformService_VibrateSuccessAsync -->|return| method_2y4xzb_requestsummaryandquizasync__action_128_requestsummaryandquizasync_return_128_7__return\n    method_2y4xzb_requestsummaryandquizasync__call_131_LogSummaryWarning -->|return| method_2y4xzb_requestsummaryandquizasync__action_132_requestsummaryandquizasync_return_132_8__return\n    method_2y4xzb_requestsummaryandquizasync__call_136_LogSummaryError -->|return| method_2y4xzb_requestsummaryandquizasync__action_137_requestsummaryandquizasync_return_137_10__return\n    method_2y4xzb_requestsummaryandquizasync__entry -->|next| method_2y4xzb_requestsummaryandquizasync__action_114_requestsummaryandquizasync_await_114_0__await",
      "warnings": [
        "diagram method_2y4xzb_requestsummaryandquizasync__fragment_diagram exceeds preferred complexity thresholds (35 nodes, 36 edges)."
      ]
    },
    {
      "id": "method_b6ndo3_clearasync__fragment_diagram",
      "purpose": "control-flow",
      "title": "ClearAsync() Control Flow",
      "required": true,
      "diagram": {
        "id": "method_b6ndo3_clearasync__fragment_diagram",
        "kind": "control-flow",
        "title": "ClearAsync() Control Flow",
        "direction": "TD",
        "nodes": [
          {
            "id": "method_b6ndo3_clearasync__entry",
            "kind": "step",
            "label": "ClearAsync entry",
            "shape": "stadium",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 145
          },
          {
            "id": "method_b6ndo3_clearasync__action_147_clearasync_await_147_0__await",
            "kind": "step",
            "label": "Waits for async work",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 147
          },
          {
            "id": "method_b6ndo3_clearasync__action_147_state_change_147__linear",
            "kind": "step",
            "label": "Clear graph and quiz",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 147
          },
          {
            "id": "method_b6ndo3_clearasync__call_147_IKnowledgeGraphService_Clear",
            "kind": "method",
            "label": "IKnowledgeGraphService.Clear",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 147
          },
          {
            "id": "method_b6ndo3_clearasync__action_148_clearasync_await_148_1__await",
            "kind": "step",
            "label": "Waits for async work",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 148
          },
          {
            "id": "method_b6ndo3_clearasync__call_148_IQuizStateService_SetQuiz",
            "kind": "method",
            "label": "IQuizStateService.SetQuiz",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 148
          },
          {
            "id": "method_b6ndo3_clearasync__implicit_return",
            "kind": "return",
            "label": "return",
            "shape": "stadium",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 149
          }
        ],
        "edges": [
          {
            "id": "method_b6ndo3_clearasync__entry__method_b6ndo3_clearasync__action_147_clearasync_await_147_0__await",
            "from": "method_b6ndo3_clearasync__entry",
            "to": "method_b6ndo3_clearasync__action_147_clearasync_await_147_0__await",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 147
          },
          {
            "id": "method_b6ndo3_clearasync__action_147_clearasync_await_147_0__await__method_b6ndo3_clearasync__action_147_state_change_147__linear",
            "from": "method_b6ndo3_clearasync__action_147_clearasync_await_147_0__await",
            "to": "method_b6ndo3_clearasync__action_147_state_change_147__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 147
          },
          {
            "id": "method_b6ndo3_clearasync__action_147_state_change_147__linear__call_method_b6ndo3_clearasync__call_147_IKnowledgeGraphService_Clear",
            "from": "method_b6ndo3_clearasync__action_147_state_change_147__linear",
            "to": "method_b6ndo3_clearasync__call_147_IKnowledgeGraphService_Clear",
            "semanticLabel": "none",
            "visibleLabel": "none",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 147
          },
          {
            "id": "method_b6ndo3_clearasync__call_147_IKnowledgeGraphService_Clear__method_b6ndo3_clearasync__action_148_clearasync_await_148_1__await",
            "from": "method_b6ndo3_clearasync__call_147_IKnowledgeGraphService_Clear",
            "to": "method_b6ndo3_clearasync__action_148_clearasync_await_148_1__await",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 148
          },
          {
            "id": "method_b6ndo3_clearasync__action_148_clearasync_await_148_1__await__call_method_b6ndo3_clearasync__call_148_IQuizStateService_SetQuiz",
            "from": "method_b6ndo3_clearasync__action_148_clearasync_await_148_1__await",
            "to": "method_b6ndo3_clearasync__call_148_IQuizStateService_SetQuiz",
            "semanticLabel": "null, null",
            "visibleLabel": "null, null",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 148
          },
          {
            "id": "method_b6ndo3_clearasync__call_148_IQuizStateService_SetQuiz__implicit_return",
            "from": "method_b6ndo3_clearasync__call_148_IQuizStateService_SetQuiz",
            "to": "method_b6ndo3_clearasync__implicit_return",
            "semanticLabel": "return",
            "visibleLabel": "return",
            "relation": "returns",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 149
          }
        ],
        "metadata": {
          "evidencePaths": [
            "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs"
          ],
          "warnings": [
            "Call target IKnowledgeGraphService.Clear in unknown could not be matched to an extracted method symbol.",
            "Call target IQuizStateService.SetQuiz in unknown could not be matched to an extracted method symbol."
          ]
        },
        "subgraphs": []
      },
      "mermaidSource": "flowchart TD\n    method_b6ndo3_clearasync__call_147_IKnowledgeGraphService_Clear[[\"IKnowledgeGraphService.Clear\"]]\n    method_b6ndo3_clearasync__call_148_IQuizStateService_SetQuiz[[\"IQuizStateService.SetQuiz\"]]\n    method_b6ndo3_clearasync__action_147_clearasync_await_147_0__await[[\"Waits for async work\"]]\n    method_b6ndo3_clearasync__action_147_state_change_147__linear(\"Clear graph and quiz\")\n    method_b6ndo3_clearasync__action_148_clearasync_await_148_1__await[[\"Waits for async work\"]]\n    method_b6ndo3_clearasync__entry([\"ClearAsync entry\"])\n    method_b6ndo3_clearasync__implicit_return([\"return\"])\n    method_b6ndo3_clearasync__action_147_clearasync_await_147_0__await -->|next| method_b6ndo3_clearasync__action_147_state_change_147__linear\n    method_b6ndo3_clearasync__action_147_state_change_147__linear -->|none| method_b6ndo3_clearasync__call_147_IKnowledgeGraphService_Clear\n    method_b6ndo3_clearasync__action_148_clearasync_await_148_1__await -->|null, null| method_b6ndo3_clearasync__call_148_IQuizStateService_SetQuiz\n    method_b6ndo3_clearasync__call_147_IKnowledgeGraphService_Clear -->|next| method_b6ndo3_clearasync__action_148_clearasync_await_148_1__await\n    method_b6ndo3_clearasync__call_148_IQuizStateService_SetQuiz -->|return| method_b6ndo3_clearasync__implicit_return\n    method_b6ndo3_clearasync__entry -->|next| method_b6ndo3_clearasync__action_147_clearasync_await_147_0__await",
      "warnings": []
    },
    {
      "id": "method_1wlwqp0_dispose__fragment_diagram",
      "purpose": "control-flow",
      "title": "Dispose() Control Flow",
      "required": true,
      "diagram": {
        "id": "method_1wlwqp0_dispose__fragment_diagram",
        "kind": "control-flow",
        "title": "Dispose() Control Flow",
        "direction": "TD",
        "nodes": [
          {
            "id": "method_1wlwqp0_dispose__entry",
            "kind": "step",
            "label": "Dispose entry",
            "shape": "stadium",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 151
          },
          {
            "id": "method_1wlwqp0_dispose__action_153_event_unsubscribe_153__linear",
            "kind": "step",
            "label": "Unsubscribe node selection handler",
            "shape": "rounded",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 153
          },
          {
            "id": "method_1wlwqp0_dispose__call_153_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
            "kind": "method",
            "label": "IReaderInteractionService.OnNodeSelected -= HandleNodeSelected",
            "shape": "subproc",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 153
          },
          {
            "id": "method_1wlwqp0_dispose__implicit_return",
            "kind": "return",
            "label": "return",
            "shape": "stadium",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 154
          }
        ],
        "edges": [
          {
            "id": "method_1wlwqp0_dispose__entry__method_1wlwqp0_dispose__action_153_event_unsubscribe_153__linear",
            "from": "method_1wlwqp0_dispose__entry",
            "to": "method_1wlwqp0_dispose__action_153_event_unsubscribe_153__linear",
            "semanticLabel": "next",
            "visibleLabel": "next",
            "relation": "uses",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 153
          },
          {
            "id": "method_1wlwqp0_dispose__action_153_event_unsubscribe_153__linear__call_method_1wlwqp0_dispose__call_153_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
            "from": "method_1wlwqp0_dispose__action_153_event_unsubscribe_153__linear",
            "to": "method_1wlwqp0_dispose__call_153_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
            "semanticLabel": "event handler HandleNodeSelected",
            "visibleLabel": "event handler HandleNodeSelected",
            "relation": "calls",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 153
          },
          {
            "id": "method_1wlwqp0_dispose__call_153_IReaderInteractionService_OnNodeSelected_HandleNodeSelected__implicit_return",
            "from": "method_1wlwqp0_dispose__call_153_IReaderInteractionService_OnNodeSelected_HandleNodeSelected",
            "to": "method_1wlwqp0_dispose__implicit_return",
            "semanticLabel": "return",
            "visibleLabel": "return",
            "relation": "returns",
            "sourcePath": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
            "sourceLine": 154
          }
        ],
        "metadata": {
          "evidencePaths": [
            "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs"
          ],
          "warnings": [
            "Call target IReaderInteractionService.OnNodeSelected -= HandleNodeSelected in unknown could not be matched to an extracted method symbol."
          ]
        },
        "subgraphs": []
      },
      "mermaidSource": "flowchart TD\n    method_1wlwqp0_dispose__call_153_IReaderInteractionService_OnNodeSelected_HandleNodeSelected[[\"IReaderInteractionService.OnNodeSelected -= HandleNodeSelected\"]]\n    method_1wlwqp0_dispose__action_153_event_unsubscribe_153__linear(\"Unsubscribe node selection handler\")\n    method_1wlwqp0_dispose__entry([\"Dispose entry\"])\n    method_1wlwqp0_dispose__implicit_return([\"return\"])\n    method_1wlwqp0_dispose__action_153_event_unsubscribe_153__linear -->|event handler HandleNodeSelected| method_1wlwqp0_dispose__call_153_IReaderInteractionService_OnNodeSelected_HandleNodeSelected\n    method_1wlwqp0_dispose__call_153_IReaderInteractionService_OnNodeSelected_HandleNodeSelected -->|return| method_1wlwqp0_dispose__implicit_return\n    method_1wlwqp0_dispose__entry -->|next| method_1wlwqp0_dispose__action_153_event_unsubscribe_153__linear",
      "warnings": []
    }
  ],
  "renderHints": {
    "preferredSurface": "three-d",
    "defaultDiagramId": "file_uvydt4_knowledgecoordinator_cs_execution_view",
    "controlFlowDiagramIds": [
      "method_1b2nffa_knowledgecoordinator__fragment_diagram",
      "method_t1zuul_handlenodeselected__fragment_diagram",
      "method_1x9gjeq_processfullpageasync__fragment_diagram",
      "method_1pdmx9l_onblockreachedasync__fragment_diagram",
      "method_2y4xzb_requestsummaryandquizasync__fragment_diagram",
      "method_b6ndo3_clearasync__fragment_diagram",
      "method_1wlwqp0_dispose__fragment_diagram"
    ],
    "defaultControlFlowDiagramIdsBySymbolId": {
      "method:1b2nffa:knowledgecoordinator": "method_1b2nffa_knowledgecoordinator__fragment_diagram",
      "method:t1zuul:handlenodeselected": "method_t1zuul_handlenodeselected__fragment_diagram",
      "method:1x9gjeq:processfullpageasync": "method_1x9gjeq_processfullpageasync__fragment_diagram",
      "method:1pdmx9l:onblockreachedasync": "method_1pdmx9l_onblockreachedasync__fragment_diagram",
      "method:2y4xzb:requestsummaryandquizasync": "method_2y4xzb_requestsummaryandquizasync__fragment_diagram",
      "method:b6ndo3:clearasync": "method_b6ndo3_clearasync__fragment_diagram",
      "method:1wlwqp0:dispose": "method_1wlwqp0_dispose__fragment_diagram"
    }
  }
}