[
  {
    "fragmentId": "method:1pxp1t3:up__fragment",
    "ownerFileId": "file:1y1rue2:20260506184227-updatesubscriptionplanisunlimited",
    "ownerSymbolId": "method:1pxp1t3:up",
    "ownerSymbolName": "Up",
    "entryNodeId": "method:1pxp1t3:up__entry",
    "exitNodeIds": [
      "method:1pxp1t3:up__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:1pxp1t3:up__entry",
        "kind": "entry",
        "label": "Up entry",
        "line": 11,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.99,
        "detail": "Apply the migration: add IsUnlimitedTokens column to SubscriptionPlans and update seeded data for multiple plan rows."
      },
      {
        "id": "method:1pxp1t3:up__action_13_schema_change_13__linear",
        "kind": "statement",
        "label": "AddColumn IsUnlimitedTokens on SubscriptionPlans",
        "line": 13,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.7,
        "detail": "migrationBuilder.AddColumn<bool>(name: \"IsUnlimitedTokens\", table: \"SubscriptionPlans\", type: \"boolean\", nullable: false, defaultValue: false)"
      },
      {
        "id": "method:1pxp1t3:up__action_20_data_seed_20__linear",
        "kind": "statement",
        "label": "Update seed row Id=1",
        "line": 20,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.7,
        "detail": "UpdateData on SubscriptionPlans Id=1: set AITokenLimit=5000, IsUnlimitedTokens=false, StripeProductId=\"prod_Free789\""
      },
      {
        "id": "method:1pxp1t3:up__action_27_data_seed_27__linear",
        "kind": "statement",
        "label": "Update seed row Id=2",
        "line": 27,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.7,
        "detail": "UpdateData on SubscriptionPlans Id=2: set IsUnlimitedTokens=false"
      },
      {
        "id": "method:1pxp1t3:up__action_34_data_seed_34__linear",
        "kind": "statement",
        "label": "Update seed row Id=3",
        "line": 34,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.7,
        "detail": "UpdateData on SubscriptionPlans Id=3: set IsUnlimitedTokens=false"
      },
      {
        "id": "method:1pxp1t3:up__action_41_data_seed_41__linear",
        "kind": "statement",
        "label": "Update seed row Id=4 (make unlimited)",
        "line": 41,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.7,
        "detail": "UpdateData on SubscriptionPlans Id=4: set AITokenLimit=1000000000, IsUnlimitedTokens=true"
      },
      {
        "id": "method:1pxp1t3:up__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 47,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:1pxp1t3:up__entry__method:1pxp1t3:up__action_13_schema_change_13__linear",
        "from": "method:1pxp1t3:up__entry",
        "to": "method:1pxp1t3:up__action_13_schema_change_13__linear",
        "kind": "next",
        "line": 13,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1pxp1t3:up__action_13_schema_change_13__linear__method:1pxp1t3:up__action_20_data_seed_20__linear",
        "from": "method:1pxp1t3:up__action_13_schema_change_13__linear",
        "to": "method:1pxp1t3:up__action_20_data_seed_20__linear",
        "kind": "next",
        "line": 20,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1pxp1t3:up__action_20_data_seed_20__linear__method:1pxp1t3:up__action_27_data_seed_27__linear",
        "from": "method:1pxp1t3:up__action_20_data_seed_20__linear",
        "to": "method:1pxp1t3:up__action_27_data_seed_27__linear",
        "kind": "next",
        "line": 27,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1pxp1t3:up__action_27_data_seed_27__linear__method:1pxp1t3:up__action_34_data_seed_34__linear",
        "from": "method:1pxp1t3:up__action_27_data_seed_27__linear",
        "to": "method:1pxp1t3:up__action_34_data_seed_34__linear",
        "kind": "next",
        "line": 34,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1pxp1t3:up__action_34_data_seed_34__linear__method:1pxp1t3:up__action_41_data_seed_41__linear",
        "from": "method:1pxp1t3:up__action_34_data_seed_34__linear",
        "to": "method:1pxp1t3:up__action_41_data_seed_41__linear",
        "kind": "next",
        "line": 41,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1pxp1t3:up__action_41_data_seed_41__linear__implicit_return",
        "from": "method:1pxp1t3:up__action_41_data_seed_41__linear",
        "to": "method:1pxp1t3:up__implicit_return",
        "kind": "return",
        "line": 47,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.8799999999999999,
    "lineSpan": {
      "start": 11,
      "end": 47
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "line": 11,
        "summary": "Control-flow fragment extracted for method Up.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:3zfaqn:down__fragment",
    "ownerFileId": "file:1y1rue2:20260506184227-updatesubscriptionplanisunlimited",
    "ownerSymbolId": "method:3zfaqn:down",
    "ownerSymbolName": "Down",
    "entryNodeId": "method:3zfaqn:down__entry",
    "exitNodeIds": [
      "method:3zfaqn:down__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:3zfaqn:down__entry",
        "kind": "entry",
        "label": "Down entry",
        "line": 50,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.99,
        "detail": "Revert the migration: remove IsUnlimitedTokens column and restore previous seeded SubscriptionPlans values."
      },
      {
        "id": "method:3zfaqn:down__action_52_schema_change_52__linear",
        "kind": "statement",
        "label": "DropColumn IsUnlimitedTokens on SubscriptionPlans",
        "line": 52,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.7,
        "detail": "migrationBuilder.DropColumn(name: \"IsUnlimitedTokens\", table: \"SubscriptionPlans\")"
      },
      {
        "id": "method:3zfaqn:down__action_56_data_seed_56__linear",
        "kind": "statement",
        "label": "Revert seed row Id=1",
        "line": 56,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.7,
        "detail": "UpdateData on SubscriptionPlans Id=1: set AITokenLimit=1000, StripeProductId=\"\""
      },
      {
        "id": "method:3zfaqn:down__action_63_data_seed_63__linear",
        "kind": "statement",
        "label": "Revert seed row Id=4",
        "line": 63,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.7,
        "detail": "UpdateData on SubscriptionPlans Id=4: set AITokenLimit=500000"
      },
      {
        "id": "method:3zfaqn:down__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 69,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:3zfaqn:down__entry__method:3zfaqn:down__action_52_schema_change_52__linear",
        "from": "method:3zfaqn:down__entry",
        "to": "method:3zfaqn:down__action_52_schema_change_52__linear",
        "kind": "next",
        "line": 52,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.7
      },
      {
        "id": "method:3zfaqn:down__action_52_schema_change_52__linear__method:3zfaqn:down__action_56_data_seed_56__linear",
        "from": "method:3zfaqn:down__action_52_schema_change_52__linear",
        "to": "method:3zfaqn:down__action_56_data_seed_56__linear",
        "kind": "next",
        "line": 56,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.7
      },
      {
        "id": "method:3zfaqn:down__action_56_data_seed_56__linear__method:3zfaqn:down__action_63_data_seed_63__linear",
        "from": "method:3zfaqn:down__action_56_data_seed_56__linear",
        "to": "method:3zfaqn:down__action_63_data_seed_63__linear",
        "kind": "next",
        "line": 63,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.7
      },
      {
        "id": "method:3zfaqn:down__action_63_data_seed_63__linear__implicit_return",
        "from": "method:3zfaqn:down__action_63_data_seed_63__linear",
        "to": "method:3zfaqn:down__implicit_return",
        "kind": "return",
        "line": 69,
        "sourcePath": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.82,
    "lineSpan": {
      "start": 50,
      "end": 69
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.Data/Migrations/20260506184227_UpdateSubscriptionPlanIsUnlimitedTokens.cs",
        "line": 50,
        "summary": "Control-flow fragment extracted for method Down.",
        "kind": "file-summary"
      }
    ]
  }
]