{
  "version": 1,
  "fileId": "file:uvydt4:knowledgecoordinator-cs",
  "fingerprint": "uz6dl4",
  "path": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
  "absolutePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
  "shortLabel": "KnowledgeCoordinator",
  "longLabel": "NexusReader.UI.Shared/Services/KnowledgeCoordinator.cs",
  "purpose": "Coordinates knowledge-graph and quiz generation in the UI layer: subscribes to UI interactions, orchestrates calls to knowledge/graph/quiz/platform services, updates graph state, and exposes an event when graph data is available.",
  "classification": {
    "role": "service",
    "layer": "frontend",
    "confidence": 0.8,
    "evidence": [
      "Service naming pattern",
      "Application/service path heuristic",
      "Namespace: NexusReader.UI.Shared.Services",
      "Depends on IKnowledgeService, IKnowledgeGraphService, IQuizStateService, IPlatformService, IReaderInteractionService",
      "Subscribes to interaction service events and updates UI-oriented services (graph, quiz, platform vibrate)"
    ]
  },
  "className": "KnowledgeCoordinator",
  "domainConcepts": [
    "Knowledge Graph",
    "Quiz",
    "KnowledgePacket",
    "Block/Node"
  ],
  "patterns": [
    "Coordinator",
    "Observer (event subscribe/invoke)",
    "Facade/Orchestrator"
  ],
  "keyDetails": "Exposes OnGraphUpdated event; subscribes to interaction service OnNodeSelected; major orchestration points: ProcessFullPageAsync (graph generation flow) and RequestSummaryAndQuizAsync (summary+quiz flow). Uses source-generated logger partial methods and ensures UI-state updates (graphService, quizService) and platform vibration on success.",
  "coverage": {
    "symbolCount": 13,
    "executableSymbolCount": 12,
    "executableSymbolsWithControlFlowCount": 12,
    "groundedEdgeCount": 13,
    "unresolvedReferenceCount": 35,
    "controlFlowFragmentCount": 12,
    "unresolvedJumpCount": 20,
    "unsupportedConstructCount": 0,
    "controlFlowCoverage": 1,
    "requiredDiagramCount": 2,
    "generatedDiagramCount": 9,
    "missingRequiredDiagramCount": 0
  }
}