{
  "version": 1,
  "generatedAt": "2026-05-25T11:41:33.166Z",
  "fileId": "file:wb18l0:iplatformservice-cs",
  "executableScope": true,
  "executableSymbolCount": 4,
  "fileNodeId": "file:wb18l0:iplatformservice-cs",
  "symbolNodeIds": [
    "class:1gyz12d:iplatformservice",
    "method:ptkxhj:vibratesuccessasync",
    "method:qdnq0x:vibrateerrorasync",
    "method:sdo0jm:vibrateasync",
    "method:w31hua:getdevicecontext",
    "type:flcquz:devicecontext",
    "type:1jksru0:devicetype",
    "type:1qhatfu:displayorientation"
  ],
  "containmentEdgeIds": [
    "edge:qm1nix:contains",
    "edge:1m4aw1m:contains",
    "edge:4flg94:contains",
    "edge:3rhfz1:contains",
    "edge:1ky0v9h:contains",
    "edge:ut8ylk:defines-type",
    "edge:18s0f8u:defines-type",
    "edge:17wnyta:defines-type"
  ],
  "relationshipEdgeIds": [
    "edge:qm1nix:contains",
    "edge:1m4aw1m:contains",
    "edge:4flg94:contains",
    "edge:3rhfz1:contains",
    "edge:1ky0v9h:contains",
    "edge:ut8ylk:defines-type",
    "edge:18s0f8u:defines-type",
    "edge:17wnyta:defines-type"
  ],
  "integrationEdgeIds": [],
  "controlFlowFragments": [
    {
      "fragmentId": "method:ptkxhj:vibratesuccessasync__fragment",
      "ownerFileId": "file:wb18l0:iplatformservice-cs",
      "ownerSymbolId": "method:ptkxhj:vibratesuccessasync",
      "ownerSymbolName": "VibrateSuccessAsync",
      "entryNodeId": "method:ptkxhj:vibratesuccessasync__entry",
      "exitNodeIds": [
        "method:ptkxhj:vibratesuccessasync__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:ptkxhj:vibratesuccessasync__entry",
          "kind": "entry",
          "label": "VibrateSuccessAsync entry",
          "line": 7,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.99,
          "detail": "Contract for invoking a short/success vibration on the device."
        },
        {
          "id": "method:ptkxhj:vibratesuccessasync__action_7_contract_7__linear",
          "kind": "statement",
          "label": "interface method - no implementation",
          "line": 7,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.7,
          "detail": "Declared as Task<Result> VibrateSuccessAsync(); implemented by platform-specific classes."
        },
        {
          "id": "method:ptkxhj:vibratesuccessasync__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 7,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:ptkxhj:vibratesuccessasync__entry__method:ptkxhj:vibratesuccessasync__action_7_contract_7__linear",
          "from": "method:ptkxhj:vibratesuccessasync__entry",
          "to": "method:ptkxhj:vibratesuccessasync__action_7_contract_7__linear",
          "kind": "next",
          "line": 7,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.7
        },
        {
          "id": "method:ptkxhj:vibratesuccessasync__action_7_contract_7__linear__implicit_return",
          "from": "method:ptkxhj:vibratesuccessasync__action_7_contract_7__linear",
          "to": "method:ptkxhj:vibratesuccessasync__implicit_return",
          "kind": "return",
          "line": 7,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.76,
      "lineSpan": {
        "start": 7,
        "end": 7
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "line": 7,
          "summary": "Control-flow fragment extracted for method VibrateSuccessAsync.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:qdnq0x:vibrateerrorasync__fragment",
      "ownerFileId": "file:wb18l0:iplatformservice-cs",
      "ownerSymbolId": "method:qdnq0x:vibrateerrorasync",
      "ownerSymbolName": "VibrateErrorAsync",
      "entryNodeId": "method:qdnq0x:vibrateerrorasync__entry",
      "exitNodeIds": [
        "method:qdnq0x:vibrateerrorasync__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:qdnq0x:vibrateerrorasync__entry",
          "kind": "entry",
          "label": "VibrateErrorAsync entry",
          "line": 8,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.99,
          "detail": "Contract for invoking an error/alert vibration on the device."
        },
        {
          "id": "method:qdnq0x:vibrateerrorasync__action_8_contract_8__linear",
          "kind": "statement",
          "label": "interface method - no implementation",
          "line": 8,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.7,
          "detail": "Declared as Task<Result> VibrateErrorAsync(); implemented by platform-specific classes."
        },
        {
          "id": "method:qdnq0x:vibrateerrorasync__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 8,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:qdnq0x:vibrateerrorasync__entry__method:qdnq0x:vibrateerrorasync__action_8_contract_8__linear",
          "from": "method:qdnq0x:vibrateerrorasync__entry",
          "to": "method:qdnq0x:vibrateerrorasync__action_8_contract_8__linear",
          "kind": "next",
          "line": 8,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.7
        },
        {
          "id": "method:qdnq0x:vibrateerrorasync__action_8_contract_8__linear__implicit_return",
          "from": "method:qdnq0x:vibrateerrorasync__action_8_contract_8__linear",
          "to": "method:qdnq0x:vibrateerrorasync__implicit_return",
          "kind": "return",
          "line": 8,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.76,
      "lineSpan": {
        "start": 8,
        "end": 8
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "line": 8,
          "summary": "Control-flow fragment extracted for method VibrateErrorAsync.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:sdo0jm:vibrateasync__fragment",
      "ownerFileId": "file:wb18l0:iplatformservice-cs",
      "ownerSymbolId": "method:sdo0jm:vibrateasync",
      "ownerSymbolName": "VibrateAsync",
      "entryNodeId": "method:sdo0jm:vibrateasync__entry",
      "exitNodeIds": [
        "method:sdo0jm:vibrateasync__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:sdo0jm:vibrateasync__entry",
          "kind": "entry",
          "label": "VibrateAsync entry",
          "line": 9,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.99,
          "detail": "Contract for invoking a vibration for a specified duration in milliseconds."
        },
        {
          "id": "method:sdo0jm:vibrateasync__action_9_contract_9__linear",
          "kind": "statement",
          "label": "interface method - no implementation",
          "line": 9,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.7,
          "detail": "Declared as Task<Result> VibrateAsync(int milliseconds); implemented by platform-specific classes."
        },
        {
          "id": "method:sdo0jm:vibrateasync__action_9_parameter_9__linear",
          "kind": "statement",
          "label": "duration",
          "line": 9,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.7,
          "detail": "milliseconds parameter controls vibration duration."
        },
        {
          "id": "method:sdo0jm:vibrateasync__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 9,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:sdo0jm:vibrateasync__entry__method:sdo0jm:vibrateasync__action_9_contract_9__linear",
          "from": "method:sdo0jm:vibrateasync__entry",
          "to": "method:sdo0jm:vibrateasync__action_9_contract_9__linear",
          "kind": "next",
          "line": 9,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.7
        },
        {
          "id": "method:sdo0jm:vibrateasync__action_9_contract_9__linear__method:sdo0jm:vibrateasync__action_9_parameter_9__linear",
          "from": "method:sdo0jm:vibrateasync__action_9_contract_9__linear",
          "to": "method:sdo0jm:vibrateasync__action_9_parameter_9__linear",
          "kind": "next",
          "line": 9,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.7
        },
        {
          "id": "method:sdo0jm:vibrateasync__action_9_parameter_9__linear__implicit_return",
          "from": "method:sdo0jm:vibrateasync__action_9_parameter_9__linear",
          "to": "method:sdo0jm:vibrateasync__implicit_return",
          "kind": "return",
          "line": 9,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.7899999999999999,
      "lineSpan": {
        "start": 9,
        "end": 9
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "line": 9,
          "summary": "Control-flow fragment extracted for method VibrateAsync.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:w31hua:getdevicecontext__fragment",
      "ownerFileId": "file:wb18l0:iplatformservice-cs",
      "ownerSymbolId": "method:w31hua:getdevicecontext",
      "ownerSymbolName": "GetDeviceContext",
      "entryNodeId": "method:w31hua:getdevicecontext__entry",
      "exitNodeIds": [
        "method:w31hua:getdevicecontext__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:w31hua:getdevicecontext__entry",
          "kind": "entry",
          "label": "GetDeviceContext entry",
          "line": 10,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.99,
          "detail": "Contract for obtaining device metadata (model, manufacturer, type, orientation) synchronously."
        },
        {
          "id": "method:w31hua:getdevicecontext__action_10_contract_10__linear",
          "kind": "statement",
          "label": "interface method - no implementation",
          "line": 10,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.7,
          "detail": "Returns a FluentResults.Result wrapping DeviceContext; implemented by platform-specific classes."
        },
        {
          "id": "method:w31hua:getdevicecontext__action_10_return_shape_10__linear",
          "kind": "statement",
          "label": "DeviceContext",
          "line": 10,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.7,
          "detail": "Synchronous Result<DeviceContext> return type indicating success/failure plus payload."
        },
        {
          "id": "method:w31hua:getdevicecontext__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 10,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:w31hua:getdevicecontext__entry__method:w31hua:getdevicecontext__action_10_contract_10__linear",
          "from": "method:w31hua:getdevicecontext__entry",
          "to": "method:w31hua:getdevicecontext__action_10_contract_10__linear",
          "kind": "next",
          "line": 10,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.7
        },
        {
          "id": "method:w31hua:getdevicecontext__action_10_contract_10__linear__method:w31hua:getdevicecontext__action_10_return_shape_10__linear",
          "from": "method:w31hua:getdevicecontext__action_10_contract_10__linear",
          "to": "method:w31hua:getdevicecontext__action_10_return_shape_10__linear",
          "kind": "next",
          "line": 10,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.7
        },
        {
          "id": "method:w31hua:getdevicecontext__action_10_return_shape_10__linear__implicit_return",
          "from": "method:w31hua:getdevicecontext__action_10_return_shape_10__linear",
          "to": "method:w31hua:getdevicecontext__implicit_return",
          "kind": "return",
          "line": 10,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.7899999999999999,
      "lineSpan": {
        "start": 10,
        "end": 10
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
          "line": 10,
          "summary": "Control-flow fragment extracted for method GetDeviceContext.",
          "kind": "file-summary"
        }
      ]
    }
  ],
  "unresolvedJumps": [],
  "diagrams": [
    {
      "id": "file_wb18l0_iplatformservice_cs_neighborhood_view",
      "purpose": "neighborhood-view",
      "title": "IPlatformService Neighborhood",
      "required": true,
      "diagram": {
        "id": "file_wb18l0_iplatformservice_cs_neighborhood_view",
        "kind": "dependency-map",
        "title": "IPlatformService Neighborhood",
        "direction": "LR",
        "nodes": [
          {
            "id": "file_wb18l0_iplatformservice_cs",
            "kind": "service",
            "label": "IPlatformService",
            "shape": "rounded",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs"
          },
          {
            "id": "class_1gyz12d_iplatformservice",
            "kind": "service",
            "label": "IPlatformService",
            "shape": "rounded",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs"
          },
          {
            "id": "method_ptkxhj_vibratesuccessasync",
            "kind": "method",
            "label": "VibrateSuccessAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
            "sourceLine": 7
          },
          {
            "id": "method_qdnq0x_vibrateerrorasync",
            "kind": "method",
            "label": "VibrateErrorAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
            "sourceLine": 8
          },
          {
            "id": "method_sdo0jm_vibrateasync",
            "kind": "method",
            "label": "VibrateAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
            "sourceLine": 9
          },
          {
            "id": "method_w31hua_getdevicecontext",
            "kind": "method",
            "label": "GetDeviceContext()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
            "sourceLine": 10
          },
          {
            "id": "type_flcquz_devicecontext",
            "kind": "document",
            "label": "DeviceContext",
            "shape": "doc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
            "sourceLine": 13
          },
          {
            "id": "type_1jksru0_devicetype",
            "kind": "document",
            "label": "DeviceType",
            "shape": "doc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
            "sourceLine": 20
          },
          {
            "id": "type_1qhatfu_displayorientation",
            "kind": "document",
            "label": "DisplayOrientation",
            "shape": "doc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
            "sourceLine": 28
          }
        ],
        "edges": [],
        "metadata": {
          "evidencePaths": [
            "NexusReader.Application/Abstractions/Services/IPlatformService.cs"
          ]
        },
        "subgraphs": []
      },
      "mermaidSource": "flowchart LR\n    class_1gyz12d_iplatformservice(\"IPlatformService\")\n    file_wb18l0_iplatformservice_cs(\"IPlatformService\")\n    method_ptkxhj_vibratesuccessasync[[\"VibrateSuccessAsync()\"]]\n    method_qdnq0x_vibrateerrorasync[[\"VibrateErrorAsync()\"]]\n    method_sdo0jm_vibrateasync[[\"VibrateAsync()\"]]\n    method_w31hua_getdevicecontext[[\"GetDeviceContext()\"]]\n    type_1jksru0_devicetype[/\"DeviceType\"/]\n    type_1qhatfu_displayorientation[/\"DisplayOrientation\"/]\n    type_flcquz_devicecontext[/\"DeviceContext\"/]",
      "warnings": []
    },
    {
      "id": "file_wb18l0_iplatformservice_cs_execution_view",
      "purpose": "execution-overview",
      "title": "IPlatformService Execution Overview",
      "required": true,
      "diagram": {
        "id": "file_wb18l0_iplatformservice_cs_execution_view",
        "kind": "method-flow",
        "title": "IPlatformService Execution Overview",
        "direction": "TD",
        "nodes": [
          {
            "id": "class_1gyz12d_iplatformservice",
            "kind": "service",
            "label": "IPlatformService",
            "shape": "rounded",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs"
          },
          {
            "id": "method_ptkxhj_vibratesuccessasync",
            "kind": "method",
            "label": "VibrateSuccessAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
            "sourceLine": 7
          },
          {
            "id": "method_qdnq0x_vibrateerrorasync",
            "kind": "method",
            "label": "VibrateErrorAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
            "sourceLine": 8
          },
          {
            "id": "method_sdo0jm_vibrateasync",
            "kind": "method",
            "label": "VibrateAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
            "sourceLine": 9
          },
          {
            "id": "method_w31hua_getdevicecontext",
            "kind": "method",
            "label": "GetDeviceContext()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
            "sourceLine": 10
          }
        ],
        "edges": [
          {
            "id": "class_1gyz12d_iplatformservice_contains_method_ptkxhj_vibratesuccessasync",
            "from": "class_1gyz12d_iplatformservice",
            "to": "method_ptkxhj_vibratesuccessasync",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
            "sourceLine": 7
          },
          {
            "id": "class_1gyz12d_iplatformservice_contains_method_qdnq0x_vibrateerrorasync",
            "from": "class_1gyz12d_iplatformservice",
            "to": "method_qdnq0x_vibrateerrorasync",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
            "sourceLine": 8
          },
          {
            "id": "class_1gyz12d_iplatformservice_contains_method_sdo0jm_vibrateasync",
            "from": "class_1gyz12d_iplatformservice",
            "to": "method_sdo0jm_vibrateasync",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
            "sourceLine": 9
          },
          {
            "id": "class_1gyz12d_iplatformservice_contains_method_w31hua_getdevicecontext",
            "from": "class_1gyz12d_iplatformservice",
            "to": "method_w31hua_getdevicecontext",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IPlatformService.cs",
            "sourceLine": 10
          }
        ],
        "metadata": {
          "evidencePaths": [
            "NexusReader.Application/Abstractions/Services/IPlatformService.cs"
          ]
        },
        "subgraphs": []
      },
      "mermaidSource": "flowchart TD\n    class_1gyz12d_iplatformservice(\"IPlatformService\")\n    method_ptkxhj_vibratesuccessasync[[\"VibrateSuccessAsync()\"]]\n    method_qdnq0x_vibrateerrorasync[[\"VibrateErrorAsync()\"]]\n    method_sdo0jm_vibrateasync[[\"VibrateAsync()\"]]\n    method_w31hua_getdevicecontext[[\"GetDeviceContext()\"]]\n    class_1gyz12d_iplatformservice -->|contains| method_ptkxhj_vibratesuccessasync\n    class_1gyz12d_iplatformservice -->|contains| method_qdnq0x_vibrateerrorasync\n    class_1gyz12d_iplatformservice -->|contains| method_sdo0jm_vibrateasync\n    class_1gyz12d_iplatformservice -->|contains| method_w31hua_getdevicecontext",
      "warnings": []
    }
  ],
  "renderHints": {
    "preferredSurface": "three-d",
    "defaultDiagramId": "file_wb18l0_iplatformservice_cs_execution_view",
    "controlFlowDiagramIds": [],
    "defaultControlFlowDiagramIdsBySymbolId": {}
  }
}