{
  "scenarios": [
    {
      "name": "AI prompts for virtual hooks at end of specifying phase",
      "testMappings": [
        {
          "file": "src/commands/__tests__/virtual-hook-commands.test.ts",
          "lines": "56-68",
          "implMappings": [
            {
              "file": "src/index.ts",
              "lines": [
                177,
                178,
                179,
                180,
                181
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "Blocking virtual hook prevents workflow transition until fixed",
      "testMappings": [
        {
          "file": "src/hooks/__tests__/virtual-hook-execution.test.ts",
          "lines": "23-54",
          "implMappings": [
            {
              "file": "src/hooks/integration.ts",
              "lines": [
                87,
                88,
                89,
                90,
                91,
                92,
                93,
                94,
                95,
                96
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "Convert successful virtual hook to permanent global hook",
      "testMappings": [
        {
          "file": "src/commands/__tests__/virtual-hook-commands.test.ts",
          "lines": "389-401",
          "implMappings": [
            {
              "file": "src/commands/add-hook.ts",
              "lines": [
                18,
                19,
                20,
                21,
                22,
                23,
                24,
                25,
                26,
                27,
                28,
                29,
                30,
                31,
                32,
                33,
                34,
                35,
                36,
                37,
                38,
                39,
                40,
                41,
                42,
                43,
                44,
                45,
                46,
                47,
                48,
                49,
                50,
                51,
                52,
                53,
                54,
                55,
                56,
                57,
                58,
                59,
                60,
                61,
                62,
                63,
                64,
                65,
                66,
                67,
                68,
                69,
                70,
                71,
                72,
                73,
                74,
                75,
                76,
                77,
                78,
                79,
                80
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "Clean up virtual hooks when work unit reaches done status",
      "testMappings": [
        {
          "file": "src/commands/__tests__/virtual-hook-commands.test.ts",
          "lines": "403-457",
          "implMappings": [
            {
              "file": "src/commands/clear-virtual-hooks.ts",
              "lines": [
                18,
                19,
                20,
                21,
                22,
                23,
                24,
                25,
                26,
                27,
                28,
                29,
                30,
                31,
                32,
                33,
                34,
                35,
                36,
                37,
                38,
                39,
                40,
                41,
                42,
                43,
                44,
                45,
                46,
                47,
                48,
                49,
                50
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "Copy virtual hooks from one work unit to another",
      "testMappings": [
        {
          "file": "src/commands/__tests__/virtual-hook-commands.test.ts",
          "lines": "234-297",
          "implMappings": [
            {
              "file": "src/commands/copy-virtual-hooks.ts",
              "lines": [
                20,
                21,
                22,
                23,
                24,
                25,
                26,
                27,
                28,
                29,
                30,
                31,
                32,
                33,
                34,
                35,
                36,
                37,
                38,
                39,
                40,
                41,
                42,
                43,
                44,
                45,
                46,
                47,
                48,
                49,
                50,
                51,
                52,
                53,
                54,
                55,
                56,
                57,
                58,
                59,
                60,
                61,
                62,
                63,
                64,
                65,
                66,
                67,
                68,
                69,
                70,
                71,
                72,
                73,
                74,
                75,
                76,
                77,
                78,
                79,
                80,
                81,
                82,
                83,
                84,
                85,
                86,
                87,
                88
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "Handle virtual hook execution failure gracefully",
      "testMappings": [
        {
          "file": "src/hooks/__tests__/virtual-hook-execution.test.ts",
          "lines": "119-147",
          "implMappings": [
            {
              "file": "src/hooks/integration.ts",
              "lines": [
                142,
                143,
                144,
                145,
                146,
                147,
                148,
                149,
                150,
                151
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "Display virtual hooks in work unit details",
      "testMappings": [
        {
          "file": "src/hooks/__tests__/virtual-hook-execution.test.ts",
          "lines": "183-230",
          "implMappings": [
            {
              "file": "src/commands/show-work-unit.ts",
              "lines": [
                324,
                325,
                326,
                327,
                328,
                329,
                330,
                331,
                332,
                333,
                334,
                335,
                336,
                337,
                338,
                339,
                340,
                341,
                342,
                343,
                344,
                345,
                346,
                347,
                348
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "Create virtual hook with git context for changed files only",
      "testMappings": [
        {
          "file": "src/hooks/__tests__/virtual-hook-execution.test.ts",
          "lines": "150-180",
          "implMappings": [
            {
              "file": "src/commands/add-virtual-hook.ts",
              "lines": [
                22,
                23,
                24,
                25,
                26,
                27,
                28,
                29,
                30,
                31,
                32,
                33,
                34,
                35,
                36,
                37,
                38,
                39,
                40,
                41,
                42,
                43,
                44,
                45,
                46,
                47,
                48,
                49,
                50,
                51,
                52,
                53,
                54,
                55,
                56,
                57,
                58,
                59,
                60,
                61,
                62,
                63,
                64,
                65,
                66,
                67,
                68,
                69,
                70,
                71,
                72,
                73,
                74,
                75,
                76,
                77,
                78,
                79,
                80,
                81,
                82
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "Detect shell commands vs script paths correctly",
      "testMappings": [
        {
          "file": "src/hooks/__tests__/command-utils.test.ts",
          "lines": "22-75",
          "implMappings": [
            {
              "file": "src/hooks/command-utils.ts",
              "lines": [
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                12,
                13,
                14,
                15,
                16,
                17,
                18,
                19,
                20,
                21,
                22,
                23,
                24,
                25,
                26,
                27,
                28,
                29,
                30,
                31,
                32,
                33,
                34,
                35,
                36,
                37,
                38,
                39,
                40,
                41,
                42,
                43,
                44,
                45,
                46,
                47,
                48,
                49,
                50,
                51,
                52,
                53,
                54,
                55,
                56,
                57,
                58
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "Generate executable script files for complex virtual hooks",
      "testMappings": [
        {
          "file": "src/hooks/__tests__/script-generation.test.ts",
          "lines": "16-136",
          "implMappings": [
            {
              "file": "src/hooks/script-generation.ts",
              "lines": [
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                12,
                13,
                14,
                15,
                16,
                17,
                18,
                19,
                20,
                21,
                22,
                23,
                24,
                25,
                26,
                27,
                28,
                29,
                30,
                31,
                32,
                33,
                34,
                35,
                36,
                37,
                38,
                39,
                40,
                41,
                42,
                43,
                44,
                45,
                46,
                47,
                48,
                49,
                50,
                51,
                52,
                53,
                54,
                55,
                56,
                57,
                58,
                59,
                60,
                61,
                62,
                63,
                64,
                65,
                66,
                67,
                68,
                69,
                70,
                71,
                72,
                73,
                74,
                75,
                76,
                77,
                78,
                79,
                80,
                81,
                82,
                83,
                84,
                85,
                86,
                87,
                88,
                89,
                90,
                91,
                92,
                93,
                94,
                95,
                96,
                97,
                98,
                99,
                100,
                101,
                102,
                103,
                104,
                105,
                106,
                107,
                108,
                109,
                110,
                111,
                112,
                113,
                114,
                115,
                116,
                117
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "Detect git staged and unstaged files for hooks",
      "testMappings": [
        {
          "file": "src/hooks/__tests__/git-context.test.ts",
          "lines": "18-151",
          "implMappings": [
            {
              "file": "src/hooks/git-context.ts",
              "lines": [
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                12,
                13,
                14,
                15,
                16,
                17,
                18,
                19,
                20,
                21,
                22,
                23,
                24,
                25,
                26,
                27,
                28,
                29,
                30,
                31,
                32,
                33,
                34,
                35,
                36,
                37,
                38,
                39,
                40,
                41,
                42,
                43,
                44,
                45,
                46,
                47,
                48,
                49,
                50,
                51,
                52,
                53,
                54,
                55,
                56
              ]
            },
            {
              "file": "src/hooks/integration.ts",
              "lines": [
                91,
                92,
                93,
                94,
                95,
                96,
                97,
                98,
                99,
                100,
                101,
                102
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "System reminder prompts AI about virtual hooks at phase transitions",
      "testMappings": [
        {
          "file": "src/commands/__tests__/virtual-hooks-reminders.test.ts",
          "lines": "96-225",
          "implMappings": [
            {
              "file": "src/utils/system-reminder.ts",
              "lines": [
                513,
                514,
                515,
                516,
                517,
                518,
                519,
                520,
                521,
                522,
                523,
                524,
                525,
                526,
                527,
                528,
                529,
                530,
                531,
                532,
                533,
                534,
                535,
                536,
                537,
                538,
                539,
                540,
                541,
                542,
                543,
                544,
                545,
                546,
                547,
                548,
                549,
                550,
                551,
                552,
                553,
                554,
                555,
                556,
                557,
                558,
                559,
                560,
                561,
                562,
                563,
                564,
                565,
                566,
                567,
                568,
                569,
                570,
                571,
                572,
                573,
                574,
                575,
                576,
                577,
                578,
                579,
                580,
                581,
                582,
                583,
                584,
                585,
                586,
                587,
                588,
                589,
                590,
                591,
                592,
                593,
                594,
                595,
                596,
                597
              ]
            },
            {
              "file": "src/commands/update-work-unit-status.ts",
              "lines": [
                407,
                408,
                409,
                410,
                411,
                412,
                413,
                414,
                415,
                416,
                417,
                418,
                419,
                420,
                421,
                422,
                423,
                424,
                425,
                426,
                427,
                428,
                429,
                430,
                431,
                432,
                433,
                434,
                435,
                436,
                437,
                438,
                439,
                440,
                441,
                442,
                443,
                444,
                445,
                446,
                447
              ]
            }
          ]
        }
      ]
    }
  ],
  "stats": {
    "totalScenarios": 12,
    "coveredScenarios": 12,
    "coveragePercent": 100,
    "testFiles": [
      "src/commands/__tests__/virtual-hook-commands.test.ts",
      "src/hooks/__tests__/virtual-hook-execution.test.ts",
      "src/hooks/__tests__/command-utils.test.ts",
      "src/hooks/__tests__/script-generation.test.ts",
      "src/hooks/__tests__/git-context.test.ts",
      "src/commands/__tests__/virtual-hooks-reminders.test.ts"
    ],
    "implFiles": [
      "src/index.ts",
      "src/hooks/integration.ts",
      "src/commands/add-hook.ts",
      "src/commands/clear-virtual-hooks.ts",
      "src/commands/copy-virtual-hooks.ts",
      "src/commands/show-work-unit.ts",
      "src/commands/add-virtual-hook.ts",
      "src/hooks/command-utils.ts",
      "src/hooks/script-generation.ts",
      "src/hooks/git-context.ts",
      "src/utils/system-reminder.ts",
      "src/commands/update-work-unit-status.ts"
    ],
    "totalLinesCovered": 1369
  }
}