[
  {
    "fragmentId": "method:eacfb6:buildtargetmodel__fragment",
    "ownerFileId": "file:1j2onoi:20260429080302-addquizresults-designer-cs",
    "ownerSymbolId": "method:eacfb6:buildtargetmodel",
    "ownerSymbolName": "BuildTargetModel",
    "entryNodeId": "method:eacfb6:buildtargetmodel__entry",
    "exitNodeIds": [
      "method:eacfb6:buildtargetmodel__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:eacfb6:buildtargetmodel__entry",
        "kind": "entry",
        "label": "BuildTargetModel entry",
        "line": 19,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.99,
        "detail": "Constructs the EF Core model for the migration: declares entities, columns, keys, indexes, relationships, and Npgsql identity config."
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_26_db_config_call_26__linear",
        "kind": "statement",
        "label": "Use Npgsql identity-by-default columns",
        "line": 26,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7,
        "detail": "NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder) — configures PostgreSQL identity default behavior"
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_28_create_table_28__linear",
        "kind": "statement",
        "label": "AspNetRoles table mapping",
        "line": 28,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7,
        "detail": "Defines IdentityRole columns (Id, ConcurrencyStamp, Name, NormalizedName), primary key, unique index RoleNameIndex and table name AspNetRoles"
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_54_create_table_54__linear",
        "kind": "statement",
        "label": "AspNetRoleClaims table mapping",
        "line": 54,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7,
        "detail": "Defines IdentityRoleClaim columns (Id, ClaimType, ClaimValue, RoleId), PK, index on RoleId and table AspNetRoleClaims"
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_79_create_table_79__linear",
        "kind": "statement",
        "label": "AspNetUserClaims table mapping",
        "line": 79,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7,
        "detail": "Defines IdentityUserClaim columns, PK, index on UserId and table AspNetUserClaims"
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_104_create_table_104__linear",
        "kind": "statement",
        "label": "AspNetUserLogins table mapping",
        "line": 104,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7,
        "detail": "Defines IdentityUserLogin composite PK, Provider/Key, UserId index and table AspNetUserLogins"
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_126_create_table_126__linear",
        "kind": "statement",
        "label": "AspNetUserRoles table mapping",
        "line": 126,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7,
        "detail": "Defines composite PK (UserId, RoleId), index on RoleId and table AspNetUserRoles"
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_141_create_table_141__linear",
        "kind": "statement",
        "label": "AspNetUserTokens table mapping",
        "line": 141,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7,
        "detail": "Defines composite PK (UserId, LoginProvider, Name) and table AspNetUserTokens"
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_160_create_table_160__linear",
        "kind": "statement",
        "label": "Ebooks table mapping",
        "line": 160,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7,
        "detail": "Defines Ebook columns (Id uuid PK, AddedDate, Author, CoverUrl, FilePath, LastReadDate, Title, UserId), index on UserId and table Ebooks"
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_200_create_table_200__linear",
        "kind": "statement",
        "label": "AspNetUsers (NexusUser) table mapping",
        "line": 200,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7,
        "detail": "Defines NexusUser / AspNetUsers columns (Id, AITokenLimit, AITokensUsed, AccessFailedCount, ConcurrencyStamp, CurrentPlan, Email, EmailConfirmed, LockoutEnabled, LockoutEnd, NormalizedEmail, NormalizedUserName, PasswordHash, PhoneNumber, PhoneNumberConfirmed, SecurityStamp, TenantId, TwoFactorEnabled, UserName), indices for EmailIndex and UserNameIndex"
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_277_create_table_277__linear",
        "kind": "statement",
        "label": "QuizResults table mapping",
        "line": 277,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7,
        "detail": "Defines QuizResult columns (Id uuid PK, CompletedDate, Score, Topic, TotalQuestions, UserId), index on UserId and table QuizResults"
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_307_create_table_307__linear",
        "kind": "statement",
        "label": "SemanticKnowledgeCache table mapping",
        "line": 307,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7,
        "detail": "Defines SemanticKnowledgeCache columns (ContentHash PK, CreatedAt, JsonData, ModelId, PromptVersion), unique index on ContentHash and table SemanticKnowledgeCache"
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_338_relationship_338__linear",
        "kind": "statement",
        "label": "Identity role claims -> IdentityRole (FK RoleId)",
        "line": 338,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7,
        "detail": "IdentityRoleClaim.RoleId -> IdentityRole.Id with cascade delete"
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_347_relationship_347__linear",
        "kind": "statement",
        "label": "Identity user claims -> NexusUser (FK UserId)",
        "line": 347,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7,
        "detail": "IdentityUserClaim.UserId -> NexusUser.Id with cascade delete"
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_356_relationship_356__linear",
        "kind": "statement",
        "label": "Identity user logins -> NexusUser (FK UserId)",
        "line": 356,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7,
        "detail": "IdentityUserLogin.UserId -> NexusUser.Id with cascade delete"
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_365_relationship_365__linear",
        "kind": "statement",
        "label": "Identity user roles -> IdentityRole and NexusUser (FK RoleId, UserId)",
        "line": 365,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7,
        "detail": "IdentityUserRole.RoleId -> IdentityRole.Id and IdentityUserRole.UserId -> NexusUser.Id with cascade delete"
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_380_relationship_380__linear",
        "kind": "statement",
        "label": "Identity user tokens -> NexusUser (FK UserId)",
        "line": 380,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7,
        "detail": "IdentityUserToken.UserId -> NexusUser.Id with cascade delete"
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_389_relationship_389__linear",
        "kind": "statement",
        "label": "Ebook -> NexusUser (FK UserId)",
        "line": 389,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7,
        "detail": "Ebook.UserId -> NexusUser.Id with cascade delete; navigation property User and NexusUser.Ebooks"
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_400_relationship_400__linear",
        "kind": "statement",
        "label": "QuizResult -> NexusUser (FK UserId)",
        "line": 400,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7,
        "detail": "QuizResult.UserId -> NexusUser.Id with cascade delete; navigation property User and NexusUser.QuizResults"
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_411_navigation_declare_411__linear",
        "kind": "statement",
        "label": "NexusUser navigations",
        "line": 411,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7,
        "detail": "Declares NexusUser navigations Ebooks and QuizResults"
      },
      {
        "id": "method:eacfb6:buildtargetmodel__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 418,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:eacfb6:buildtargetmodel__entry__method:eacfb6:buildtargetmodel__action_26_db_config_call_26__linear",
        "from": "method:eacfb6:buildtargetmodel__entry",
        "to": "method:eacfb6:buildtargetmodel__action_26_db_config_call_26__linear",
        "kind": "next",
        "line": 26,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_26_db_config_call_26__linear__method:eacfb6:buildtargetmodel__action_28_create_table_28__linear",
        "from": "method:eacfb6:buildtargetmodel__action_26_db_config_call_26__linear",
        "to": "method:eacfb6:buildtargetmodel__action_28_create_table_28__linear",
        "kind": "next",
        "line": 28,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_28_create_table_28__linear__method:eacfb6:buildtargetmodel__action_54_create_table_54__linear",
        "from": "method:eacfb6:buildtargetmodel__action_28_create_table_28__linear",
        "to": "method:eacfb6:buildtargetmodel__action_54_create_table_54__linear",
        "kind": "next",
        "line": 54,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_54_create_table_54__linear__method:eacfb6:buildtargetmodel__action_79_create_table_79__linear",
        "from": "method:eacfb6:buildtargetmodel__action_54_create_table_54__linear",
        "to": "method:eacfb6:buildtargetmodel__action_79_create_table_79__linear",
        "kind": "next",
        "line": 79,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_79_create_table_79__linear__method:eacfb6:buildtargetmodel__action_104_create_table_104__linear",
        "from": "method:eacfb6:buildtargetmodel__action_79_create_table_79__linear",
        "to": "method:eacfb6:buildtargetmodel__action_104_create_table_104__linear",
        "kind": "next",
        "line": 104,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_104_create_table_104__linear__method:eacfb6:buildtargetmodel__action_126_create_table_126__linear",
        "from": "method:eacfb6:buildtargetmodel__action_104_create_table_104__linear",
        "to": "method:eacfb6:buildtargetmodel__action_126_create_table_126__linear",
        "kind": "next",
        "line": 126,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_126_create_table_126__linear__method:eacfb6:buildtargetmodel__action_141_create_table_141__linear",
        "from": "method:eacfb6:buildtargetmodel__action_126_create_table_126__linear",
        "to": "method:eacfb6:buildtargetmodel__action_141_create_table_141__linear",
        "kind": "next",
        "line": 141,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_141_create_table_141__linear__method:eacfb6:buildtargetmodel__action_160_create_table_160__linear",
        "from": "method:eacfb6:buildtargetmodel__action_141_create_table_141__linear",
        "to": "method:eacfb6:buildtargetmodel__action_160_create_table_160__linear",
        "kind": "next",
        "line": 160,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_160_create_table_160__linear__method:eacfb6:buildtargetmodel__action_200_create_table_200__linear",
        "from": "method:eacfb6:buildtargetmodel__action_160_create_table_160__linear",
        "to": "method:eacfb6:buildtargetmodel__action_200_create_table_200__linear",
        "kind": "next",
        "line": 200,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_200_create_table_200__linear__method:eacfb6:buildtargetmodel__action_277_create_table_277__linear",
        "from": "method:eacfb6:buildtargetmodel__action_200_create_table_200__linear",
        "to": "method:eacfb6:buildtargetmodel__action_277_create_table_277__linear",
        "kind": "next",
        "line": 277,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_277_create_table_277__linear__method:eacfb6:buildtargetmodel__action_307_create_table_307__linear",
        "from": "method:eacfb6:buildtargetmodel__action_277_create_table_277__linear",
        "to": "method:eacfb6:buildtargetmodel__action_307_create_table_307__linear",
        "kind": "next",
        "line": 307,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_307_create_table_307__linear__method:eacfb6:buildtargetmodel__action_338_relationship_338__linear",
        "from": "method:eacfb6:buildtargetmodel__action_307_create_table_307__linear",
        "to": "method:eacfb6:buildtargetmodel__action_338_relationship_338__linear",
        "kind": "next",
        "line": 338,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_338_relationship_338__linear__method:eacfb6:buildtargetmodel__action_347_relationship_347__linear",
        "from": "method:eacfb6:buildtargetmodel__action_338_relationship_338__linear",
        "to": "method:eacfb6:buildtargetmodel__action_347_relationship_347__linear",
        "kind": "next",
        "line": 347,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_347_relationship_347__linear__method:eacfb6:buildtargetmodel__action_356_relationship_356__linear",
        "from": "method:eacfb6:buildtargetmodel__action_347_relationship_347__linear",
        "to": "method:eacfb6:buildtargetmodel__action_356_relationship_356__linear",
        "kind": "next",
        "line": 356,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_356_relationship_356__linear__method:eacfb6:buildtargetmodel__action_365_relationship_365__linear",
        "from": "method:eacfb6:buildtargetmodel__action_356_relationship_356__linear",
        "to": "method:eacfb6:buildtargetmodel__action_365_relationship_365__linear",
        "kind": "next",
        "line": 365,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_365_relationship_365__linear__method:eacfb6:buildtargetmodel__action_380_relationship_380__linear",
        "from": "method:eacfb6:buildtargetmodel__action_365_relationship_365__linear",
        "to": "method:eacfb6:buildtargetmodel__action_380_relationship_380__linear",
        "kind": "next",
        "line": 380,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_380_relationship_380__linear__method:eacfb6:buildtargetmodel__action_389_relationship_389__linear",
        "from": "method:eacfb6:buildtargetmodel__action_380_relationship_380__linear",
        "to": "method:eacfb6:buildtargetmodel__action_389_relationship_389__linear",
        "kind": "next",
        "line": 389,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_389_relationship_389__linear__method:eacfb6:buildtargetmodel__action_400_relationship_400__linear",
        "from": "method:eacfb6:buildtargetmodel__action_389_relationship_389__linear",
        "to": "method:eacfb6:buildtargetmodel__action_400_relationship_400__linear",
        "kind": "next",
        "line": 400,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_400_relationship_400__linear__method:eacfb6:buildtargetmodel__action_411_navigation_declare_411__linear",
        "from": "method:eacfb6:buildtargetmodel__action_400_relationship_400__linear",
        "to": "method:eacfb6:buildtargetmodel__action_411_navigation_declare_411__linear",
        "kind": "next",
        "line": 411,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eacfb6:buildtargetmodel__action_411_navigation_declare_411__linear__implicit_return",
        "from": "method:eacfb6:buildtargetmodel__action_411_navigation_declare_411__linear",
        "to": "method:eacfb6:buildtargetmodel__implicit_return",
        "kind": "return",
        "line": 418,
        "sourcePath": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.98,
    "lineSpan": {
      "start": 19,
      "end": 418
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.Data/Migrations/20260429080302_AddQuizResults.Designer.cs",
        "line": 19,
        "summary": "Control-flow fragment extracted for method BuildTargetModel.",
        "kind": "file-summary"
      }
    ]
  }
]