{
  "schema": "v2.qa.puzzleSolvingBot.v1",
  "task": "TODOS.phase-72.72.19.1.6",
  "module": "V2Tests",
  "header": "V2/ue/Source/V2Tests/Public/V2PuzzleSolvingBot.h",
  "source": "V2/ue/Source/V2Tests/Private/V2PuzzleSolvingBot.cpp",
  "automationSpec": "V2/ue/Source/V2Tests/Private/Playtesting/PuzzleSolvingBot.spec.cpp",
  "documentation": "V2/docs/qa/puzzle-solving-bot.md",
  "checker": "V2/ue/Tools/check-v2-puzzle-solving-bot.py",
  "dependsOn": ["V2/ue/Content/V2/QA/BotHarness_V2_Contract.json"],
  "runtimeEnums": ["EV2PuzzleSolvingStrategy", "EV2PuzzleSolvingOutcome"],
  "runtimeStructs": [
    "FV2PuzzleBotPuzzleProfile",
    "FV2PuzzleBotAttemptPlan",
    "FV2PuzzleBotPuzzleResult",
    "FV2PuzzleSolvingBotConfig",
    "FV2PuzzleSolvingBotResult"
  ],
  "blueprintHelpers": [
    "BuildDefaultPuzzleBotPuzzles",
    "BuildDefaultPuzzleBotAttemptPlans",
    "BuildDefaultPuzzleSolvingBotConfig",
    "ValidatePuzzleSolvingBotConfig",
    "RunPuzzleSolvingBot",
    "FormatPuzzleSolvingBotReport"
  ],
  "requiredCapabilities": [
    "attempt interactive puzzles",
    "brute-force approaches",
    "heuristic approaches",
    "detect unsolvable puzzles",
    "headless harness puzzle script",
    "solved puzzle results"
  ],
  "requiredAutomationAssertions": [
    "puzzle-solving bot config attempts interactive puzzles",
    "puzzle-solving bot runs through headless harness",
    "puzzle-solving bot uses brute-force approach",
    "puzzle-solving bot uses heuristic approach",
    "puzzle-solving bot detects unsolvable puzzles",
    "puzzle-solving bot formats puzzle report",
    "puzzle-solving bot rejects disabled unsolvable detection"
  ],
  "ci": {
    "workflow": ".github/workflows/v2-build.yml",
    "hordeJob": "V2/ue/Build/Horde/v2-buildgraph-job.json",
    "requiredGates": [
      "puzzle-solving-bot-source",
      "puzzle-solving-bot-interactive-attempts",
      "puzzle-solving-bot-brute-force",
      "puzzle-solving-bot-heuristic",
      "puzzle-solving-bot-unsolvable-detection",
      "puzzle-solving-bot-ci-wired"
    ]
  }
}
