{
  "workflowName": "tSQLt SQL E2E",
  "status": "PASSED",
  "generatedAt": "2026-04-14T20:26:52.504Z",
  "summary": {
    "total": 417,
    "passed": 417,
    "skipped": 0,
    "failed": 0,
    "errored": 0
  },
  "moduleCount": 15,
  "modules": [
    {
      "name": "M2_CarrierInstancesPasses_Tests",
      "total": 31,
      "passed": 31,
      "failed": 0,
      "skipped": 0,
      "errored": 0
    },
    {
      "name": "M2_CarrierProtection_Tests",
      "total": 48,
      "passed": 48,
      "failed": 0,
      "skipped": 0,
      "errored": 0
    },
    {
      "name": "M2_DetectRollsetDisruption_Tests",
      "total": 28,
      "passed": 28,
      "failed": 0,
      "skipped": 0,
      "errored": 0
    },
    {
      "name": "M2_DisruptionTracking_Tests",
      "total": 16,
      "passed": 16,
      "failed": 0,
      "skipped": 0,
      "errored": 0
    },
    {
      "name": "M2_DraftEvents_Tests",
      "total": 70,
      "passed": 70,
      "failed": 0,
      "skipped": 0,
      "errored": 0
    },
    {
      "name": "M2_EdgerRollPass_Tests",
      "total": 10,
      "passed": 10,
      "failed": 0,
      "skipped": 0,
      "errored": 0
    },
    {
      "name": "M2_EventErrorHandling_Tests",
      "total": 10,
      "passed": 10,
      "failed": 0,
      "skipped": 0,
      "errored": 0
    },
    {
      "name": "M2_EventIntegration_Tests",
      "total": 35,
      "passed": 35,
      "failed": 0,
      "skipped": 0,
      "errored": 0
    },
    {
      "name": "M2_PassCampaigns_Tests",
      "total": 14,
      "passed": 14,
      "failed": 0,
      "skipped": 0,
      "errored": 0
    },
    {
      "name": "M2_ResolveEventCollisions_Tests",
      "total": 59,
      "passed": 59,
      "failed": 0,
      "skipped": 0,
      "errored": 0
    },
    {
      "name": "M2_ScheduleCompaction_Tests",
      "total": 22,
      "passed": 22,
      "failed": 0,
      "skipped": 0,
      "errored": 0
    },
    {
      "name": "M2_SwapRollsetsRolls_Tests",
      "total": 16,
      "passed": 16,
      "failed": 0,
      "skipped": 0,
      "errored": 0
    },
    {
      "name": "M2_SyncCampaignsToProductionEvents_Tests",
      "total": 37,
      "passed": 37,
      "failed": 0,
      "skipped": 0,
      "errored": 0
    },
    {
      "name": "M2_TensileRequirements_Tests",
      "total": 13,
      "passed": 13,
      "failed": 0,
      "skipped": 0,
      "errored": 0
    },
    {
      "name": "M2_TrackPassCampaignsJob_Tests",
      "total": 8,
      "passed": 8,
      "failed": 0,
      "skipped": 0,
      "errored": 0
    }
  ],
  "tests": [
    {
      "number": 1,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test DeleteCarrierInstancePass deletes non-last record",
      "durationMs": 82,
      "result": "Success"
    },
    {
      "number": 2,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test DeleteCarrierInstancePass fails for last record",
      "durationMs": 57,
      "result": "Success"
    },
    {
      "number": 3,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test DeleteCarrierInstancePass fails when already deleted",
      "durationMs": 65,
      "result": "Success"
    },
    {
      "number": 4,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test DeleteCarrierInstancePass fails with non-existent id",
      "durationMs": 61,
      "result": "Success"
    },
    {
      "number": 5,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test DeleteCarrierInstancePass fails without id",
      "durationMs": 40,
      "result": "Success"
    },
    {
      "number": 6,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test DeleteCarrierInstancePass removes PassCampaign",
      "durationMs": 81,
      "result": "Success"
    },
    {
      "number": 7,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test RecalculatePassTimes adjusts first record StartedAt",
      "durationMs": 77,
      "result": "Success"
    },
    {
      "number": 8,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test RecalculatePassTimes adjusts only f<...>tedAt to InstalledAt and last EndedAt to UninstalledAt when window changes",
      "durationMs": 102,
      "result": "Success"
    },
    {
      "number": 9,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test RecalculatePassTimes adjusts only first StartedAt to InstalledAt when window shifts keeping same duration",
      "durationMs": 77,
      "result": "Success"
    },
    {
      "number": 10,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test RecalculatePassTimes chains EndedAt for multiple records",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 11,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test RecalculatePassTimes does not scale single pass",
      "durationMs": 86,
      "result": "Success"
    },
    {
      "number": 12,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test RecalculatePassTimes does not scale when window unchanged",
      "durationMs": 77,
      "result": "Success"
    },
    {
      "number": 13,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test RecalculatePassTimes fails with non-existent CarrierInstance",
      "durationMs": 77,
      "result": "Success"
    },
    {
      "number": 14,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test RecalculatePassTimes fails without CarrierInstanceId",
      "durationMs": 37,
      "result": "Success"
    },
    {
      "number": 15,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test RecalculatePassTimes fails without EdgerRollPartId",
      "durationMs": 65,
      "result": "Success"
    },
    {
      "number": 16,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test RecalculatePassTimes recalculates only the specified EdgerRoll leaving other rolls unchanged",
      "durationMs": 138,
      "result": "Success"
    },
    {
      "number": 17,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test RecalculatePassTimes returns 0 when no records",
      "durationMs": 61,
      "result": "Success"
    },
    {
      "number": 18,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test RecalculatePassTimes scales passes proportionally when window expands",
      "durationMs": 77,
      "result": "Success"
    },
    {
      "number": 19,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test RecalculatePassTimes sets EndedAt to UninstalledAt for single record",
      "durationMs": 90,
      "result": "Success"
    },
    {
      "number": 20,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test RecalculatePassTimes sets NULL EndedAt when not uninstalled",
      "durationMs": 90,
      "result": "Success"
    },
    {
      "number": 21,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test UpsertCarrierInstancePass creates first record with InstalledAt",
      "durationMs": 97,
      "result": "Success"
    },
    {
      "number": 22,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test UpsertCarrierInstancePass creates with explicit StartedAt",
      "durationMs": 118,
      "result": "Success"
    },
    {
      "number": 23,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test UpsertCarrierInstancePass fails changing to same active pass",
      "durationMs": 57,
      "result": "Success"
    },
    {
      "number": 24,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test UpsertCarrierInstancePass fails when EdgerRoll not in Rollset",
      "durationMs": 53,
      "result": "Success"
    },
    {
      "number": 25,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test UpsertCarrierInstancePass fails with non-existent CarrierInstance",
      "durationMs": 41,
      "result": "Success"
    },
    {
      "number": 26,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test UpsertCarrierInstancePass fails with non-existent pass",
      "durationMs": 73,
      "result": "Success"
    },
    {
      "number": 27,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test UpsertCarrierInstancePass fails with StartedAt after UninstalledAt",
      "durationMs": 53,
      "result": "Success"
    },
    {
      "number": 28,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test UpsertCarrierInstancePass fails with StartedAt before InstalledAt",
      "durationMs": 49,
      "result": "Success"
    },
    {
      "number": 29,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test UpsertCarrierInstancePass fails without CarrierInstanceId",
      "durationMs": 85,
      "result": "Success"
    },
    {
      "number": 30,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test UpsertCarrierInstancePass fails without EdgerRollPartId",
      "durationMs": 89,
      "result": "Success"
    },
    {
      "number": 31,
      "module": "M2_CarrierInstancesPasses_Tests",
      "testName": "test UpsertCarrierInstancePass replaces record with same StartedAt",
      "durationMs": 114,
      "result": "Success"
    },
    {
      "number": 32,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteArbor deactivates UniversalRoll Part",
      "durationMs": 118,
      "result": "Success"
    },
    {
      "number": 33,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteArbor fails when carrier status is U",
      "durationMs": 86,
      "result": "Success"
    },
    {
      "number": 34,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteArbor in rollset deactivates UR and rollset",
      "durationMs": 98,
      "result": "Success"
    },
    {
      "number": 35,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteArbor succeeds when arbor not in any universal roll",
      "durationMs": 114,
      "result": "Success"
    },
    {
      "number": 36,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteArbor succeeds when carrier status is X",
      "durationMs": 101,
      "result": "Success"
    },
    {
      "number": 37,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteArbor succeeds when rollset has no carrier",
      "durationMs": 89,
      "result": "Success"
    },
    {
      "number": 38,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteArbor succeeds when universal roll not in rollset",
      "durationMs": 122,
      "result": "Success"
    },
    {
      "number": 39,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteDonut fails when carrier status is C",
      "durationMs": 98,
      "result": "Success"
    },
    {
      "number": 40,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteDonut fails when carrier status is S",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 41,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteDonut in rollset updates UR and deactivates rollset",
      "durationMs": 81,
      "result": "Success"
    },
    {
      "number": 42,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteDonut keeps UniversalRoll active",
      "durationMs": 130,
      "result": "Success"
    },
    {
      "number": 43,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteDonut multiple donuts succeeds when none in active carrier",
      "durationMs": 94,
      "result": "Success"
    },
    {
      "number": 44,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteDonut sets UniversalRoll DonutPartId to NULL",
      "durationMs": 97,
      "result": "Success"
    },
    {
      "number": 45,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteDonut succeeds when carrier status is F",
      "durationMs": 102,
      "result": "Success"
    },
    {
      "number": 46,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteDonut succeeds when donut not in any universal roll",
      "durationMs": 94,
      "result": "Success"
    },
    {
      "number": 47,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteDonut succeeds when rollset has no carrier",
      "durationMs": 89,
      "result": "Success"
    },
    {
      "number": 48,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteDonut succeeds when universal roll not in rollset",
      "durationMs": 102,
      "result": "Success"
    },
    {
      "number": 49,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteRoll deactivates rollset when carrier status is E",
      "durationMs": 110,
      "result": "Success"
    },
    {
      "number": 50,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteRoll deactivates rollset when no carrier instance",
      "durationMs": 82,
      "result": "Success"
    },
    {
      "number": 51,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteRoll edger deactivates rollset when carrier status is F",
      "durationMs": 130,
      "result": "Success"
    },
    {
      "number": 52,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteRoll edger deactivates rollset when no carrier",
      "durationMs": 143,
      "result": "Success"
    },
    {
      "number": 53,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteRoll edger fails when carrier status is A",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 54,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteRoll edger fails when carrier status is I",
      "durationMs": 77,
      "result": "Success"
    },
    {
      "number": 55,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteRoll edger succeeds when not in any rollset",
      "durationMs": 77,
      "result": "Success"
    },
    {
      "number": 56,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteRoll error message contains carrier name",
      "durationMs": 97,
      "result": "Success"
    },
    {
      "number": 57,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteRoll error message contains CarrierInstanceId",
      "durationMs": 85,
      "result": "Success"
    },
    {
      "number": 58,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteRoll error message contains roll name",
      "durationMs": 65,
      "result": "Success"
    },
    {
      "number": 59,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteRoll fails when carrier status is A",
      "durationMs": 110,
      "result": "Success"
    },
    {
      "number": 60,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteRoll fails when carrier status is I",
      "durationMs": 94,
      "result": "Success"
    },
    {
      "number": 61,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteRoll multiple rolls fails if any in active carrier",
      "durationMs": 89,
      "result": "Success"
    },
    {
      "number": 62,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteRoll roll stays active when blocked",
      "durationMs": 90,
      "result": "Success"
    },
    {
      "number": 63,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test DeleteRoll succeeds when roll not in any rollset",
      "durationMs": 93,
      "result": "Success"
    },
    {
      "number": 64,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test UpsertRollset change rolls fails when in active carrier",
      "durationMs": 174,
      "result": "Success"
    },
    {
      "number": 65,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test UpsertRollset deactivate fails when in active carrier",
      "durationMs": 98,
      "result": "Success"
    },
    {
      "number": 66,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test UpsertRollset implicit deactivation fails when other in active carrier",
      "durationMs": 126,
      "result": "Success"
    },
    {
      "number": 67,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test UpsertRollset implicit deactivation succeeds when no carrier",
      "durationMs": 196,
      "result": "Success"
    },
    {
      "number": 68,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test UpsertRollset use roll from active carrier fails",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 69,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test UpsertUniversalRoll change arbor fails when in active carrier",
      "durationMs": 223,
      "result": "Success"
    },
    {
      "number": 70,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test UpsertUniversalRoll change arbor succeeds when carrier status E",
      "durationMs": 183,
      "result": "Success"
    },
    {
      "number": 71,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test UpsertUniversalRoll change arbor succeeds when no rollset",
      "durationMs": 204,
      "result": "Success"
    },
    {
      "number": 72,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test UpsertUniversalRoll change donut fails when in active carrier",
      "durationMs": 110,
      "result": "Success"
    },
    {
      "number": 73,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test UpsertUniversalRoll change donut in rollset deactivates rollset",
      "durationMs": 158,
      "result": "Success"
    },
    {
      "number": 74,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test UpsertUniversalRoll change donut succeeds when carrier status F",
      "durationMs": 203,
      "result": "Success"
    },
    {
      "number": 75,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test UpsertUniversalRoll change donut succeeds when no rollset",
      "durationMs": 183,
      "result": "Success"
    },
    {
      "number": 76,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test UpsertUniversalRoll remove arbor fails when in active carrier",
      "durationMs": 89,
      "result": "Success"
    },
    {
      "number": 77,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test UpsertUniversalRoll remove arbor succeeds when no rollset",
      "durationMs": 199,
      "result": "Success"
    },
    {
      "number": 78,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test UpsertUniversalRoll remove donut fails when in active carrier",
      "durationMs": 65,
      "result": "Success"
    },
    {
      "number": 79,
      "module": "M2_CarrierProtection_Tests",
      "testName": "test UpsertUniversalRoll remove donut succeeds when no rollset",
      "durationMs": 174,
      "result": "Success"
    },
    {
      "number": 80,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test Broken rollset alert includes roll names",
      "durationMs": 78,
      "result": "Success"
    },
    {
      "number": 81,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test Broken rollset alert uses past tense",
      "durationMs": 81,
      "result": "Success"
    },
    {
      "number": 82,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test Default diameter tolerance is zero",
      "durationMs": 90,
      "result": "Success"
    },
    {
      "number": 83,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test Diameter mismatch alert created when exceeds tolerance",
      "durationMs": 77,
      "result": "Success"
    },
    {
      "number": 84,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test Diameter mismatch alert has no mm unit",
      "durationMs": 102,
      "result": "Success"
    },
    {
      "number": 85,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test Diameter tolerance from catSettings",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 86,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test Disruption created when affected rollsets exist",
      "durationMs": 101,
      "result": "Success"
    },
    {
      "number": 87,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test Handles missing diameter data gracefully",
      "durationMs": 57,
      "result": "Success"
    },
    {
      "number": 88,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test Multiple affected rollsets create multiple alerts",
      "durationMs": 82,
      "result": "Success"
    },
    {
      "number": 89,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test Multiple alert types created in single disruption",
      "durationMs": 102,
      "result": "Success"
    },
    {
      "number": 90,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test No diameter alert when within tolerance",
      "durationMs": 57,
      "result": "Success"
    },
    {
      "number": 91,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test No disruption created when no conflicts exist",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 92,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test No orphans stored for Swap action",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 93,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test No position swap alert for Any position roll",
      "durationMs": 125,
      "result": "Success"
    },
    {
      "number": 94,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test No position swap alert when position matches",
      "durationMs": 65,
      "result": "Success"
    },
    {
      "number": 95,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test Orphaned rolls identified when breaking rollset",
      "durationMs": 98,
      "result": "Success"
    },
    {
      "number": 96,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test Orphans linked to correct RollsetBrokenAlert",
      "durationMs": 77,
      "result": "Success"
    },
    {
      "number": 97,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test Orphans stored for Create action",
      "durationMs": 105,
      "result": "Success"
    },
    {
      "number": 98,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test Orphans stored for Mix action",
      "durationMs": 65,
      "result": "Success"
    },
    {
      "number": 99,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test Position swap alert created for Bottom to Top",
      "durationMs": 86,
      "result": "Success"
    },
    {
      "number": 100,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test Position swap alert created for Top to Bottom",
      "durationMs": 85,
      "result": "Success"
    },
    {
      "number": 101,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test Position swap alert uses past tense",
      "durationMs": 85,
      "result": "Success"
    },
    {
      "number": 102,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test PrevRollsetId adds rollset to affected list",
      "durationMs": 77,
      "result": "Success"
    },
    {
      "number": 103,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test PrevRollsetId creates orphans from previous rollset",
      "durationMs": 82,
      "result": "Success"
    },
    {
      "number": 104,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test RollsetBrokenAlerts populated for affected rollsets",
      "durationMs": 89,
      "result": "Success"
    },
    {
      "number": 105,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test RollshopAlert always created even without alerts",
      "durationMs": 85,
      "result": "Success"
    },
    {
      "number": 106,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test RollshopAlert default StatusCode is P",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 107,
      "module": "M2_DetectRollsetDisruption_Tests",
      "testName": "test RollshopAlert has CreatedBy populated",
      "durationMs": 93,
      "result": "Success"
    },
    {
      "number": 108,
      "module": "M2_DisruptionTracking_Tests",
      "testName": "test AcknowledgeNotification: Error when already acknowledged",
      "durationMs": 73,
      "result": "Success"
    },
    {
      "number": 109,
      "module": "M2_DisruptionTracking_Tests",
      "testName": "test AcknowledgeNotification: Status changes from P to A",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 110,
      "module": "M2_DisruptionTracking_Tests",
      "testName": "test Detection: Diameter mismatch alert created when difference exceeds tolerance",
      "durationMs": 150,
      "result": "Success"
    },
    {
      "number": 111,
      "module": "M2_DisruptionTracking_Tests",
      "testName": "test Detection: Multiple affected rollsets identified",
      "durationMs": 170,
      "result": "Success"
    },
    {
      "number": 112,
      "module": "M2_DisruptionTracking_Tests",
      "testName": "test Detection: Multiple orphaned rolls identified",
      "durationMs": 196,
      "result": "Success"
    },
    {
      "number": 113,
      "module": "M2_DisruptionTracking_Tests",
      "testName": "test Detection: No diameter alert when within tolerance",
      "durationMs": 155,
      "result": "Success"
    },
    {
      "number": 114,
      "module": "M2_DisruptionTracking_Tests",
      "testName": "test Detection: Position swap alert created for Bottom to Top",
      "durationMs": 191,
      "result": "Success"
    },
    {
      "number": 115,
      "module": "M2_DisruptionTracking_Tests",
      "testName": "test Detection: Position swap alert created for Top to Bottom",
      "durationMs": 154,
      "result": "Success"
    },
    {
      "number": 116,
      "module": "M2_DisruptionTracking_Tests",
      "testName": "test Detection: Single affected rollset identified",
      "durationMs": 195,
      "result": "Success"
    },
    {
      "number": 117,
      "module": "M2_DisruptionTracking_Tests",
      "testName": "test Detection: Single orphaned roll identified",
      "durationMs": 178,
      "result": "Success"
    },
    {
      "number": 118,
      "module": "M2_DisruptionTracking_Tests",
      "testName": "test ErrorHandling: Rollset created even if detection fails",
      "durationMs": 142,
      "result": "Success"
    },
    {
      "number": 119,
      "module": "M2_DisruptionTracking_Tests",
      "testName": "test Integration: Multiple alert types in one disruption",
      "durationMs": 179,
      "result": "Success"
    },
    {
      "number": 120,
      "module": "M2_DisruptionTracking_Tests",
      "testName": "test UpsertRollset: ActionTypeCode C recorded correctly",
      "durationMs": 138,
      "result": "Success"
    },
    {
      "number": 121,
      "module": "M2_DisruptionTracking_Tests",
      "testName": "test UpsertRollset: ActionTypeCode M recorded correctly",
      "durationMs": 175,
      "result": "Success"
    },
    {
      "number": 122,
      "module": "M2_DisruptionTracking_Tests",
      "testName": "test UpsertRollset: ActionTypeCode S recorded correctly",
      "durationMs": 167,
      "result": "Success"
    },
    {
      "number": 123,
      "module": "M2_DisruptionTracking_Tests",
      "testName": "test UpsertRollset: Default ActionTypeCode is C",
      "durationMs": 126,
      "result": "Success"
    },
    {
      "number": 124,
      "module": "M2_DraftEvents_Tests",
      "testName": "test ConfirmEvents: Deletes Main events not in active Draft",
      "durationMs": 102,
      "result": "Success"
    },
    {
      "number": 125,
      "module": "M2_DraftEvents_Tests",
      "testName": "test ConfirmEvents: Error when ConfirmUntilEventId not found",
      "durationMs": 73,
      "result": "Success"
    },
    {
      "number": 126,
      "module": "M2_DraftEvents_Tests",
      "testName": "test ConfirmEvents: Inserts new Draft events to Main",
      "durationMs": 93,
      "result": "Success"
    },
    {
      "number": 127,
      "module": "M2_DraftEvents_Tests",
      "testName": "test ConfirmEvents: Partial confirmation with ConfirmUntilEventId",
      "durationMs": 65,
      "result": "Success"
    },
    {
      "number": 128,
      "module": "M2_DraftEvents_Tests",
      "testName": "test ConfirmEvents: Publishes Draft to Main",
      "durationMs": 57,
      "result": "Success"
    },
    {
      "number": 129,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent DeleteMode Both: Deletes from both tables",
      "durationMs": 49,
      "result": "Success"
    },
    {
      "number": 130,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent DeleteMode Both: Error when not found in Draft",
      "durationMs": 61,
      "result": "Success"
    },
    {
      "number": 131,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent DeleteMode Both: Error when not found in Main",
      "durationMs": 41,
      "result": "Success"
    },
    {
      "number": 132,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent DeleteMode Both: IsMatched in Draft prevents deletion",
      "durationMs": 28,
      "result": "Success"
    },
    {
      "number": 133,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent DeleteMode Both: IsMatched in Main prevents deletion",
      "durationMs": 37,
      "result": "Success"
    },
    {
      "number": 134,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent DeleteMode Default: Defaults to Main",
      "durationMs": 82,
      "result": "Success"
    },
    {
      "number": 135,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent DeleteMode Draft: Dilated event handling in Draft",
      "durationMs": 44,
      "result": "Success"
    },
    {
      "number": 136,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent DeleteMode Draft: Error when not found in Draft",
      "durationMs": 24,
      "result": "Success"
    },
    {
      "number": 137,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent DeleteMode Draft: IsMatched prevents deletion",
      "durationMs": 37,
      "result": "Success"
    },
    {
      "number": 138,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent DeleteMode Draft: Only deletes from Draft table",
      "durationMs": 49,
      "result": "Success"
    },
    {
      "number": 139,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent DeleteMode Invalid: Throws error for invalid mode",
      "durationMs": 28,
      "result": "Success"
    },
    {
      "number": 140,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent DeleteMode Main: Dilated event handling",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 141,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent DeleteMode Main: Error when not found in Main",
      "durationMs": 37,
      "result": "Success"
    },
    {
      "number": 142,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent DeleteMode Main: IsMatched prevents deletion",
      "durationMs": 45,
      "result": "Success"
    },
    {
      "number": 143,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent DeleteMode Main: Only deletes from Main table",
      "durationMs": 32,
      "result": "Success"
    },
    {
      "number": 144,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent: Both mode syncs delete to Draft",
      "durationMs": 61,
      "result": "Success"
    },
    {
      "number": 145,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent: Draft mode does not affect Main",
      "durationMs": 40,
      "result": "Success"
    },
    {
      "number": 146,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent: Error when EventId not found in Draft",
      "durationMs": 28,
      "result": "Success"
    },
    {
      "number": 147,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent: Error when EventId not found in Main",
      "durationMs": 25,
      "result": "Success"
    },
    {
      "number": 148,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent: Error when IsMatched = 1 in Draft mode",
      "durationMs": 28,
      "result": "Success"
    },
    {
      "number": 149,
      "module": "M2_DraftEvents_Tests",
      "testName": "test DeleteEvent: Error when IsMatched = 1",
      "durationMs": 32,
      "result": "Success"
    },
    {
      "number": 150,
      "module": "M2_DraftEvents_Tests",
      "testName": "test Edge: ConfirmEvents when already in sync",
      "durationMs": 49,
      "result": "Success"
    },
    {
      "number": 151,
      "module": "M2_DraftEvents_Tests",
      "testName": "test Edge: Multiple Production events sync correctly",
      "durationMs": 118,
      "result": "Success"
    },
    {
      "number": 152,
      "module": "M2_DraftEvents_Tests",
      "testName": "test Edge: ResetDraft with empty Main clears Draft",
      "durationMs": 37,
      "result": "Success"
    },
    {
      "number": 153,
      "module": "M2_DraftEvents_Tests",
      "testName": "test Isolation: Draft and Main can differ",
      "durationMs": 77,
      "result": "Success"
    },
    {
      "number": 154,
      "module": "M2_DraftEvents_Tests",
      "testName": "test Isolation: Draft changes do not affect Main",
      "durationMs": 33,
      "result": "Success"
    },
    {
      "number": 155,
      "module": "M2_DraftEvents_Tests",
      "testName": "test MergeToDraft: All production fields sync correctly",
      "durationMs": 106,
      "result": "Success"
    },
    {
      "number": 156,
      "module": "M2_DraftEvents_Tests",
      "testName": "test MergeToDraft: DELETE soft-deletes in Draft",
      "durationMs": 28,
      "result": "Success"
    },
    {
      "number": 157,
      "module": "M2_DraftEvents_Tests",
      "testName": "test MergeToDraft: Error when EventId not found",
      "durationMs": 20,
      "result": "Success"
    },
    {
      "number": 158,
      "module": "M2_DraftEvents_Tests",
      "testName": "test MergeToDraft: Fixed event copies Start/End exactly",
      "durationMs": 48,
      "result": "Success"
    },
    {
      "number": 159,
      "module": "M2_DraftEvents_Tests",
      "testName": "test MergeToDraft: New Fixed event creates in Draft with cascade",
      "durationMs": 37,
      "result": "Success"
    },
    {
      "number": 160,
      "module": "M2_DraftEvents_Tests",
      "testName": "test MergeToDraft: Reactivates inactive Draft event on Main update",
      "durationMs": 142,
      "result": "Success"
    },
    {
      "number": 161,
      "module": "M2_DraftEvents_Tests",
      "testName": "test ResetDraft: Deletes Draft-only events",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 162,
      "module": "M2_DraftEvents_Tests",
      "testName": "test ResetDraft: Inserts Main-only events to Draft",
      "durationMs": 90,
      "result": "Success"
    },
    {
      "number": 163,
      "module": "M2_DraftEvents_Tests",
      "testName": "test ResetDraft: Restores Draft from Main",
      "durationMs": 57,
      "result": "Success"
    },
    {
      "number": 164,
      "module": "M2_DraftEvents_Tests",
      "testName": "test Sync Scenario: Different ScheduledRollingHours in Main and Draft",
      "durationMs": 81,
      "result": "Success"
    },
    {
      "number": 165,
      "module": "M2_DraftEvents_Tests",
      "testName": "test Sync Scenario: Different Start times preserved until confirmed",
      "durationMs": 53,
      "result": "Success"
    },
    {
      "number": 166,
      "module": "M2_DraftEvents_Tests",
      "testName": "test Sync Scenario: Different StatusCode in Main and Draft",
      "durationMs": 122,
      "result": "Success"
    },
    {
      "number": 167,
      "module": "M2_DraftEvents_Tests",
      "testName": "test Sync Scenario: Event active in Main but inactive in Draft",
      "durationMs": 57,
      "result": "Success"
    },
    {
      "number": 168,
      "module": "M2_DraftEvents_Tests",
      "testName": "test Sync Scenario: Event exists only in Draft",
      "durationMs": 93,
      "result": "Success"
    },
    {
      "number": 169,
      "module": "M2_DraftEvents_Tests",
      "testName": "test Sync Scenario: Event exists only in Main",
      "durationMs": 73,
      "result": "Success"
    },
    {
      "number": 170,
      "module": "M2_DraftEvents_Tests",
      "testName": "test Sync Scenario: IsMatched in Main but not in Draft",
      "durationMs": 41,
      "result": "Success"
    },
    {
      "number": 171,
      "module": "M2_DraftEvents_Tests",
      "testName": "test Sync Scenario: MergeToDraft preserves Draft Start",
      "durationMs": 82,
      "result": "Success"
    },
    {
      "number": 172,
      "module": "M2_DraftEvents_Tests",
      "testName": "test SyncCampaigns: Creates event in both Main and Draft",
      "durationMs": 118,
      "result": "Success"
    },
    {
      "number": 173,
      "module": "M2_DraftEvents_Tests",
      "testName": "test SyncDelete: Delete Both then resync recreates both",
      "durationMs": 110,
      "result": "Success"
    },
    {
      "number": 174,
      "module": "M2_DraftEvents_Tests",
      "testName": "test SyncDelete: Delete Draft preserves Main state",
      "durationMs": 102,
      "result": "Success"
    },
    {
      "number": 175,
      "module": "M2_DraftEvents_Tests",
      "testName": "test SyncDelete: Delete Draft then resync restores Draft via MergeToDraft",
      "durationMs": 114,
      "result": "Success"
    },
    {
      "number": 176,
      "module": "M2_DraftEvents_Tests",
      "testName": "test SyncDelete: Delete Main preserves Draft state independently",
      "durationMs": 142,
      "result": "Success"
    },
    {
      "number": 177,
      "module": "M2_DraftEvents_Tests",
      "testName": "test SyncDelete: Delete Main then resync recreates Main",
      "durationMs": 179,
      "result": "Success"
    },
    {
      "number": 178,
      "module": "M2_DraftEvents_Tests",
      "testName": "test SyncDelete: IsMatched prevents delete in all modes",
      "durationMs": 102,
      "result": "Success"
    },
    {
      "number": 179,
      "module": "M2_DraftEvents_Tests",
      "testName": "test UpsertDraftEvent: Create Downtime in Draft",
      "durationMs": 48,
      "result": "Success"
    },
    {
      "number": 180,
      "module": "M2_DraftEvents_Tests",
      "testName": "test UpsertDraftEvent: Create Holiday only in Draft",
      "durationMs": 36,
      "result": "Success"
    },
    {
      "number": 181,
      "module": "M2_DraftEvents_Tests",
      "testName": "test UpsertDraftEvent: Create Maintenance in Draft",
      "durationMs": 36,
      "result": "Success"
    },
    {
      "number": 182,
      "module": "M2_DraftEvents_Tests",
      "testName": "test UpsertDraftEvent: Error when Start is NULL",
      "durationMs": 20,
      "result": "Success"
    },
    {
      "number": 183,
      "module": "M2_DraftEvents_Tests",
      "testName": "test UpsertDraftProductionEvent: Error when SectionId missing",
      "durationMs": 33,
      "result": "Success"
    },
    {
      "number": 184,
      "module": "M2_DraftEvents_Tests",
      "testName": "test UpsertDraftProductionEvent: IsMatched allows non-date changes",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 185,
      "module": "M2_DraftEvents_Tests",
      "testName": "test UpsertDraftProductionEvent: IsMatched prevents date changes",
      "durationMs": 70,
      "result": "Success"
    },
    {
      "number": 186,
      "module": "M2_DraftEvents_Tests",
      "testName": "test UpsertDraftProductionEvent: New event only in Draft not Main",
      "durationMs": 53,
      "result": "Success"
    },
    {
      "number": 187,
      "module": "M2_DraftEvents_Tests",
      "testName": "test UpsertDraftProductionEvent: Update only affects Draft not Main",
      "durationMs": 61,
      "result": "Success"
    },
    {
      "number": 188,
      "module": "M2_DraftEvents_Tests",
      "testName": "test UpsertProductionEvent: Anchor logic positions Draft event correctly",
      "durationMs": 353,
      "result": "Success"
    },
    {
      "number": 189,
      "module": "M2_DraftEvents_Tests",
      "testName": "test UpsertProductionEvent: IsMatched syncs to Draft",
      "durationMs": 56,
      "result": "Success"
    },
    {
      "number": 190,
      "module": "M2_DraftEvents_Tests",
      "testName": "test UpsertProductionEvent: New event creates in both Main and Draft",
      "durationMs": 126,
      "result": "Success"
    },
    {
      "number": 191,
      "module": "M2_DraftEvents_Tests",
      "testName": "test UpsertProductionEvent: No anchor uses Main Start for Draft",
      "durationMs": 77,
      "result": "Success"
    },
    {
      "number": 192,
      "module": "M2_DraftEvents_Tests",
      "testName": "test UpsertProductionEvent: ScheduledRollingHours change recalculates Draft End",
      "durationMs": 134,
      "result": "Success"
    },
    {
      "number": 193,
      "module": "M2_DraftEvents_Tests",
      "testName": "test UpsertProductionEvent: Update syncs fields to Draft but not Start",
      "durationMs": 94,
      "result": "Success"
    },
    {
      "number": 194,
      "module": "M2_EdgerRollPass_Tests",
      "testName": "test UpsertEdgerRollPass adds first pass with defaults",
      "durationMs": 25,
      "result": "Success"
    },
    {
      "number": 195,
      "module": "M2_EdgerRollPass_Tests",
      "testName": "test UpsertEdgerRollPass adds sequential passes up to 4",
      "durationMs": 36,
      "result": "Success"
    },
    {
      "number": 196,
      "module": "M2_EdgerRollPass_Tests",
      "testName": "test UpsertEdgerRollPass fails with inactive PartId",
      "durationMs": 45,
      "result": "Success"
    },
    {
      "number": 197,
      "module": "M2_EdgerRollPass_Tests",
      "testName": "test UpsertEdgerRollPass fails with invalid PassNumber",
      "durationMs": 21,
      "result": "Success"
    },
    {
      "number": 198,
      "module": "M2_EdgerRollPass_Tests",
      "testName": "test UpsertEdgerRollPass fails with invalid PassStatusCode",
      "durationMs": 20,
      "result": "Success"
    },
    {
      "number": 199,
      "module": "M2_EdgerRollPass_Tests",
      "testName": "test UpsertEdgerRollPass fails with non-EdgerRoll Part",
      "durationMs": 20,
      "result": "Success"
    },
    {
      "number": 200,
      "module": "M2_EdgerRollPass_Tests",
      "testName": "test UpsertEdgerRollPass fails with non-existent PartId",
      "durationMs": 48,
      "result": "Success"
    },
    {
      "number": 201,
      "module": "M2_EdgerRollPass_Tests",
      "testName": "test UpsertEdgerRollPass returns PassNumber on update",
      "durationMs": 24,
      "result": "Success"
    },
    {
      "number": 202,
      "module": "M2_EdgerRollPass_Tests",
      "testName": "test UpsertEdgerRollPass updates status to Damaged",
      "durationMs": 25,
      "result": "Success"
    },
    {
      "number": 203,
      "module": "M2_EdgerRollPass_Tests",
      "testName": "test UpsertEdgerRollPass updates status to Used",
      "durationMs": 24,
      "result": "Success"
    },
    {
      "number": 204,
      "module": "M2_EventErrorHandling_Tests",
      "testName": "test Cascade: Max cascade iterations throws descriptive error",
      "durationMs": 29,
      "result": "Success"
    },
    {
      "number": 205,
      "module": "M2_EventErrorHandling_Tests",
      "testName": "test Cascade: Max Fixed resolution iterations throws descriptive error",
      "durationMs": 20,
      "result": "Success"
    },
    {
      "number": 206,
      "module": "M2_EventErrorHandling_Tests",
      "testName": "test Compaction: Max iterations throws descriptive error",
      "durationMs": 24,
      "result": "Success"
    },
    {
      "number": 207,
      "module": "M2_EventErrorHandling_Tests",
      "testName": "test Defaults: PreProcessEvent uses fallback limit",
      "durationMs": 20,
      "result": "Success"
    },
    {
      "number": 208,
      "module": "M2_EventErrorHandling_Tests",
      "testName": "test ErrorMessage: Clean extraction removes technical context",
      "durationMs": 33,
      "result": "Success"
    },
    {
      "number": 209,
      "module": "M2_EventErrorHandling_Tests",
      "testName": "test ErrorMessage: Collision errors identify event types",
      "durationMs": 49,
      "result": "Success"
    },
    {
      "number": 210,
      "module": "M2_EventErrorHandling_Tests",
      "testName": "test PreProcess: Error message contains context information",
      "durationMs": 20,
      "result": "Success"
    },
    {
      "number": 211,
      "module": "M2_EventErrorHandling_Tests",
      "testName": "test PreProcess: Max iterations reached throws descriptive error",
      "durationMs": 21,
      "result": "Success"
    },
    {
      "number": 212,
      "module": "M2_EventErrorHandling_Tests",
      "testName": "test Transaction: UpsertEvent rollback on PreProcess error",
      "durationMs": 44,
      "result": "Success"
    },
    {
      "number": 213,
      "module": "M2_EventErrorHandling_Tests",
      "testName": "test Transaction: UpsertProductionEvent rollback on validation error",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 214,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Cascade: Long chain with intercalated Fixed",
      "durationMs": 117,
      "result": "Success"
    },
    {
      "number": 215,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Cascade: Stress test 10 consecutive events",
      "durationMs": 126,
      "result": "Success"
    },
    {
      "number": 216,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Compact: Blocked by Fixed event",
      "durationMs": 89,
      "result": "Success"
    },
    {
      "number": 217,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Compact: Complete gap closure",
      "durationMs": 105,
      "result": "Success"
    },
    {
      "number": 218,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Compact: Preserves dilation downstream",
      "durationMs": 106,
      "result": "Success"
    },
    {
      "number": 219,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Complex: BaseDuration preserved through complete cycle",
      "durationMs": 97,
      "result": "Success"
    },
    {
      "number": 220,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Complex: Complete production schedule with Fixed events",
      "durationMs": 130,
      "result": "Success"
    },
    {
      "number": 221,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Complex: Update triggers cascade and compaction",
      "durationMs": 106,
      "result": "Success"
    },
    {
      "number": 222,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Create: Production with minimal fields",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 223,
      "module": "M2_EventIntegration_Tests",
      "testName": "test EdgeCase: Production spans midnight",
      "durationMs": 93,
      "result": "Success"
    },
    {
      "number": 224,
      "module": "M2_EventIntegration_Tests",
      "testName": "test EdgeCase: Very long BaseDuration 24h",
      "durationMs": 65,
      "result": "Success"
    },
    {
      "number": 225,
      "module": "M2_EventIntegration_Tests",
      "testName": "test EdgeCase: Very short BaseDuration 5min",
      "durationMs": 65,
      "result": "Success"
    },
    {
      "number": 226,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Insert: Fixed between Productions cascades",
      "durationMs": 114,
      "result": "Success"
    },
    {
      "number": 227,
      "module": "M2_EventIntegration_Tests",
      "testName": "test PreProcess: Multiple consecutive Fixed events MOVE",
      "durationMs": 81,
      "result": "Success"
    },
    {
      "number": 228,
      "module": "M2_EventIntegration_Tests",
      "testName": "test PreProcess: Overlapping Fixed events smart dilation",
      "durationMs": 110,
      "result": "Success"
    },
    {
      "number": 229,
      "module": "M2_EventIntegration_Tests",
      "testName": "test PreProcess: Production vs Production MOVE",
      "durationMs": 81,
      "result": "Success"
    },
    {
      "number": 230,
      "module": "M2_EventIntegration_Tests",
      "testName": "test STEP4: Shrinking Fixed readjusts dilated Production",
      "durationMs": 110,
      "result": "Success"
    },
    {
      "number": 231,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Update: Change Production SectionId",
      "durationMs": 78,
      "result": "Success"
    },
    {
      "number": 232,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Update: Moving Fixed triggers cascade",
      "durationMs": 93,
      "result": "Success"
    },
    {
      "number": 233,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Update: Multiple modifications preserve BaseDuration",
      "durationMs": 110,
      "result": "Success"
    },
    {
      "number": 234,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Update: Multiple Production fields batch",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 235,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Update: Start moves into collision zone",
      "durationMs": 118,
      "result": "Success"
    },
    {
      "number": 236,
      "module": "M2_EventIntegration_Tests",
      "testName": "test UpsertEvent: Create compatible Downtime and Maintenance",
      "durationMs": 61,
      "result": "Success"
    },
    {
      "number": 237,
      "module": "M2_EventIntegration_Tests",
      "testName": "test UpsertEvent: Update Fixed event adjusts affected Production",
      "durationMs": 163,
      "result": "Success"
    },
    {
      "number": 238,
      "module": "M2_EventIntegration_Tests",
      "testName": "test UpsertProductionEvent: Auto-moves after Holiday",
      "durationMs": 73,
      "result": "Success"
    },
    {
      "number": 239,
      "module": "M2_EventIntegration_Tests",
      "testName": "test UpsertProductionEvent: Create with all fields populated",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 240,
      "module": "M2_EventIntegration_Tests",
      "testName": "test UpsertProductionEvent: Dilates around Downtime",
      "durationMs": 90,
      "result": "Success"
    },
    {
      "number": 241,
      "module": "M2_EventIntegration_Tests",
      "testName": "test UpsertProductionEvent: Update preserves BaseDuration",
      "durationMs": 77,
      "result": "Success"
    },
    {
      "number": 242,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Validation: Downtime vs Downtime collision error",
      "durationMs": 49,
      "result": "Success"
    },
    {
      "number": 243,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Validation: Downtime vs Holiday collision error",
      "durationMs": 49,
      "result": "Success"
    },
    {
      "number": 244,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Validation: End before Start throws error",
      "durationMs": 28,
      "result": "Success"
    },
    {
      "number": 245,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Validation: Holiday vs Holiday collision error",
      "durationMs": 49,
      "result": "Success"
    },
    {
      "number": 246,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Validation: Invalid EventTypeCode error",
      "durationMs": 40,
      "result": "Success"
    },
    {
      "number": 247,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Validation: Invalid SectionId throws error",
      "durationMs": 17,
      "result": "Success"
    },
    {
      "number": 248,
      "module": "M2_EventIntegration_Tests",
      "testName": "test Workflow: StatusCode P to I to C progression",
      "durationMs": 106,
      "result": "Success"
    },
    {
      "number": 249,
      "module": "M2_PassCampaigns_Tests",
      "testName": "test GetPassCampaignData fails with invalid time range",
      "durationMs": 40,
      "result": "Success"
    },
    {
      "number": 250,
      "module": "M2_PassCampaigns_Tests",
      "testName": "test GetPassCampaignData fails without EdgerRollPartId",
      "durationMs": 65,
      "result": "Success"
    },
    {
      "number": 251,
      "module": "M2_PassCampaigns_Tests",
      "testName": "test GetPassCampaignData filters by PassNumber",
      "durationMs": 57,
      "result": "Success"
    },
    {
      "number": 252,
      "module": "M2_PassCampaigns_Tests",
      "testName": "test GetPassCampaignData returns calculated totals",
      "durationMs": 73,
      "result": "Success"
    },
    {
      "number": 253,
      "module": "M2_PassCampaigns_Tests",
      "testName": "test GetPassCampaignData returns data for EdgerRoll",
      "durationMs": 81,
      "result": "Success"
    },
    {
      "number": 254,
      "module": "M2_PassCampaigns_Tests",
      "testName": "test UpdatePassCampaignOffsets fails with deleted pass",
      "durationMs": 49,
      "result": "Success"
    },
    {
      "number": 255,
      "module": "M2_PassCampaigns_Tests",
      "testName": "test UpdatePassCampaignOffsets fails with non-existent id",
      "durationMs": 49,
      "result": "Success"
    },
    {
      "number": 256,
      "module": "M2_PassCampaigns_Tests",
      "testName": "test UpdatePassCampaignOffsets fails without any offset",
      "durationMs": 45,
      "result": "Success"
    },
    {
      "number": 257,
      "module": "M2_PassCampaigns_Tests",
      "testName": "test UpdatePassCampaignOffsets fails without id",
      "durationMs": 40,
      "result": "Success"
    },
    {
      "number": 258,
      "module": "M2_PassCampaigns_Tests",
      "testName": "test UpdatePassCampaignOffsets returns correct id",
      "durationMs": 102,
      "result": "Success"
    },
    {
      "number": 259,
      "module": "M2_PassCampaigns_Tests",
      "testName": "test UpdatePassCampaignOffsets updates multiple offsets",
      "durationMs": 102,
      "result": "Success"
    },
    {
      "number": 260,
      "module": "M2_PassCampaigns_Tests",
      "testName": "test UpdatePassCampaignOffsets updates OffsetBillets",
      "durationMs": 90,
      "result": "Success"
    },
    {
      "number": 261,
      "module": "M2_PassCampaigns_Tests",
      "testName": "test UpdatePassCampaignOffsets updates OffsetLength",
      "durationMs": 97,
      "result": "Success"
    },
    {
      "number": 262,
      "module": "M2_PassCampaigns_Tests",
      "testName": "test UpdatePassCampaignOffsets updates OffsetWeight",
      "durationMs": 93,
      "result": "Success"
    },
    {
      "number": 263,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Cascade: Five event cascade chain",
      "durationMs": 49,
      "result": "Success"
    },
    {
      "number": 264,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Cascade: Last event collides with Fixed",
      "durationMs": 53,
      "result": "Success"
    },
    {
      "number": 265,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Cascade: Middle event already dilated",
      "durationMs": 36,
      "result": "Success"
    },
    {
      "number": 266,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Cascade: Moving Production pushes subsequent Production events",
      "durationMs": 32,
      "result": "Success"
    },
    {
      "number": 267,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Cascade: Production cascade blocked by Fixed wall",
      "durationMs": 44,
      "result": "Success"
    },
    {
      "number": 268,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Cascade: Production pushes another Production around Fixed event",
      "durationMs": 61,
      "result": "Success"
    },
    {
      "number": 269,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Cascade: Productions with large gaps between them",
      "durationMs": 65,
      "result": "Success"
    },
    {
      "number": 270,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Complex: Production DILATE then CASCADE another dilated Production",
      "durationMs": 45,
      "result": "Success"
    },
    {
      "number": 271,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Complex: Production DILATE through overlapping Downtime and Maintenance",
      "durationMs": 28,
      "result": "Success"
    },
    {
      "number": 272,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test D1: Downtime vs Downtime throws error",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 273,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test D1: Downtime vs Holiday partial overlap throws error",
      "durationMs": 16,
      "result": "Success"
    },
    {
      "number": 274,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test D3: Downtime vs Maintenance is compatible",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 275,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Edge: Event with minimum duration one minute",
      "durationMs": 17,
      "result": "Success"
    },
    {
      "number": 276,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Edge: Event with very long duration spans days",
      "durationMs": 13,
      "result": "Success"
    },
    {
      "number": 277,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Edge: Multiple events same start different durations",
      "durationMs": 20,
      "result": "Success"
    },
    {
      "number": 278,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Edge: Production ending exactly at Fixed start has no collision",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 279,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Edge: Production one second after Fixed has no collision",
      "durationMs": 16,
      "result": "Success"
    },
    {
      "number": 280,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Edge: Production one second before Fixed has no collision",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 281,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Edge: Production with no collisions remains unchanged",
      "durationMs": 13,
      "result": "Success"
    },
    {
      "number": 282,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test H1: Holiday completely containing another Holiday throws error",
      "durationMs": 32,
      "result": "Success"
    },
    {
      "number": 283,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test H1: Holiday overlap at end throws error",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 284,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test H1: Holiday overlap at start throws error",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 285,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test H1: Holiday vs Downtime throws error",
      "durationMs": 17,
      "result": "Success"
    },
    {
      "number": 286,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test H1: Holiday vs Holiday throws error",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 287,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test H2: Holiday vs Maintenance throws error",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 288,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test M1: Maintenance vs Downtime is compatible",
      "durationMs": 44,
      "result": "Success"
    },
    {
      "number": 289,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test M1: Maintenance vs Maintenance is compatible",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 290,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test M2: Maintenance vs Holiday throws error",
      "durationMs": 49,
      "result": "Success"
    },
    {
      "number": 291,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test O1: Multiple Other events can overlap",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 292,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test O1: Other does not collide with Holiday",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 293,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test O1: Other does not collide with Production",
      "durationMs": 17,
      "result": "Success"
    },
    {
      "number": 294,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test O1: Production not affected by Other event",
      "durationMs": 8,
      "result": "Success"
    },
    {
      "number": 295,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P1: Multiple Productions overlapping simultaneously",
      "durationMs": 16,
      "result": "Success"
    },
    {
      "number": 296,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P1: Production completely contained moves after",
      "durationMs": 16,
      "result": "Success"
    },
    {
      "number": 297,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P1: Production containing existing moves after",
      "durationMs": 9,
      "result": "Success"
    },
    {
      "number": 298,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P1: Production moves after existing Production when S < NS",
      "durationMs": 41,
      "result": "Success"
    },
    {
      "number": 299,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P1: Production with same start time moves after existing",
      "durationMs": 16,
      "result": "Success"
    },
    {
      "number": 300,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P2: Production completely inside Fixed MOVES after",
      "durationMs": 24,
      "result": "Success"
    },
    {
      "number": 301,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P2: Production DILATE around Fixed when NS < S",
      "durationMs": 20,
      "result": "Success"
    },
    {
      "number": 302,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P2: Production DILATE through contiguous Fixed events",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 303,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P2: Production DILATE through Fixed events with variable gaps",
      "durationMs": 16,
      "result": "Success"
    },
    {
      "number": 304,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P2: Production DILATE through four consecutive Fixed events",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 305,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P2: Production DILATE through mixed Fixed event types",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 306,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P2: Production DILATE through multiple Holidays",
      "durationMs": 13,
      "result": "Success"
    },
    {
      "number": 307,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P2: Production DILATE through overlapping Fixed events without double counting",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 308,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P2: Production DILATE through three Fixed events with gaps",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 309,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P2: Production DILATE with Fixed ending at exact original P_End",
      "durationMs": 13,
      "result": "Success"
    },
    {
      "number": 310,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P2: Production MOVE after Fixed when S <= NS",
      "durationMs": 29,
      "result": "Success"
    },
    {
      "number": 311,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P2: Production MOVE then DILATE in sequence",
      "durationMs": 37,
      "result": "Success"
    },
    {
      "number": 312,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P2: Production starting at Fixed end has no collision",
      "durationMs": 16,
      "result": "Success"
    },
    {
      "number": 313,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P2: Production with Fixed starting at exact P_Start MOVES",
      "durationMs": 13,
      "result": "Success"
    },
    {
      "number": 314,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test P2: Short Production DILATE through long Fixed event",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 315,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Stress: High density Fixed events 12 in 2 hours",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 316,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Stress: Multi-day Production through multiple Fixed events",
      "durationMs": 25,
      "result": "Success"
    },
    {
      "number": 317,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Update: Event excludes itself from collision detection",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 318,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Update: Event in middle of dilated chain",
      "durationMs": 16,
      "result": "Success"
    },
    {
      "number": 319,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Update: Fixed event moved away from collision",
      "durationMs": 12,
      "result": "Success"
    },
    {
      "number": 320,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Update: Production BaseDuration increased significantly",
      "durationMs": 17,
      "result": "Success"
    },
    {
      "number": 321,
      "module": "M2_ResolveEventCollisions_Tests",
      "testName": "test Update: Production BaseDuration reduced significantly",
      "durationMs": 17,
      "result": "Success"
    },
    {
      "number": 322,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Basic: 2-event compaction moves P2 backward",
      "durationMs": 40,
      "result": "Success"
    },
    {
      "number": 323,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Basic: 3-event compaction cascades through all events",
      "durationMs": 36,
      "result": "Success"
    },
    {
      "number": 324,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Basic: Partial gap elimination completes gracefully",
      "durationMs": 25,
      "result": "Success"
    },
    {
      "number": 325,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Edge: Final event encounters Fixed during compaction",
      "durationMs": 48,
      "result": "Success"
    },
    {
      "number": 326,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Edge: Gap fully eliminated creates contiguous events",
      "durationMs": 25,
      "result": "Success"
    },
    {
      "number": 327,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Edge: No compaction when event not shortened",
      "durationMs": 21,
      "result": "Success"
    },
    {
      "number": 328,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Edge: No subsequent events completes immediately",
      "durationMs": 21,
      "result": "Success"
    },
    {
      "number": 329,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Fixed: Compaction DILATE around Fixed event",
      "durationMs": 33,
      "result": "Success"
    },
    {
      "number": 330,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Fixed: Compaction MOVE after Fixed event",
      "durationMs": 57,
      "result": "Success"
    },
    {
      "number": 331,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Fixed: Compaction MOVE then DILATE sequence",
      "durationMs": 41,
      "result": "Success"
    },
    {
      "number": 332,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Fixed: Compaction stops when Fixed blocks entire remaining gap",
      "durationMs": 44,
      "result": "Success"
    },
    {
      "number": 333,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Fixed: Compaction through mixed Fixed event types",
      "durationMs": 21,
      "result": "Success"
    },
    {
      "number": 334,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Fixed: Compaction through multiple consecutive Fixed events",
      "durationMs": 24,
      "result": "Success"
    },
    {
      "number": 335,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Fixed: Compaction through overlapping Fixed events without double counting",
      "durationMs": 49,
      "result": "Success"
    },
    {
      "number": 336,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Fixed: Fixed event at exact gap boundary causes MOVE",
      "durationMs": 41,
      "result": "Success"
    },
    {
      "number": 337,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Gap: Middle event shortening compacts subsequent events",
      "durationMs": 36,
      "result": "Success"
    },
    {
      "number": 338,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Gap: Variable gaps between events compact correctly",
      "durationMs": 45,
      "result": "Success"
    },
    {
      "number": 339,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Gap: Very large gap 5 hours compacts correctly",
      "durationMs": 28,
      "result": "Success"
    },
    {
      "number": 340,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Gap: Very small gap 3 minutes compacts correctly",
      "durationMs": 24,
      "result": "Success"
    },
    {
      "number": 341,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Integration: CompactSchedule disabled skips compaction",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 342,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Integration: UpsertEvent skips compaction with blocking events",
      "durationMs": 52,
      "result": "Success"
    },
    {
      "number": 343,
      "module": "M2_ScheduleCompaction_Tests",
      "testName": "test Integration: UpsertEvent triggers compaction on shortening",
      "durationMs": 41,
      "result": "Success"
    },
    {
      "number": 344,
      "module": "M2_SwapRollsetsRolls_Tests",
      "testName": "test Error: BottomRollId1 is required",
      "durationMs": 28,
      "result": "Success"
    },
    {
      "number": 345,
      "module": "M2_SwapRollsetsRolls_Tests",
      "testName": "test Error: BottomRollId2 does not exist in Rolls table",
      "durationMs": 29,
      "result": "Success"
    },
    {
      "number": 346,
      "module": "M2_SwapRollsetsRolls_Tests",
      "testName": "test Error: BottomRollId2 required when RollsetId2 provided",
      "durationMs": 29,
      "result": "Success"
    },
    {
      "number": 347,
      "module": "M2_SwapRollsetsRolls_Tests",
      "testName": "test Error: Cannot swap rollsets in different sections",
      "durationMs": 36,
      "result": "Success"
    },
    {
      "number": 348,
      "module": "M2_SwapRollsetsRolls_Tests",
      "testName": "test Error: Cannot swap rollsets in different stands",
      "durationMs": 73,
      "result": "Success"
    },
    {
      "number": 349,
      "module": "M2_SwapRollsetsRolls_Tests",
      "testName": "test Error: Rollset1 must have both rolls assigned",
      "durationMs": 48,
      "result": "Success"
    },
    {
      "number": 350,
      "module": "M2_SwapRollsetsRolls_Tests",
      "testName": "test Error: RollsetId1 and RollsetId2 must be different",
      "durationMs": 44,
      "result": "Success"
    },
    {
      "number": 351,
      "module": "M2_SwapRollsetsRolls_Tests",
      "testName": "test Error: RollsetId1 does not exist",
      "durationMs": 28,
      "result": "Success"
    },
    {
      "number": 352,
      "module": "M2_SwapRollsetsRolls_Tests",
      "testName": "test Error: RollsetId1 is required",
      "durationMs": 29,
      "result": "Success"
    },
    {
      "number": 353,
      "module": "M2_SwapRollsetsRolls_Tests",
      "testName": "test Error: RollsetId2 does not exist",
      "durationMs": 32,
      "result": "Success"
    },
    {
      "number": 354,
      "module": "M2_SwapRollsetsRolls_Tests",
      "testName": "test Error: TopRollId1 does not exist in Rolls table",
      "durationMs": 77,
      "result": "Success"
    },
    {
      "number": 355,
      "module": "M2_SwapRollsetsRolls_Tests",
      "testName": "test Error: TopRollId1 is required",
      "durationMs": 28,
      "result": "Success"
    },
    {
      "number": 356,
      "module": "M2_SwapRollsetsRolls_Tests",
      "testName": "test Error: TopRollId2 required when RollsetId2 provided",
      "durationMs": 44,
      "result": "Success"
    },
    {
      "number": 357,
      "module": "M2_SwapRollsetsRolls_Tests",
      "testName": "test Success: Create new rollset with specified rolls",
      "durationMs": 102,
      "result": "Success"
    },
    {
      "number": 358,
      "module": "M2_SwapRollsetsRolls_Tests",
      "testName": "test Success: Swap rolls between two rollsets",
      "durationMs": 171,
      "result": "Success"
    },
    {
      "number": 359,
      "module": "M2_SwapRollsetsRolls_Tests",
      "testName": "test Success: Use any valid rolls",
      "durationMs": 114,
      "result": "Success"
    },
    {
      "number": 360,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test CASCADE: Chain stops at matched barrier",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 361,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test CASCADE: Matched events are immovable barriers",
      "durationMs": 45,
      "result": "Success"
    },
    {
      "number": 362,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test CASCADE: Updating IsMatched prevents future cascade",
      "durationMs": 94,
      "result": "Success"
    },
    {
      "number": 363,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test COMPLEX: Multiple section changes create multiple events",
      "durationMs": 73,
      "result": "Success"
    },
    {
      "number": 364,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test COMPLEX: ResolveEventCascade called for each group",
      "durationMs": 57,
      "result": "Success"
    },
    {
      "number": 365,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test COMPLEX: StatusCode K preserved when updating",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 366,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test EDGE CASE: Date filters work correctly",
      "durationMs": 65,
      "result": "Success"
    },
    {
      "number": 367,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test EDGE CASE: Empty campaigns table produces no events",
      "durationMs": 32,
      "result": "Success"
    },
    {
      "number": 368,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test EDGE CASE: No campaigns returns gracefully",
      "durationMs": 37,
      "result": "Success"
    },
    {
      "number": 369,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test FIXED: Dilates unmatched but not matched",
      "durationMs": 48,
      "result": "Success"
    },
    {
      "number": 370,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test FIXED: Does not dilate matched events",
      "durationMs": 45,
      "result": "Success"
    },
    {
      "number": 371,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test GROUPING: Consecutive campaigns same section create single event",
      "durationMs": 61,
      "result": "Success"
    },
    {
      "number": 372,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test GROUPING: Section change creates separate events",
      "durationMs": 73,
      "result": "Success"
    },
    {
      "number": 373,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test GROUPING: Single campaign creates single event",
      "durationMs": 56,
      "result": "Success"
    },
    {
      "number": 374,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test ISMATCHED: Last group updates status P to I when matched",
      "durationMs": 86,
      "result": "Success"
    },
    {
      "number": 375,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test ISMATCHED: Matched event updated with IsMatched = 1",
      "durationMs": 70,
      "result": "Success"
    },
    {
      "number": 376,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test ISMATCHED: New event created with IsMatched = 1",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 377,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test ISMATCHED: Prevents duplicate events on resync",
      "durationMs": 109,
      "result": "Success"
    },
    {
      "number": 378,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test ISMATCHED: Unmatched future event matched in next run",
      "durationMs": 73,
      "result": "Success"
    },
    {
      "number": 379,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test LINKING: All campaigns in group linked to same event",
      "durationMs": 61,
      "result": "Success"
    },
    {
      "number": 380,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test LINKING: EventId preserved for already-linked campaigns",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 381,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test MATCHING: Closest match selected when multiple exist",
      "durationMs": 110,
      "result": "Success"
    },
    {
      "number": 382,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test MATCHING: Event expands with campaigns",
      "durationMs": 56,
      "result": "Success"
    },
    {
      "number": 383,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test MATCHING: Event times adjust to campaigns",
      "durationMs": 61,
      "result": "Success"
    },
    {
      "number": 384,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test MATCHING: Exact temporal overlap matches event",
      "durationMs": 86,
      "result": "Success"
    },
    {
      "number": 385,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test MATCHING: Fallback respects section",
      "durationMs": 65,
      "result": "Success"
    },
    {
      "number": 386,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test MATCHING: Fallback to next unmatched same section",
      "durationMs": 101,
      "result": "Success"
    },
    {
      "number": 387,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test MATCHING: Inactive events not matched",
      "durationMs": 57,
      "result": "Success"
    },
    {
      "number": 388,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test MATCHING: New event created when no match found",
      "durationMs": 110,
      "result": "Success"
    },
    {
      "number": 389,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test MATCHING: Proximity window 48h enforced",
      "durationMs": 61,
      "result": "Success"
    },
    {
      "number": 390,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test MATCHING: Proximity window matches close event",
      "durationMs": 114,
      "result": "Success"
    },
    {
      "number": 391,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test SMART START: First sync detects production run start",
      "durationMs": 102,
      "result": "Success"
    },
    {
      "number": 392,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test SMART START: Mixed matched and unmatched timeline",
      "durationMs": 61,
      "result": "Success"
    },
    {
      "number": 393,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test SMART START: Second sync continues from last matched event",
      "durationMs": 94,
      "result": "Success"
    },
    {
      "number": 394,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test TIMESTAMPS: Continuity maintained between groups",
      "durationMs": 126,
      "result": "Success"
    },
    {
      "number": 395,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test TIMESTAMPS: FirstBilletTimestamp is first campaign start",
      "durationMs": 93,
      "result": "Success"
    },
    {
      "number": 396,
      "module": "M2_SyncCampaignsToProductionEvents_Tests",
      "testName": "test TIMESTAMPS: TrackedEnd is last campaign end",
      "durationMs": 93,
      "result": "Success"
    },
    {
      "number": 397,
      "module": "M2_TensileRequirements_Tests",
      "testName": "test Disposition fails if any retest sample fails",
      "durationMs": 37,
      "result": "Success"
    },
    {
      "number": 398,
      "module": "M2_TensileRequirements_Tests",
      "testName": "test Disposition returns P when all samples pass",
      "durationMs": 37,
      "result": "Success"
    },
    {
      "number": 399,
      "module": "M2_TensileRequirements_Tests",
      "testName": "test Disposition returns U when any sample fails",
      "durationMs": 40,
      "result": "Success"
    },
    {
      "number": 400,
      "module": "M2_TensileRequirements_Tests",
      "testName": "test Disposition returns U when one of multiple samples fails",
      "durationMs": 45,
      "result": "Success"
    },
    {
      "number": 401,
      "module": "M2_TensileRequirements_Tests",
      "testName": "test Disposition uses latest sequence only - retest supersedes",
      "durationMs": 33,
      "result": "Success"
    },
    {
      "number": 402,
      "module": "M2_TensileRequirements_Tests",
      "testName": "test Disposition uses version effective at report time",
      "durationMs": 48,
      "result": "Success"
    },
    {
      "number": 403,
      "module": "M2_TensileRequirements_Tests",
      "testName": "test UpsertTensileRequirements creates new version",
      "durationMs": 37,
      "result": "Success"
    },
    {
      "number": 404,
      "module": "M2_TensileRequirements_Tests",
      "testName": "test UpsertTensileRequirements throws error when EffectiveDate is NULL",
      "durationMs": 28,
      "result": "Success"
    },
    {
      "number": 405,
      "module": "M2_TensileRequirements_Tests",
      "testName": "test UpsertTensileRequirements throws error when Rev is NULL",
      "durationMs": 53,
      "result": "Success"
    },
    {
      "number": 406,
      "module": "M2_TensileRequirements_Tests",
      "testName": "test UpsertTensileRequirements throws error when Rows is invalid JSON",
      "durationMs": 21,
      "result": "Success"
    },
    {
      "number": 407,
      "module": "M2_TensileRequirements_Tests",
      "testName": "test YieldPassed returns 0 when value above max",
      "durationMs": 40,
      "result": "Success"
    },
    {
      "number": 408,
      "module": "M2_TensileRequirements_Tests",
      "testName": "test YieldPassed returns 0 when value below min",
      "durationMs": 28,
      "result": "Success"
    },
    {
      "number": 409,
      "module": "M2_TensileRequirements_Tests",
      "testName": "test YieldPassed returns 1 when value in range",
      "durationMs": 69,
      "result": "Success"
    },
    {
      "number": 410,
      "module": "M2_TrackPassCampaignsJob_Tests",
      "testName": "test TrackPassCampaignsJob calculates cumulative start values",
      "durationMs": 98,
      "result": "Success"
    },
    {
      "number": 411,
      "module": "M2_TrackPassCampaignsJob_Tests",
      "testName": "test TrackPassCampaignsJob calculates metrics from billets",
      "durationMs": 98,
      "result": "Success"
    },
    {
      "number": 412,
      "module": "M2_TrackPassCampaignsJob_Tests",
      "testName": "test TrackPassCampaignsJob creates new campaign",
      "durationMs": 98,
      "result": "Success"
    },
    {
      "number": 413,
      "module": "M2_TrackPassCampaignsJob_Tests",
      "testName": "test TrackPassCampaignsJob only counts billets in time range",
      "durationMs": 90,
      "result": "Success"
    },
    {
      "number": 414,
      "module": "M2_TrackPassCampaignsJob_Tests",
      "testName": "test TrackPassCampaignsJob preserves offset values",
      "durationMs": 73,
      "result": "Success"
    },
    {
      "number": 415,
      "module": "M2_TrackPassCampaignsJob_Tests",
      "testName": "test TrackPassCampaignsJob skips deleted carriers",
      "durationMs": 114,
      "result": "Success"
    },
    {
      "number": 416,
      "module": "M2_TrackPassCampaignsJob_Tests",
      "testName": "test TrackPassCampaignsJob skips inactive passes",
      "durationMs": 73,
      "result": "Success"
    },
    {
      "number": 417,
      "module": "M2_TrackPassCampaignsJob_Tests",
      "testName": "test TrackPassCampaignsJob updates existing campaign",
      "durationMs": 69,
      "result": "Success"
    }
  ]
}