Implementation notes: [[_roster-raw]]
Scope change
- The original ask was a full dossier with per-person profiles and a gap read for Ben.
- Mid-task, the coordinator relayed a founder change of scope: Phase 1 only (the roster plus program facts). No dossier file was written.
Sources tried
| Source | Method | Result |
|---|---|---|
| snowflake.com/en/data-superheroes/ | WebFetch | OK for the program text. It showed 12 cards only, because the grid is paginated client-side. |
| same page | Playwright; paginated with the "Next" control | OK: 130 cards, each with name, title and employer. |
| same page, filtered | Playwright with the ?tags=<tag> URL param (clicking the checkbox with force:true did NOT apply the filter) |
OK: region, cert and member-since sets. The region counts sum to 130. |
| Page's inline JSON model (125KB script) | Parsed | It holds only the first 12 cards, so it cannot give the full roster. |
| community.snowflake.com/s/datasuperherodirectory | Playwright | It rendered "No Data Superhero found" and exposed no profile links. |
| Medium, "Celebrating the 2025 Data Superheroes" | Playwright | OK: the full 2025 roster of 105 names by region. It did not 403 this time. |
| Medium, "Adopting the Mindset of a Data Superhero" | Playwright | OK: the 4 criteria categories, the contribution window, and the Dec 26, 2025 deadline. (A 2026-09-27 attempt got a 403.) |
| CXOToday, Third News | WebFetch / Playwright | OK: 125 people from 25 countries, 39 new and 86 returning. Announced Jan 29 and Feb 10, 2026. |
Blocks and inconsistencies
- The directory (130) does not match the announcement (125). 13 directory members have member-since dates of 2024 or earlier but are NOT on the 2025 Medium roster: Yuki Yamanaka, Yesung Han, Toshikuni Fuji, Clark Perucho, Thomas Milner, Marcel Schwarze, Lukasz Szozda, Guy Adams, Fernando Brito, TJ Murphy, Stewart Bryson, Mike Taveirne, Divyansh Saini. Two readings are possible: the directory keeps some lapsed members, or they skipped 2025 and returned in 2026. That is unverified. The roster marks them "status unclear". So the directory is NOT proven to equal the 2026 cohort.
- The 32 directory members without a member-since tag do not match the announced 39 new. None of them is on the 2025 roster, which is consistent with their being new in 2026. The other 7 new members are unexplained.
- The published 2026 cohort list (a Medium or blog post like the 2025 one) was not found. The YouTube video "Introducing the 2026 Snowflake Data Superheroes" (youtube.com/watch?v=bLmXh36FbUo) was not transcribed.
- Developer Badges pages ("Data Superhero 2026" badges, e.g. developerbadges.snowflake.com) exist per person. They could verify 2026 membership one person at a time. Not done.
- The "panel of reviewers" claim appears only in a WebSearch summary and is not traced to a primary page. Who decides is officially unstated.
- Name variants were reconciled by hand between the 2025 list and the directory: Fred/Frédéric L'Anglais, Ryo/Ryota Shibuya, Tim/Timothy Spreitzer, Yuya Harigae, Maja Ferle, Michał Gołoś/Michael Golos, Sergey/Serge Gershkovich, Tomas Sobotik/Tomáš Sobotík.
- Titles and employers appear on the directory cards. They were captured but deliberately left out of the table (Phase 1 scope). Raw capture: /Users/ray/.playwright-mcp/ (rows.md, roster.py).
- phData: Priya Chauhan (Sr. Data Engineer, phData, APJ, member since 2025) is the only phData employee on the directory.
- The primary_link column is left blank for all rows. No quick source existed, and 130 individual searches were out of scope for "only if found quickly".
Phase 2 + batch 1 (2026-09-29)
Region re-scrape
- Tag values confirmed from the filter checkboxes'
valueattributes:region/americas,region/emea,region/apj(alsodata-heroes/certification/<cert>anddata-heroes/member-since/<year>; there is no 2026 member-since tag). - Method: Playwright
browser_run_code_unsafe, onepage.goto('...?tags=region/<r>')per region, then clicked "Next" until the card set stopped changing. Card fields read from.snowflake-card-v2-advanced-titleand.snowflake-card-v2-advanced-text span. - Result: Americas 43, EMEA 44, APJ 43 = 130. Every name matches the Phase 1 directory list exactly (0 missing, 0 extra, 0 duplicates).
- The 21 "2025 only" people: regions read from the region headings on the 2025 Medium post (re-fetched via Playwright, no 403). Americas 6, APJ 8, EMEA 7.
- Region drift worth knowing: some people carry a different region on the directory than on the 2025 roster (e.g. Madhivanan Anbalagan: Americas in 2025, APJ on the directory). The page uses the directory tag.
- Card text: 20 cards had title and employer with no line break (e.g. "Director AI - Data Engineering The Hartford Insurance"). Split by hand. Tony Kipkemboi's card is ambiguous ("Staff Engineer, AI Operations Guild") and is flagged on his page. Jan Difko's card says "Billingece", likely a typo for Billigence; flagged.
Structure
_template.mdwritten with the requested frontmatter and body sections.- 151 stubs generated by a one-off script (scratchpad, not kept). Slugs: lowercase, accents folded (ł to l), nicknames in quotes dropped (
yuya-harigae,maja-ferle), apostrophes removed (frederic-langlais). 151 unique slugs. - Stub fields filled only from what was already captured: name, region, cohort_years, status, role and employer (directory card, or the 2025 Medium line for 2025-only people), source URLs. employer_type, country, industry left "?" (no research on stubs).
- cohort_years convention: member-since tag year + 2025 if on the Medium roster + 2026 if on the directory (2026 presumed). Intermediate years are unknown, not absent.
- status:
unclearfor the 13 people with member-since before 2025 who are missing from the 2025 roster;2025-onlyfor the 21;currentfor the other 117. index.mdroster table is generated from page frontmatter by_build_index.py(kept in the folder so later batches can regenerate it). Program facts copied from_roster-raw.mdwith citations;_roster-raw.mdleft untouched.
Batch 1
- Research fanned out to 10 parallel subagents (one per person) so the raw pages never entered the coordinator's context. Each overwrote its own stub. Playwright use was restricted to isolated pages (
context().newPage()) because the browser is shared. - Results: 6 full (Fabian Hernandez, Stephane Burwash, Nadir Doctor, Jeff Skoldberg, Angela Harney, Venkata Ravi Kumar Yenugula), 4 partial (Andy Quirin, Devang Pandya, Aradhna Mangla, Priya Chauhan). Sources per page: 8 to 16.
- Blocks the subagents hit: LinkedIn login wall / HTTP 999 (headline taken from search snippets instead); Medium 403 on WebFetch (Playwright got through); Amazon 503; Udemy refused direct fetch; TDWI speaker page 404. None stopped a page.
- Stale directory cards: Angela Harney is now at Aimpoint Digital (card says Unify Consulting). Fabian Hernandez and Nadir Doctor show different current employers on LinkedIn than on the card; kept the card value and flagged it. Treat directory employers as possibly stale.
- Coordinator post-check redactions: removed a ZoomInfo (data-broker) source from Fabian Hernandez; removed a data-broker location mention from Devang Pandya; removed an immigration-status detail from Venkata Ravi Kumar Yenugula (not a professional fact). Contact scan (emails, phone patterns, broker domains) is clean after that.
- Selection caveat: Fabian Hernandez turned out to be in Costa Rica (Americas, not North America). Jeff Skoldberg's firm is not a confirmed Snowflake partner (employer_type independent).
- Acceptance check (2026-09-29): 151 files in people/; index region counts Americas 43 + 6, EMEA 44 + 7, APJ 43 + 8 = 130 + 21; 0 unresolved wikilinks across index, people/, template and notes; 10 pages at full/partial, each with at least 8 sources.
Critic fixes (2026-09-29)
- 1 Directory claim (32 pages, all with a 2026 member-since tag; cohort_years already [2026]): done. Replaced with "Directory member-since tag: 2026." in people/*.md via sed (33 lines incl. andy-quirin, stephane-burwash variants); index.md had none; _roster-raw.md left as historical record with a note added.
- 2 andy-quirin aggregator-sourced claims (SE clause, Qlik dates/Luminary, Cortex project list, notes line, index row "ex-Snowflake SE"): done. Kept only primary-sourced Qlik Sense 2014-2016 line; notes line rewritten as a "deliberately not used" note. Note: index.md row is hand-written (outside generated table), edited directly.
- 2 andy-quirin "Mike Quirin" sentence: done.
- 2 priya-chauhan West Delhi: done (people/priya-chauhan.md).
- 2 venkata AIOUG clause: done (people/venkata-ravi-kumar-yenugula.md).
- 3 devang inference: people/devang-pandya.md - done
- 3 nadir inference: people/nadir-doctor.md - done
- 3 priya inference: people/priya-chauhan.md - done
- 3 priya postdates note: people/priya-chauhan.md - done
- 3 nadir employer (frontmatter): people/nadir-doctor.md - done
- 4 venkata book sentence: people/venkata-ravi-kumar-yenugula.md - done
- 4 venkata mainly-through-book: people/venkata-ravi-kumar-yenugula.md - done
- 4 venkata first cohort: people/venkata-ravi-kumar-yenugula.md - done
- 4 venkata later pattern line: people/venkata-ravi-kumar-yenugula.md - done
- 5 angela note: people/angela-harney.md - done
- 1 stephane variant: people/stephane-burwash.md - done
- 1 aradhna (check): people/aradhna-mangla.md - done
- 7 jeff contact: people/jeff-skoldberg.md - done
- 8 ESG: people/aradhna-mangla.md - done
- 8 AUM: people/aradhna-mangla.md - done
- 8 CPG: people/devang-pandya.md - done
- 8 BYOC: people/stephane-burwash.md - done
- 9 jeff Keurig: people/jeff-skoldberg.md - done
- 6 Wikilinks: done. the bare index wikilink -> [[snowflake-data-superheroes/index|index]] in _template.md and 151 people pages; [[_template]] fixed in index.md.
- 7 index.md related frontmatter: done (quoted as ["[[...]]"] to stay valid YAML). 03-contacts/jeff-skoldberg.md exists: confirmed.
- 8 Acronyms: ESG, AUM (aradhna-mangla), CPG (devang-pandya), BYOC (stephane-burwash) expanded. RAG, FHIR, HCLS (andy-quirin): not applicable, the sentences containing them were removed under fix 2.
- nadir-doctor index row: regenerated from frontmatter via python3 _build_index.py.