{
 "schemaVersion": 1,
 "fetchedAt": "2026-10-16 11:18 EDT",
 "season": "Season 5 (from the October 6, 2026 patch)",
 "seasonNote": "Hero lists now come only from Season 5 sources: the Overwatch Wiki Team Composition page (edited Oct 14, 2026), the Mobalytics Season 5 tier list (updated Oct 16, 2026) and four Sombra/Doctrine hero guides. No general Season 5 team-style article was found, so the two Season 4 guides (Aug 27 and Sep 21, 2026) still back only the general points.",
 "sources": {
  "senseos": {
   "name": "SenseOS – Brawl, dive and poke in Overwatch, explained",
   "url": "https://senseos.gg/guides/overwatch/brawl-dive-poke-explained/",
   "date": "2026-09-21",
   "kind": "styleGuide",
   "listsHeroes": false
  },
  "boostingmarket": {
   "name": "Boosting Market – Best Overwatch team comps for competitive",
   "url": "https://boostingmarket.com/blogs/best-ow2-team-comps-competitive/",
   "date": "2026-08-27",
   "kind": "styleGuide",
   "listsHeroes": false
  },
  "gamesgg_sombra": {
   "name": "games.gg – Sombra Support rework: full Season 5 guide",
   "url": "https://games.gg/overwatch/guides/overwatch-sombra-support-rework-full-season-5-guide/",
   "date": "2026-10-08",
   "kind": "heroGuide",
   "listsHeroes": true
  },
  "boostingfactory_sombra": {
   "name": "Boosting Factory – Sombra rework guide: Support abilities and how to play",
   "url": "https://www.boostingfactory.com/overwatch/blog/overwatch-sombra-rework-guide",
   "date": "2026-10-06",
   "kind": "heroGuide",
   "note": "Its team-partner section is worded almost identically to the games.gg guide, so the two may not be independent.",
   "listsHeroes": true
  },
  "gamesgg_doctrine": {
   "name": "games.gg – Doctrine guide: abilities, perks and tips",
   "url": "https://games.gg/overwatch/guides/overwatch-doctrine-guide/",
   "date": "2026-10-07",
   "kind": "heroGuide",
   "listsHeroes": true
  },
  "mobalytics_doctrine": {
   "name": "Mobalytics – Doctrine guide and overview",
   "url": "https://mobalytics.gg/overwatch/heroes/doctrine-guide",
   "date": "2026-10-06",
   "kind": "heroGuide",
   "note": "Saved via a page fetch (direct download was blocked). Page states it was updated now that Season 5 is live; no exact date, so the season start is used.",
   "listsHeroes": true
  },
  "owwiki_comp": {
   "name": "Overwatch Wiki (Weird Gloop) – Team Composition",
   "url": "https://overwatch.weirdgloop.org/w/Team_Composition",
   "date": "2026-10-14",
   "kind": "styleGuide",
   "note": "Revision 404692, last edited Oct 14, 2026. Checked by hand. Text under CC BY-NC-SA 3.0 (https://creativecommons.org/licenses/by-nc-sa/3.0/).",
   "listsHeroes": true
  },
  "mobalytics_tier": {
   "name": "Mobalytics – Overwatch tier list (Standard 5v5, Season 5)",
   "url": "https://mobalytics.gg/overwatch/tier-lists/standard",
   "date": "2026-10-16",
   "kind": "styleGuide",
   "note": "Per-hero comments that name a style. Same publisher as the Mobalytics Doctrine guide.",
   "listsHeroes": true
  }
 },
 "heroListStart": "2026-10-06",
 "rule": "A hero is listed for a style only when at least two Season 5 sources (dated Oct 6, 2026 or later) name it for that style and role. Heroes named by one source are kept in singleSource and not shown as part of the style. The two Season 4 guides now only back the general points (which style beats which, map tendencies, reading your team).",
 "agreedClaims": [
  "mapBrawl",
  "mapDive",
  "mapPoke",
  "matchTeam",
  "readTank",
  "triangle"
 ],
 "styleReading": {
  "tankSetsStyle": true,
  "threeOrMore": true,
  "matchYourTeam": true
 },
 "styles": {
  "brawl": {
   "plan": "Stick together and win long, close-range fights with healing and bodies.",
   "beats": "dive",
   "losesTo": "poke",
   "map": "Tight spaces and chokes",
   "heroes": {
    "Tank": [
     "junker-queen",
     "mauga",
     "ramattra",
     "reinhardt"
    ],
    "Damage": [
     "mei",
     "reaper",
     "symmetra",
     "vendetta"
    ],
    "Support": [
     "baptiste",
     "doctrine",
     "lucio",
     "moira"
    ]
   },
   "singleSource": {
    "Tank": [
     "dmon",
     "hazard",
     "orisa",
     "roadhog",
     "zarya"
    ],
    "Damage": [
     "bastion",
     "cassidy",
     "emre",
     "junkrat",
     "sierra",
     "soldier-76",
     "torbjorn",
     "venture"
    ],
    "Support": [
     "ana",
     "brigitte",
     "jetpack-cat",
     "juno",
     "kiriko",
     "lifeweaver",
     "mizuki",
     "wuyang"
    ]
   },
   "agreedBy": {
    "reinhardt": [
     "gamesgg_doctrine",
     "mobalytics_doctrine",
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "ramattra": [
     "gamesgg_doctrine",
     "mobalytics_doctrine",
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "mauga": [
     "gamesgg_doctrine",
     "mobalytics_doctrine",
     "owwiki_comp"
    ],
    "junker-queen": [
     "gamesgg_doctrine",
     "mobalytics_doctrine",
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "doctrine": [
     "gamesgg_doctrine",
     "mobalytics_doctrine",
     "owwiki_comp"
    ],
    "symmetra": [
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "mei": [
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "reaper": [
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "vendetta": [
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "baptiste": [
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "lucio": [
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "moira": [
     "mobalytics_tier",
     "owwiki_comp"
    ]
   }
  },
  "dive": {
   "plan": "Mobile heroes jump one target together, often a support or sniper, and get out.",
   "beats": "poke",
   "losesTo": "brawl",
   "map": "Maps with high ground and flank routes",
   "heroes": {
    "Tank": [
     "doomfist",
     "dva",
     "winston",
     "wrecking-ball"
    ],
    "Damage": [
     "echo",
     "genji",
     "tracer",
     "vendetta",
     "venture"
    ],
    "Support": [
     "lucio",
     "sombra"
    ]
   },
   "singleSource": {
    "Tank": [
     "hazard"
    ],
    "Damage": [
     "anran",
     "freja",
     "junkrat",
     "pharah",
     "reaper",
     "shion",
     "sierra",
     "sojourn"
    ],
    "Support": [
     "ana",
     "brigitte",
     "jetpack-cat",
     "juno",
     "kiriko",
     "mercy",
     "mizuki",
     "moira",
     "wuyang"
    ]
   },
   "agreedBy": {
    "winston": [
     "boostingfactory_sombra",
     "gamesgg_sombra",
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "doomfist": [
     "boostingfactory_sombra",
     "gamesgg_sombra",
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "wrecking-ball": [
     "boostingfactory_sombra",
     "gamesgg_sombra",
     "owwiki_comp"
    ],
    "genji": [
     "boostingfactory_sombra",
     "gamesgg_sombra",
     "owwiki_comp"
    ],
    "tracer": [
     "boostingfactory_sombra",
     "gamesgg_sombra",
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "venture": [
     "boostingfactory_sombra",
     "gamesgg_sombra",
     "owwiki_comp"
    ],
    "sombra": [
     "boostingfactory_sombra",
     "gamesgg_sombra",
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "dva": [
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "echo": [
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "vendetta": [
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "lucio": [
     "mobalytics_tier",
     "owwiki_comp"
    ]
   }
  },
  "poke": {
   "plan": "Hold range and good angles, wearing the enemy down before the fight starts.",
   "beats": "brawl",
   "losesTo": "dive",
   "map": "Open maps with long sightlines",
   "heroes": {
    "Tank": [
     "orisa",
     "ramattra",
     "sigma"
    ],
    "Damage": [
     "ashe",
     "bastion"
    ],
    "Support": [
     "baptiste",
     "doctrine",
     "illari",
     "lifeweaver",
     "mercy",
     "zenyatta"
    ]
   },
   "singleSource": {
    "Tank": [
     "domina",
     "mauga",
     "roadhog"
    ],
    "Damage": [
     "cassidy",
     "emre",
     "freja",
     "hanzo",
     "mei",
     "pharah",
     "sierra",
     "sojourn",
     "soldier-76",
     "torbjorn",
     "widowmaker"
    ],
    "Support": [
     "ana",
     "juno",
     "kiriko",
     "wuyang"
    ]
   },
   "agreedBy": {
    "doctrine": [
     "gamesgg_doctrine",
     "mobalytics_doctrine",
     "owwiki_comp"
    ],
    "sigma": [
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "ramattra": [
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "orisa": [
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "ashe": [
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "bastion": [
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "zenyatta": [
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "mercy": [
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "illari": [
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "baptiste": [
     "mobalytics_tier",
     "owwiki_comp"
    ],
    "lifeweaver": [
     "mobalytics_tier",
     "owwiki_comp"
    ]
   }
  }
 },
 "droppedPreSeason5": [],
 "heroGuideNote": "The two Sombra guides use near-identical wording, as do the two Doctrine guides, so each pair may not be independent. Mobalytics publishes both the tier list and one Doctrine guide. Treat placements that rest only on those pairs as low confidence.",
 "errors": []
}