{
  "version": 1,
  "generatedAt": "2026-05-25T11:41:33.166Z",
  "fileId": "file:1xzhi6b:20260503175906-finalnormalizedsubscriptionarchit",
  "executableScope": true,
  "executableSymbolCount": 1,
  "fileNodeId": "file:1xzhi6b:20260503175906-finalnormalizedsubscriptionarchit",
  "symbolNodeIds": [
    "class:zj074q:finalnormalizedsubscriptionarchitecture",
    "method:tz9mq3:buildtargetmodel",
    "type:hhlqtu:microsoft-aspnetcore-identity-identityrole",
    "type:7ob3p3:nexusreader-domain-entities-ebook",
    "type:13day2p:nexusreader-domain-entities-knowledgeunit",
    "type:9y8b30:nexusreader-domain-entities-knowledgeunitlink",
    "type:15ow7t1:nexusreader-domain-entities-nexususer",
    "type:30kk08:nexusreader-domain-entities-semanticknowledgecac",
    "type:14w07kf:nexusreader-domain-entities-subscriptionplan",
    "type:6xl8d4:nexusreader-domain-entities-quizresult"
  ],
  "containmentEdgeIds": [
    "edge:197f409:contains",
    "edge:acvo4j:contains",
    "edge:i7tben:defines-type",
    "edge:zg37qg:defines-type",
    "edge:uu2a30:defines-type",
    "edge:h71jw3:defines-type",
    "edge:1dbwi2o:defines-type",
    "edge:a55b4k:defines-type",
    "edge:fhh2kq:defines-type",
    "edge:182kzns:defines-type"
  ],
  "relationshipEdgeIds": [
    "edge:197f409:contains",
    "edge:acvo4j:contains",
    "edge:i7tben:defines-type",
    "edge:zg37qg:defines-type",
    "edge:uu2a30:defines-type",
    "edge:h71jw3:defines-type",
    "edge:1dbwi2o:defines-type",
    "edge:a55b4k:defines-type",
    "edge:fhh2kq:defines-type",
    "edge:182kzns:defines-type",
    "edge:p3szus:imports",
    "edge:qqm4v0:imports",
    "edge:1vjdoja:imports",
    "edge:1er8sbj:imports",
    "edge:1glgh2b:imports",
    "edge:99h0ks:imports",
    "edge:lxavqp:imports",
    "edge:o5ho5o:imports"
  ],
  "integrationEdgeIds": [
    "edge:p3szus:imports",
    "edge:qqm4v0:imports",
    "edge:1vjdoja:imports",
    "edge:1er8sbj:imports",
    "edge:1glgh2b:imports",
    "edge:99h0ks:imports",
    "edge:lxavqp:imports",
    "edge:o5ho5o:imports"
  ],
  "controlFlowFragments": [
    {
      "fragmentId": "method:tz9mq3:buildtargetmodel__fragment",
      "ownerFileId": "file:1xzhi6b:20260503175906-finalnormalizedsubscriptionarchit",
      "ownerSymbolId": "method:tz9mq3:buildtargetmodel",
      "ownerSymbolName": "BuildTargetModel",
      "entryNodeId": "method:tz9mq3:buildtargetmodel__entry",
      "exitNodeIds": [
        "method:tz9mq3:buildtargetmodel__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:tz9mq3:buildtargetmodel__entry",
          "kind": "entry",
          "label": "BuildTargetModel entry",
          "line": 20,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.99,
          "detail": "Populates the EF Core ModelBuilder with entity types, columns, keys, indices, relationships, Postgres/vector extensions and seed data for this migration snapshot."
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_23_annotation_23__linear",
          "kind": "statement",
          "label": "Sets model annotations",
          "line": 23,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7,
          "detail": "modelBuilder.HasAnnotation(\"ProductVersion\",\"10.0.7\").HasAnnotation(\"Relational:MaxIdentifierLength\",63)"
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_27_external_call_27__linear",
          "kind": "http-call",
          "label": "Enables Postgres vector extension",
          "line": 27,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7,
          "detail": "NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, \"vector\")"
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_28_external_call_28__linear",
          "kind": "http-call",
          "label": "Configures identity column behavior",
          "line": 28,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7,
          "detail": "NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder)"
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_30_entity_configuration_30__linear",
          "kind": "statement",
          "label": "Microsoft.AspNetCore.Identity.IdentityRole",
          "line": 30,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7,
          "detail": "Defines Id, ConcurrencyStamp, Name, NormalizedName, primary key and unique index RoleNameIndex"
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_162_entity_configuration_162__linear",
          "kind": "statement",
          "label": "NexusReader.Domain.Entities.Ebook",
          "line": 162,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7,
          "detail": "Defines Id, AddedDate, Author, FilePath, TenantId, Title, UserId; indices on TenantId and UserId; table Ebooks"
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_209_entity_configuration_209__linear",
          "kind": "statement",
          "label": "NexusReader.Domain.Entities.KnowledgeUnit",
          "line": 209,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7,
          "detail": "Defines Id, Content, CreatedAt, SourceId, TenantId, Type, Vector (vector(768)), Version; indices on SourceId and TenantId"
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_255_entity_configuration_255__linear",
          "kind": "statement",
          "label": "NexusReader.Domain.Entities.KnowledgeUnitLink",
          "line": 255,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7,
          "detail": "Defines Id (identity), RelationType, SourceUnitId, TargetUnitId; indices on SourceUnitId and TargetUnitId"
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_287_entity_configuration_287__linear",
          "kind": "statement",
          "label": "NexusReader.Domain.Entities.NexusUser",
          "line": 287,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7,
          "detail": "Defines identity fields, subscription plan FK (SubscriptionPlanId default 1), indices on NormalizedEmail, NormalizedUserName, SubscriptionPlanId, TenantId"
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_422_entity_configuration_422__linear",
          "kind": "statement",
          "label": "NexusReader.Domain.Entities.SemanticKnowledgeCache",
          "line": 422,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7,
          "detail": "Defines ContentHash PK, CreatedAt, JsonData, ModelId, OriginalText, PromptVersion, TenantId, Vector (vector(1536)); unique index on ContentHash"
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_467_entity_configuration_467__linear",
          "kind": "statement",
          "label": "NexusReader.Domain.Entities.SubscriptionPlan",
          "line": 467,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7,
          "detail": "Defines Id (identity), AITokenLimit, MonthlyPrice, PlanName, StripeProductId; unique index on PlanName; seeds four plans via HasData"
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_498_persistence_seed_498__linear",
          "kind": "statement",
          "label": "Seeds SubscriptionPlans",
          "line": 498,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7,
          "detail": "HasData inserts 4 subscription plan rows: Free, Basic, Pro, Enterprise with Ids 1..4 and token/price values"
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_533_relationship_533__linear",
          "kind": "statement",
          "label": "Identity and domain relationships",
          "line": 533,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7,
          "detail": "Configures FK relations and cascade behaviors (e.g. IdentityRoleClaim->IdentityRole, User related FKs, Ebook.User, QuizResult.User, KnowledgeUnitLink.SourceUnit/TargetUnit, NexusUser.SubscriptionPlan with Restrict)"
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_636_navigation_636__linear",
          "kind": "statement",
          "label": "Entity navigations enabled",
          "line": 636,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7,
          "detail": "Declares entity navigation properties to enable relationships (e.g. NexusUser.Ebooks, NexusUser.QuizResults, KnowledgeUnit.IncomingLinks/OutgoingLinks)"
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 650,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:tz9mq3:buildtargetmodel__entry__method:tz9mq3:buildtargetmodel__action_23_annotation_23__linear",
          "from": "method:tz9mq3:buildtargetmodel__entry",
          "to": "method:tz9mq3:buildtargetmodel__action_23_annotation_23__linear",
          "kind": "next",
          "line": 23,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_23_annotation_23__linear__method:tz9mq3:buildtargetmodel__action_27_external_call_27__linear",
          "from": "method:tz9mq3:buildtargetmodel__action_23_annotation_23__linear",
          "to": "method:tz9mq3:buildtargetmodel__action_27_external_call_27__linear",
          "kind": "next",
          "line": 27,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_27_external_call_27__linear__method:tz9mq3:buildtargetmodel__action_28_external_call_28__linear",
          "from": "method:tz9mq3:buildtargetmodel__action_27_external_call_27__linear",
          "to": "method:tz9mq3:buildtargetmodel__action_28_external_call_28__linear",
          "kind": "next",
          "line": 28,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_28_external_call_28__linear__method:tz9mq3:buildtargetmodel__action_30_entity_configuration_30__linear",
          "from": "method:tz9mq3:buildtargetmodel__action_28_external_call_28__linear",
          "to": "method:tz9mq3:buildtargetmodel__action_30_entity_configuration_30__linear",
          "kind": "next",
          "line": 30,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_30_entity_configuration_30__linear__method:tz9mq3:buildtargetmodel__action_162_entity_configuration_162__linear",
          "from": "method:tz9mq3:buildtargetmodel__action_30_entity_configuration_30__linear",
          "to": "method:tz9mq3:buildtargetmodel__action_162_entity_configuration_162__linear",
          "kind": "next",
          "line": 162,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_162_entity_configuration_162__linear__method:tz9mq3:buildtargetmodel__action_209_entity_configuration_209__linear",
          "from": "method:tz9mq3:buildtargetmodel__action_162_entity_configuration_162__linear",
          "to": "method:tz9mq3:buildtargetmodel__action_209_entity_configuration_209__linear",
          "kind": "next",
          "line": 209,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_209_entity_configuration_209__linear__method:tz9mq3:buildtargetmodel__action_255_entity_configuration_255__linear",
          "from": "method:tz9mq3:buildtargetmodel__action_209_entity_configuration_209__linear",
          "to": "method:tz9mq3:buildtargetmodel__action_255_entity_configuration_255__linear",
          "kind": "next",
          "line": 255,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_255_entity_configuration_255__linear__method:tz9mq3:buildtargetmodel__action_287_entity_configuration_287__linear",
          "from": "method:tz9mq3:buildtargetmodel__action_255_entity_configuration_255__linear",
          "to": "method:tz9mq3:buildtargetmodel__action_287_entity_configuration_287__linear",
          "kind": "next",
          "line": 287,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_287_entity_configuration_287__linear__method:tz9mq3:buildtargetmodel__action_422_entity_configuration_422__linear",
          "from": "method:tz9mq3:buildtargetmodel__action_287_entity_configuration_287__linear",
          "to": "method:tz9mq3:buildtargetmodel__action_422_entity_configuration_422__linear",
          "kind": "next",
          "line": 422,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_422_entity_configuration_422__linear__method:tz9mq3:buildtargetmodel__action_467_entity_configuration_467__linear",
          "from": "method:tz9mq3:buildtargetmodel__action_422_entity_configuration_422__linear",
          "to": "method:tz9mq3:buildtargetmodel__action_467_entity_configuration_467__linear",
          "kind": "next",
          "line": 467,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_467_entity_configuration_467__linear__method:tz9mq3:buildtargetmodel__action_498_persistence_seed_498__linear",
          "from": "method:tz9mq3:buildtargetmodel__action_467_entity_configuration_467__linear",
          "to": "method:tz9mq3:buildtargetmodel__action_498_persistence_seed_498__linear",
          "kind": "next",
          "line": 498,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_498_persistence_seed_498__linear__method:tz9mq3:buildtargetmodel__action_533_relationship_533__linear",
          "from": "method:tz9mq3:buildtargetmodel__action_498_persistence_seed_498__linear",
          "to": "method:tz9mq3:buildtargetmodel__action_533_relationship_533__linear",
          "kind": "next",
          "line": 533,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_533_relationship_533__linear__method:tz9mq3:buildtargetmodel__action_636_navigation_636__linear",
          "from": "method:tz9mq3:buildtargetmodel__action_533_relationship_533__linear",
          "to": "method:tz9mq3:buildtargetmodel__action_636_navigation_636__linear",
          "kind": "next",
          "line": 636,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.7
        },
        {
          "id": "method:tz9mq3:buildtargetmodel__action_636_navigation_636__linear__implicit_return",
          "from": "method:tz9mq3:buildtargetmodel__action_636_navigation_636__linear",
          "to": "method:tz9mq3:buildtargetmodel__implicit_return",
          "kind": "return",
          "line": 650,
          "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.98,
      "lineSpan": {
        "start": 20,
        "end": 650
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
          "line": 20,
          "summary": "Control-flow fragment extracted for method BuildTargetModel.",
          "kind": "file-summary"
        }
      ]
    }
  ],
  "unresolvedJumps": [],
  "diagrams": [
    {
      "id": "file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit_neighborhood_view",
      "purpose": "neighborhood-view",
      "title": "20260503175906_FinalNormalizedSubscriptionArchitecture.Designer Neighborhood",
      "required": true,
      "diagram": {
        "id": "file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit_neighborhood_view",
        "kind": "dependency-map",
        "title": "20260503175906_FinalNormalizedSubscriptionArchitecture.Designer Neighborhood",
        "direction": "LR",
        "nodes": [
          {
            "id": "file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit",
            "kind": "service",
            "label": "20260503175906_FinalNormalizedSubscriptionArchitecture.Designer",
            "shape": "rounded",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs"
          },
          {
            "id": "class_zj074q_finalnormalizedsubscriptionarchitecture",
            "kind": "service",
            "label": "FinalNormalizedSubscriptionArchitecture",
            "shape": "rounded",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs"
          },
          {
            "id": "method_tz9mq3_buildtargetmodel",
            "kind": "method",
            "label": "BuildTargetModel()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
            "sourceLine": 20
          },
          {
            "id": "type_hhlqtu_microsoft_aspnetcore_identity_identityrole",
            "kind": "document",
            "label": "Microsoft.AspNetCore.Identity.IdentityRole",
            "shape": "doc",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
            "sourceLine": 30
          },
          {
            "id": "type_7ob3p3_nexusreader_domain_entities_ebook",
            "kind": "document",
            "label": "NexusReader.Domain.Entities.Ebook",
            "shape": "doc",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
            "sourceLine": 162
          },
          {
            "id": "type_13day2p_nexusreader_domain_entities_knowledgeunit",
            "kind": "document",
            "label": "NexusReader.Domain.Entities.KnowledgeUnit",
            "shape": "doc",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
            "sourceLine": 209
          },
          {
            "id": "type_9y8b30_nexusreader_domain_entities_knowledgeunitlink",
            "kind": "document",
            "label": "NexusReader.Domain.Entities.KnowledgeUnitLink",
            "shape": "doc",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
            "sourceLine": 255
          },
          {
            "id": "type_15ow7t1_nexusreader_domain_entities_nexususer",
            "kind": "document",
            "label": "NexusReader.Domain.Entities.NexusUser",
            "shape": "doc",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
            "sourceLine": 287
          },
          {
            "id": "type_30kk08_nexusreader_domain_entities_semanticknowledgecac",
            "kind": "document",
            "label": "NexusReader.Domain.Entities.SemanticKnowledgeCache",
            "shape": "doc",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
            "sourceLine": 422
          },
          {
            "id": "type_14w07kf_nexusreader_domain_entities_subscriptionplan",
            "kind": "document",
            "label": "NexusReader.Domain.Entities.SubscriptionPlan",
            "shape": "doc",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
            "sourceLine": 467
          },
          {
            "id": "type_6xl8d4_nexusreader_domain_entities_quizresult",
            "kind": "document",
            "label": "NexusReader.Domain.Entities.QuizResult",
            "shape": "doc",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
            "sourceLine": 385
          },
          {
            "id": "file_1pacvtg_appdbcontext_cs",
            "kind": "dependency",
            "label": "AppDbContext",
            "shape": "doc",
            "sourcePath": "NexusReader.Data/Persistence/AppDbContext.cs"
          },
          {
            "id": "file_lcvwj6_ebook_cs",
            "kind": "dependency",
            "label": "Ebook",
            "shape": "doc",
            "sourcePath": "NexusReader.Domain/Entities/Ebook.cs"
          },
          {
            "id": "file_h6a0xu_knowledgeunit_cs",
            "kind": "dependency",
            "label": "KnowledgeUnit",
            "shape": "doc",
            "sourcePath": "NexusReader.Domain/Entities/KnowledgeUnit.cs"
          },
          {
            "id": "file_1m6x5qy_knowledgeunitlink_cs",
            "kind": "dependency",
            "label": "KnowledgeUnitLink",
            "shape": "doc",
            "sourcePath": "NexusReader.Domain/Entities/KnowledgeUnitLink.cs"
          },
          {
            "id": "file_xcxh5w_nexususer_cs",
            "kind": "dependency",
            "label": "NexusUser",
            "shape": "doc",
            "sourcePath": "NexusReader.Domain/Entities/NexusUser.cs"
          },
          {
            "id": "file_1d4ycw2_semanticknowledgecache_cs",
            "kind": "dependency",
            "label": "SemanticKnowledgeCache",
            "shape": "doc",
            "sourcePath": "NexusReader.Domain/Entities/SemanticKnowledgeCache.cs"
          },
          {
            "id": "file_1b03oou_subscriptionplan_cs",
            "kind": "dependency",
            "label": "SubscriptionPlan",
            "shape": "doc",
            "sourcePath": "NexusReader.Domain/Entities/SubscriptionPlan.cs"
          },
          {
            "id": "file_1wyr0y8_quizresult_cs",
            "kind": "dependency",
            "label": "QuizResult",
            "shape": "doc",
            "sourcePath": "NexusReader.Domain/Entities/QuizResult.cs"
          }
        ],
        "edges": [
          {
            "id": "edge_p3szus_imports",
            "from": "file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit",
            "to": "file_1pacvtg_appdbcontext_cs",
            "semanticLabel": "AppDbContext",
            "visibleLabel": "AppDbContext",
            "relation": "uses",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs"
          },
          {
            "id": "edge_qqm4v0_imports",
            "from": "file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit",
            "to": "file_lcvwj6_ebook_cs",
            "semanticLabel": "Ebook",
            "visibleLabel": "Ebook",
            "relation": "uses",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs"
          },
          {
            "id": "edge_1vjdoja_imports",
            "from": "file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit",
            "to": "file_h6a0xu_knowledgeunit_cs",
            "semanticLabel": "KnowledgeUnit",
            "visibleLabel": "KnowledgeUnit",
            "relation": "uses",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs"
          },
          {
            "id": "edge_1er8sbj_imports",
            "from": "file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit",
            "to": "file_1m6x5qy_knowledgeunitlink_cs",
            "semanticLabel": "KnowledgeUnitLink",
            "visibleLabel": "KnowledgeUnitLink",
            "relation": "uses",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs"
          },
          {
            "id": "edge_1glgh2b_imports",
            "from": "file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit",
            "to": "file_xcxh5w_nexususer_cs",
            "semanticLabel": "NexusUser",
            "visibleLabel": "NexusUser",
            "relation": "uses",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs"
          },
          {
            "id": "edge_99h0ks_imports",
            "from": "file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit",
            "to": "file_1d4ycw2_semanticknowledgecache_cs",
            "semanticLabel": "SemanticKnowledgeCache",
            "visibleLabel": "SemanticKnowledgeCache",
            "relation": "uses",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs"
          },
          {
            "id": "edge_lxavqp_imports",
            "from": "file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit",
            "to": "file_1b03oou_subscriptionplan_cs",
            "semanticLabel": "SubscriptionPlan",
            "visibleLabel": "SubscriptionPlan",
            "relation": "uses",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs"
          },
          {
            "id": "edge_o5ho5o_imports",
            "from": "file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit",
            "to": "file_1wyr0y8_quizresult_cs",
            "semanticLabel": "QuizResult",
            "visibleLabel": "QuizResult",
            "relation": "uses",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs"
          }
        ],
        "metadata": {
          "evidencePaths": [
            "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs"
          ]
        },
        "subgraphs": []
      },
      "mermaidSource": "---\nconfig:\n  flowchart:\n    defaultRenderer: \"elk\"\n---\nflowchart LR\n    class_zj074q_finalnormalizedsubscriptionarchitecture(\"FinalNormalizedSubscriptionArchitecture\")\n    file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit(\"20260503175906_FinalNormalizedSubscriptionArchitecture.Designer\")\n    method_tz9mq3_buildtargetmodel[[\"BuildTargetModel()\"]]\n    file_1b03oou_subscriptionplan_cs[/\"SubscriptionPlan\"/]\n    file_1d4ycw2_semanticknowledgecache_cs[/\"SemanticKnowledgeCache\"/]\n    file_1m6x5qy_knowledgeunitlink_cs[/\"KnowledgeUnitLink\"/]\n    file_1pacvtg_appdbcontext_cs[/\"AppDbContext\"/]\n    file_1wyr0y8_quizresult_cs[/\"QuizResult\"/]\n    file_h6a0xu_knowledgeunit_cs[/\"KnowledgeUnit\"/]\n    file_lcvwj6_ebook_cs[/\"Ebook\"/]\n    file_xcxh5w_nexususer_cs[/\"NexusUser\"/]\n    type_13day2p_nexusreader_domain_entities_knowledgeunit[/\"NexusReader.Domain.Entities.KnowledgeUnit\"/]\n    type_14w07kf_nexusreader_domain_entities_subscriptionplan[/\"NexusReader.Domain.Entities.SubscriptionPlan\"/]\n    type_15ow7t1_nexusreader_domain_entities_nexususer[/\"NexusReader.Domain.Entities.NexusUser\"/]\n    type_30kk08_nexusreader_domain_entities_semanticknowledgecac[/\"NexusReader.Domain.Entities.SemanticKnowledgeCache\"/]\n    type_6xl8d4_nexusreader_domain_entities_quizresult[/\"NexusReader.Domain.Entities.QuizResult\"/]\n    type_7ob3p3_nexusreader_domain_entities_ebook[/\"NexusReader.Domain.Entities.Ebook\"/]\n    type_9y8b30_nexusreader_domain_entities_knowledgeunitlink[/\"NexusReader.Domain.Entities.KnowledgeUnitLink\"/]\n    type_hhlqtu_microsoft_aspnetcore_identity_identityrole[/\"Microsoft.AspNetCore.Identity.IdentityRole\"/]\n    file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit -->|SubscriptionPlan| file_1b03oou_subscriptionplan_cs\n    file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit -->|SemanticKnowledgeCache| file_1d4ycw2_semanticknowledgecache_cs\n    file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit -->|KnowledgeUnitLink| file_1m6x5qy_knowledgeunitlink_cs\n    file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit -->|AppDbContext| file_1pacvtg_appdbcontext_cs\n    file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit -->|QuizResult| file_1wyr0y8_quizresult_cs\n    file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit -->|KnowledgeUnit| file_h6a0xu_knowledgeunit_cs\n    file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit -->|Ebook| file_lcvwj6_ebook_cs\n    file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit -->|NexusUser| file_xcxh5w_nexususer_cs",
      "warnings": [
        "diagram file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit_neighborhood_view exceeds preferred complexity thresholds (19 nodes, 8 edges)."
      ]
    },
    {
      "id": "file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit_execution_view",
      "purpose": "execution-overview",
      "title": "20260503175906_FinalNormalizedSubscriptionArchitecture.Designer Execution Overview",
      "required": true,
      "diagram": {
        "id": "file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit_execution_view",
        "kind": "method-flow",
        "title": "20260503175906_FinalNormalizedSubscriptionArchitecture.Designer Execution Overview",
        "direction": "TD",
        "nodes": [
          {
            "id": "class_zj074q_finalnormalizedsubscriptionarchitecture",
            "kind": "service",
            "label": "FinalNormalizedSubscriptionArchitecture",
            "shape": "rounded",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs"
          },
          {
            "id": "method_tz9mq3_buildtargetmodel",
            "kind": "method",
            "label": "BuildTargetModel()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
            "sourceLine": 20
          },
          {
            "id": "unresolved_unresolved_1meayaz_interaction_target",
            "kind": "prompt",
            "label": "Unresolved: NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, \\\"vector\\\")",
            "shape": "diamond",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
            "sourceLine": 27
          },
          {
            "id": "unresolved_unresolved_1x958ae_interaction_target",
            "kind": "prompt",
            "label": "Unresolved: NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder)",
            "shape": "diamond",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
            "sourceLine": 28
          }
        ],
        "edges": [
          {
            "id": "class_zj074q_finalnormalizedsubscriptionarchitecture_contains_method_tz9mq3_buildtargetmodel",
            "from": "class_zj074q_finalnormalizedsubscriptionarchitecture",
            "to": "method_tz9mq3_buildtargetmodel",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
            "sourceLine": 20
          },
          {
            "id": "unresolved_1meayaz_interaction_target_edge",
            "from": "class_zj074q_finalnormalizedsubscriptionarchitecture",
            "to": "unresolved_unresolved_1meayaz_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.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
            "sourceLine": 27
          },
          {
            "id": "unresolved_1x958ae_interaction_target_edge",
            "from": "class_zj074q_finalnormalizedsubscriptionarchitecture",
            "to": "unresolved_unresolved_1x958ae_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.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs",
            "sourceLine": 28
          }
        ],
        "metadata": {
          "evidencePaths": [
            "NexusReader.Data/Migrations/20260503175906_FinalNormalizedSubscriptionArchitecture.Designer.cs"
          ],
          "warnings": [
            "Execution overview includes unresolved targets. Use validation artifacts before treating the flow as complete."
          ]
        },
        "subgraphs": []
      },
      "mermaidSource": "flowchart TD\n    class_zj074q_finalnormalizedsubscriptionarchitecture(\"FinalNormalizedSubscriptionArchitecture\")\n    method_tz9mq3_buildtargetmodel[[\"BuildTargetModel()\"]]\n    unresolved_unresolved_1meayaz_interaction_target{\"Unresolved: NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, \\\\\"vector\\\\\")\"}\n    unresolved_unresolved_1x958ae_interaction_target{\"Unresolved: NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder)\"}\n    class_zj074q_finalnormalizedsubscriptionarchitecture -->|contains| method_tz9mq3_buildtargetmodel\n    class_zj074q_finalnormalizedsubscriptionarchitecture -->|unresolved interaction| unresolved_unresolved_1meayaz_interaction_target\n    class_zj074q_finalnormalizedsubscriptionarchitecture -->|unresolved interaction| unresolved_unresolved_1x958ae_interaction_target",
      "warnings": []
    }
  ],
  "renderHints": {
    "preferredSurface": "three-d",
    "defaultDiagramId": "file_1xzhi6b_20260503175906_finalnormalizedsubscriptionarchit_execution_view",
    "controlFlowDiagramIds": [],
    "defaultControlFlowDiagramIdsBySymbolId": {}
  }
}