{
  "version": 1,
  "generatedAt": "2026-05-25T11:41:33.166Z",
  "fileId": "file:1r47ykv:20260513183726-fixknowledgeunitebookid-cs",
  "executableScope": true,
  "executableSymbolCount": 2,
  "fileNodeId": "file:1r47ykv:20260513183726-fixknowledgeunitebookid-cs",
  "symbolNodeIds": [
    "class:1jh8uof:fixknowledgeunitebookid",
    "method:cdxwj:up",
    "method:1ste7vn:down",
    "type:1a7gg4i:fixknowledgeunitebookid"
  ],
  "containmentEdgeIds": [
    "edge:s4nplz:contains",
    "edge:1qii4k4:contains",
    "edge:182fzqp:contains",
    "edge:2qpw2o:defines-type"
  ],
  "relationshipEdgeIds": [
    "edge:s4nplz:contains",
    "edge:1qii4k4:contains",
    "edge:182fzqp:contains",
    "edge:2qpw2o:defines-type"
  ],
  "integrationEdgeIds": [],
  "controlFlowFragments": [
    {
      "fragmentId": "method:cdxwj:up__fragment",
      "ownerFileId": "file:1r47ykv:20260513183726-fixknowledgeunitebookid-cs",
      "ownerSymbolId": "method:cdxwj:up",
      "ownerSymbolName": "Up",
      "entryNodeId": "method:cdxwj:up__entry",
      "exitNodeIds": [
        "method:cdxwj:up__action_41_return_41__return"
      ],
      "nodes": [
        {
          "id": "method:cdxwj:up__entry",
          "kind": "entry",
          "label": "Up entry",
          "line": 12,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.99,
          "detail": "Apply schema changes: remove SourceId column and index from KnowledgeUnits, add non-nullable EbookId Guid column with default, create index on EbookId, and add FK to Ebooks with cascade delete."
        },
        {
          "id": "method:cdxwj:up__action_14_schema_change_14__linear",
          "kind": "statement",
          "label": "Drop index IX_KnowledgeUnits_SourceId",
          "line": 14,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7,
          "detail": "migrationBuilder.DropIndex(name: \"IX_KnowledgeUnits_SourceId\", table: \"KnowledgeUnits\")"
        },
        {
          "id": "method:cdxwj:up__action_18_schema_change_18__linear",
          "kind": "statement",
          "label": "Drop column SourceId from KnowledgeUnits",
          "line": 18,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7,
          "detail": "migrationBuilder.DropColumn(name: \"SourceId\", table: \"KnowledgeUnits\")"
        },
        {
          "id": "method:cdxwj:up__action_22_schema_change_22__linear",
          "kind": "statement",
          "label": "Add column EbookId (uuid, not nullable) with default Guid.Empty",
          "line": 22,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7,
          "detail": "migrationBuilder.AddColumn<Guid>(name: \"EbookId\", table: \"KnowledgeUnits\", type: \"uuid\", nullable: false, defaultValue: Guid.Empty)"
        },
        {
          "id": "method:cdxwj:up__action_29_schema_change_29__linear",
          "kind": "statement",
          "label": "Create index IX_KnowledgeUnits_EbookId",
          "line": 29,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7,
          "detail": "migrationBuilder.CreateIndex(name: \"IX_KnowledgeUnits_EbookId\", table: \"KnowledgeUnits\", column: \"EbookId\")"
        },
        {
          "id": "method:cdxwj:up__action_34_schema_change_34__linear",
          "kind": "statement",
          "label": "Add foreign key FK_KnowledgeUnits_Ebooks_EbookId with cascade delete",
          "line": 34,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7,
          "detail": "migrationBuilder.AddForeignKey(name: \"FK_KnowledgeUnits_Ebooks_EbookId\", table: \"KnowledgeUnits\", column: \"EbookId\", principalTable: \"Ebooks\", principalColumn: \"Id\", onDelete: ReferentialAction.Cascade)"
        },
        {
          "id": "method:cdxwj:up__action_41_return_41__return",
          "kind": "return",
          "label": "Complete Up migration",
          "line": 41,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7,
          "detail": "Method returns after applying schema changes"
        }
      ],
      "edges": [
        {
          "id": "method:cdxwj:up__entry__method:cdxwj:up__action_14_schema_change_14__linear",
          "from": "method:cdxwj:up__entry",
          "to": "method:cdxwj:up__action_14_schema_change_14__linear",
          "kind": "next",
          "line": 14,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7
        },
        {
          "id": "method:cdxwj:up__action_14_schema_change_14__linear__method:cdxwj:up__action_18_schema_change_18__linear",
          "from": "method:cdxwj:up__action_14_schema_change_14__linear",
          "to": "method:cdxwj:up__action_18_schema_change_18__linear",
          "kind": "next",
          "line": 18,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7
        },
        {
          "id": "method:cdxwj:up__action_18_schema_change_18__linear__method:cdxwj:up__action_22_schema_change_22__linear",
          "from": "method:cdxwj:up__action_18_schema_change_18__linear",
          "to": "method:cdxwj:up__action_22_schema_change_22__linear",
          "kind": "next",
          "line": 22,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7
        },
        {
          "id": "method:cdxwj:up__action_22_schema_change_22__linear__method:cdxwj:up__action_29_schema_change_29__linear",
          "from": "method:cdxwj:up__action_22_schema_change_22__linear",
          "to": "method:cdxwj:up__action_29_schema_change_29__linear",
          "kind": "next",
          "line": 29,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7
        },
        {
          "id": "method:cdxwj:up__action_29_schema_change_29__linear__method:cdxwj:up__action_34_schema_change_34__linear",
          "from": "method:cdxwj:up__action_29_schema_change_29__linear",
          "to": "method:cdxwj:up__action_34_schema_change_34__linear",
          "kind": "next",
          "line": 34,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7
        },
        {
          "id": "method:cdxwj:up__action_34_schema_change_34__linear__method:cdxwj:up__action_41_return_41__return",
          "from": "method:cdxwj:up__action_34_schema_change_34__linear",
          "to": "method:cdxwj:up__action_41_return_41__return",
          "kind": "return",
          "line": 41,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7
        }
      ],
      "jumpTargets": [],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.8799999999999999,
      "lineSpan": {
        "start": 12,
        "end": 41
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "line": 12,
          "summary": "Control-flow fragment extracted for method Up.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:1ste7vn:down__fragment",
      "ownerFileId": "file:1r47ykv:20260513183726-fixknowledgeunitebookid-cs",
      "ownerSymbolId": "method:1ste7vn:down",
      "ownerSymbolName": "Down",
      "entryNodeId": "method:1ste7vn:down__entry",
      "exitNodeIds": [
        "method:1ste7vn:down__action_70_return_70__return"
      ],
      "nodes": [
        {
          "id": "method:1ste7vn:down__entry",
          "kind": "entry",
          "label": "Down entry",
          "line": 44,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.99,
          "detail": "Revert schema changes applied in Up: remove FK and index on EbookId, drop EbookId column, re-add SourceId string column with constraints and recreate its index."
        },
        {
          "id": "method:1ste7vn:down__action_46_schema_change_46__linear",
          "kind": "statement",
          "label": "Drop foreign key FK_KnowledgeUnits_Ebooks_EbookId",
          "line": 46,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7,
          "detail": "migrationBuilder.DropForeignKey(name: \"FK_KnowledgeUnits_Ebooks_EbookId\", table: \"KnowledgeUnits\")"
        },
        {
          "id": "method:1ste7vn:down__action_50_schema_change_50__linear",
          "kind": "statement",
          "label": "Drop index IX_KnowledgeUnits_EbookId",
          "line": 50,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7,
          "detail": "migrationBuilder.DropIndex(name: \"IX_KnowledgeUnits_EbookId\", table: \"KnowledgeUnits\")"
        },
        {
          "id": "method:1ste7vn:down__action_54_schema_change_54__linear",
          "kind": "statement",
          "label": "Drop column EbookId from KnowledgeUnits",
          "line": 54,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7,
          "detail": "migrationBuilder.DropColumn(name: \"EbookId\", table: \"KnowledgeUnits\")"
        },
        {
          "id": "method:1ste7vn:down__action_58_schema_change_58__linear",
          "kind": "statement",
          "label": "Add column SourceId (string, maxLength:128) not nullable with empty default",
          "line": 58,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7,
          "detail": "migrationBuilder.AddColumn<string>(name: \"SourceId\", table: \"KnowledgeUnits\", type: \"character varying(128)\", maxLength: 128, nullable: false, defaultValue: \"\")"
        },
        {
          "id": "method:1ste7vn:down__action_66_schema_change_66__linear",
          "kind": "statement",
          "label": "Create index IX_KnowledgeUnits_SourceId",
          "line": 66,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7,
          "detail": "migrationBuilder.CreateIndex(name: \"IX_KnowledgeUnits_SourceId\", table: \"KnowledgeUnits\", column: \"SourceId\")"
        },
        {
          "id": "method:1ste7vn:down__action_70_return_70__return",
          "kind": "return",
          "label": "Complete Down migration",
          "line": 70,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7,
          "detail": "Method returns after reverting schema changes"
        }
      ],
      "edges": [
        {
          "id": "method:1ste7vn:down__entry__method:1ste7vn:down__action_46_schema_change_46__linear",
          "from": "method:1ste7vn:down__entry",
          "to": "method:1ste7vn:down__action_46_schema_change_46__linear",
          "kind": "next",
          "line": 46,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1ste7vn:down__action_46_schema_change_46__linear__method:1ste7vn:down__action_50_schema_change_50__linear",
          "from": "method:1ste7vn:down__action_46_schema_change_46__linear",
          "to": "method:1ste7vn:down__action_50_schema_change_50__linear",
          "kind": "next",
          "line": 50,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1ste7vn:down__action_50_schema_change_50__linear__method:1ste7vn:down__action_54_schema_change_54__linear",
          "from": "method:1ste7vn:down__action_50_schema_change_50__linear",
          "to": "method:1ste7vn:down__action_54_schema_change_54__linear",
          "kind": "next",
          "line": 54,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1ste7vn:down__action_54_schema_change_54__linear__method:1ste7vn:down__action_58_schema_change_58__linear",
          "from": "method:1ste7vn:down__action_54_schema_change_54__linear",
          "to": "method:1ste7vn:down__action_58_schema_change_58__linear",
          "kind": "next",
          "line": 58,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1ste7vn:down__action_58_schema_change_58__linear__method:1ste7vn:down__action_66_schema_change_66__linear",
          "from": "method:1ste7vn:down__action_58_schema_change_58__linear",
          "to": "method:1ste7vn:down__action_66_schema_change_66__linear",
          "kind": "next",
          "line": 66,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1ste7vn:down__action_66_schema_change_66__linear__method:1ste7vn:down__action_70_return_70__return",
          "from": "method:1ste7vn:down__action_66_schema_change_66__linear",
          "to": "method:1ste7vn:down__action_70_return_70__return",
          "kind": "return",
          "line": 70,
          "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "confidence": 0.7
        }
      ],
      "jumpTargets": [],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.8799999999999999,
      "lineSpan": {
        "start": 44,
        "end": 70
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
          "line": 44,
          "summary": "Control-flow fragment extracted for method Down.",
          "kind": "file-summary"
        }
      ]
    }
  ],
  "unresolvedJumps": [],
  "diagrams": [
    {
      "id": "file_1r47ykv_20260513183726_fixknowledgeunitebookid_cs_neighborhood_view",
      "purpose": "neighborhood-view",
      "title": "20260513183726_FixKnowledgeUnitEbookId Neighborhood",
      "required": true,
      "diagram": {
        "id": "file_1r47ykv_20260513183726_fixknowledgeunitebookid_cs_neighborhood_view",
        "kind": "dependency-map",
        "title": "20260513183726_FixKnowledgeUnitEbookId Neighborhood",
        "direction": "LR",
        "nodes": [
          {
            "id": "file_1r47ykv_20260513183726_fixknowledgeunitebookid_cs",
            "kind": "service",
            "label": "20260513183726_FixKnowledgeUnitEbookId",
            "shape": "rounded",
            "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs"
          },
          {
            "id": "class_1jh8uof_fixknowledgeunitebookid",
            "kind": "service",
            "label": "FixKnowledgeUnitEbookId",
            "shape": "rounded",
            "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs"
          },
          {
            "id": "method_cdxwj_up",
            "kind": "method",
            "label": "Up()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
            "sourceLine": 12
          },
          {
            "id": "method_1ste7vn_down",
            "kind": "method",
            "label": "Down()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
            "sourceLine": 44
          },
          {
            "id": "type_1a7gg4i_fixknowledgeunitebookid",
            "kind": "document",
            "label": "FixKnowledgeUnitEbookId",
            "shape": "doc",
            "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
            "sourceLine": 9
          }
        ],
        "edges": [],
        "metadata": {
          "evidencePaths": [
            "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs"
          ]
        },
        "subgraphs": []
      },
      "mermaidSource": "flowchart LR\n    class_1jh8uof_fixknowledgeunitebookid(\"FixKnowledgeUnitEbookId\")\n    file_1r47ykv_20260513183726_fixknowledgeunitebookid_cs(\"20260513183726_FixKnowledgeUnitEbookId\")\n    method_1ste7vn_down[[\"Down()\"]]\n    method_cdxwj_up[[\"Up()\"]]\n    type_1a7gg4i_fixknowledgeunitebookid[/\"FixKnowledgeUnitEbookId\"/]",
      "warnings": []
    },
    {
      "id": "file_1r47ykv_20260513183726_fixknowledgeunitebookid_cs_execution_view",
      "purpose": "execution-overview",
      "title": "20260513183726_FixKnowledgeUnitEbookId Execution Overview",
      "required": true,
      "diagram": {
        "id": "file_1r47ykv_20260513183726_fixknowledgeunitebookid_cs_execution_view",
        "kind": "method-flow",
        "title": "20260513183726_FixKnowledgeUnitEbookId Execution Overview",
        "direction": "TD",
        "nodes": [
          {
            "id": "class_1jh8uof_fixknowledgeunitebookid",
            "kind": "service",
            "label": "FixKnowledgeUnitEbookId",
            "shape": "rounded",
            "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs"
          },
          {
            "id": "method_cdxwj_up",
            "kind": "method",
            "label": "Up()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
            "sourceLine": 12
          },
          {
            "id": "method_1ste7vn_down",
            "kind": "method",
            "label": "Down()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
            "sourceLine": 44
          }
        ],
        "edges": [
          {
            "id": "class_1jh8uof_fixknowledgeunitebookid_contains_method_cdxwj_up",
            "from": "class_1jh8uof_fixknowledgeunitebookid",
            "to": "method_cdxwj_up",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
            "sourceLine": 12
          },
          {
            "id": "class_1jh8uof_fixknowledgeunitebookid_contains_method_1ste7vn_down",
            "from": "class_1jh8uof_fixknowledgeunitebookid",
            "to": "method_1ste7vn_down",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs",
            "sourceLine": 44
          }
        ],
        "metadata": {
          "evidencePaths": [
            "NexusReader.Data/Persistence/Migrations/20260513183726_FixKnowledgeUnitEbookId.cs"
          ]
        },
        "subgraphs": []
      },
      "mermaidSource": "flowchart TD\n    class_1jh8uof_fixknowledgeunitebookid(\"FixKnowledgeUnitEbookId\")\n    method_1ste7vn_down[[\"Down()\"]]\n    method_cdxwj_up[[\"Up()\"]]\n    class_1jh8uof_fixknowledgeunitebookid -->|contains| method_1ste7vn_down\n    class_1jh8uof_fixknowledgeunitebookid -->|contains| method_cdxwj_up",
      "warnings": []
    }
  ],
  "renderHints": {
    "preferredSurface": "three-d",
    "defaultDiagramId": "file_1r47ykv_20260513183726_fixknowledgeunitebookid_cs_execution_view",
    "controlFlowDiagramIds": [],
    "defaultControlFlowDiagramIdsBySymbolId": {}
  }
}