/**
 * Seed roster — publicly documented people at Prime Intellect.
 *
 * Every record carries a confidence grade and a source URL. This is not
 * decoration: PIG holds claims about real people assembled from public
 * sources, and some of those claims rest on a single weak citation. A CRM that
 * presents a single-source LinkedIn headline with the same weight as a
 * corroborated one is a misinformation store with a nice table view.
 *
 * Rules applied throughout, and worth keeping if you extend this file:
 *
 *   • **No email addresses.** None are published, and guessing them from a name
 *     and a domain would be both unreliable and rude to the person on the
 *     receiving end.
 *   • **Authorship is not employment.** People named on papers or in
 *     repositories are recorded with the affiliation actually evidenced —
 *     `contributor`, `resident`, `alumni` — never promoted to `staff` because
 *     it would make the roster look fuller.
 *   • **"Not found" is recorded as unverified, not invented.** Where a name was
 *     supplied but could not be sourced, the record says so.
 *
 * Sourced as of August 2026. It will go stale; that is what `sourceUrl` and
 * `confidenceNote` are for.
 */
import type { AffiliationKind, ConfidenceGrade, Team } from '@pig/core';

export interface SeedPerson {
  fullName: string;
  title: string | null;
  affiliation: AffiliationKind;
  confidence: ConfidenceGrade;
  confidenceNote?: string;
  sourceUrl?: string;
  githubHandle?: string;
  twitterHandle?: string;
  linkedinUrl?: string;
  websiteUrl?: string;
  /** Which PIG team this person would sit on, if they were a user. */
  team?: Team;
  isDecisionMaker?: boolean;
  departed?: boolean;
}

export const PRIME_INTELLECT_PEOPLE: SeedPerson[] = [
  // ------------------------------------------------------------- leadership
  {
    fullName: 'Vincent Weisser',
    title: 'Co-founder & CEO',
    affiliation: 'founder',
    confidence: 'confirmed',
    sourceUrl: 'https://api.github.com/users/vincentweisser',
    githubHandle: 'vincentweisser',
    twitterHandle: 'vincentweisser',
    websiteUrl: 'https://vincentweisser.com',
    linkedinUrl: 'https://www.linkedin.com/in/vincentweisser/',
    isDecisionMaker: true,
  },
  {
    fullName: 'Johannes Hagemann',
    title: 'Co-founder & CTO',
    affiliation: 'founder',
    confidence: 'confirmed',
    confidenceNote: 'GitHub bio states "co-founder/cto @PrimeIntellect-ai".',
    sourceUrl: 'https://api.github.com/users/JohannesHa',
    githubHandle: 'JohannesHa',
    twitterHandle: 'johannes_hage',
    websiteUrl: 'https://hagemann.ai',
    isDecisionMaker: true,
  },
  {
    fullName: 'Jannik Straube',
    title: 'Founding Head of Engineering',
    affiliation: 'staff',
    confidence: 'probable',
    confidenceNote:
      'Title from a LinkedIn headline seen via search index, not a fetched primary page. ' +
      'Employment itself is well evidenced: top contributor to the protocol and prime repos.',
    sourceUrl: 'https://api.github.com/users/JannikSt',
    githubHandle: 'JannikSt',
    linkedinUrl: 'https://www.linkedin.com/in/jannikstraube/',
  },

  // -------------------------------------------------------------- go-to-market
  {
    fullName: 'Scott Cecil',
    title: 'GTM Lead',
    affiliation: 'staff',
    confidence: 'confirmed',
    confidenceNote:
      'Corroborated by two independent sources. The only publicly identifiable ' +
      'commercial hire found.',
    sourceUrl: 'https://theorg.com/org/prime-intellect/offices/hq',
    linkedinUrl: 'https://www.linkedin.com/in/scottcecil1/',
    team: 'demand',
    isDecisionMaker: true,
  },
  {
    fullName: 'Alex Ferguson',
    title: 'Head of Growth',
    affiliation: 'staff',
    confidence: 'confirmed',
    confidenceNote:
      'Quoted by name and title in a published Nebius customer story, and publishes ' +
      "Prime Intellect's open-roles posts. Note: absent from GitHub org membership and " +
      'paper author lists, which is expected for a growth role and is not evidence against.',
    sourceUrl: 'https://nebius.com/customer-stories/prime-intellect',
    twitterHandle: 'afurgs',
    linkedinUrl: 'https://www.linkedin.com/in/afurg/',
    team: 'demand',
    isDecisionMaker: true,
  },
  {
    fullName: 'Tyler Kovalcik',
    title: 'AI infrastructure sales / GTM strategy',
    affiliation: 'unknown',
    confidence: 'unverified',
    confidenceNote:
      'Single self-reported LinkedIn profile. No corroborating source found, and no ' +
      'Tyler appears in any Prime Intellect repository, paper, or org listing. ' +
      'Verify before acting on this record.',
    linkedinUrl: 'https://www.linkedin.com/in/tyler-kovalcik-30342367/',
    team: 'supply',
  },

  // ------------------------------------------------------------------ research
  {
    fullName: 'Sami Jaghouar',
    title: 'Research lead',
    affiliation: 'staff',
    confidence: 'confirmed',
    confidenceNote:
      'GitHub bio reads "leading research @PrimeIntellect-ai". First author on ' +
      'INTELLECT-1, INTELLECT-2 and OpenDiLoCo.',
    sourceUrl: 'https://api.github.com/users/samsja',
    githubHandle: 'samsja',
    twitterHandle: 'samsja19',
    team: 'research',
  },
  {
    fullName: 'Will Brown',
    title: 'Research lead — RL environments',
    affiliation: 'staff',
    confidence: 'confirmed',
    confidenceNote:
      'Creator and top contributor of `verifiers`, the library behind the Environments ' +
      "Hub. Named in the Environments Hub launch post as the contact for RFCs. Exact " +
      'internal title not published; the role is inferred from ownership.',
    sourceUrl: 'https://www.primeintellect.ai/blog/environments',
    githubHandle: 'willccbb',
    twitterHandle: 'willccbb',
    websiteUrl: 'https://willcb.com',
    team: 'research',
  },
  {
    fullName: 'Jack Min Ong',
    title: 'Founding Research Engineer',
    affiliation: 'staff',
    confidence: 'confirmed',
    sourceUrl: 'https://arxiv.org/abs/2407.07852',
    githubHandle: 'Jackmin801',
    twitterHandle: 'jackminong',
    team: 'research',
  },
  {
    fullName: 'Mika Senghaas',
    title: 'Research engineer',
    affiliation: 'staff',
    confidence: 'confirmed',
    sourceUrl: 'https://api.github.com/users/mikasenghaas',
    githubHandle: 'mikasenghaas',
    twitterHandle: 'mikasenghaas',
    websiteUrl: 'https://mikasenghaas.de',
    team: 'research',
  },
  {
    fullName: 'Florian Brand',
    title: 'Evals',
    affiliation: 'staff',
    confidence: 'confirmed',
    confidenceNote: 'GitHub bio reads "Evals @ Prime Intellect".',
    sourceUrl: 'https://api.github.com/users/xeophon',
    githubHandle: 'xeophon',
    twitterHandle: 'xeophon',
    team: 'research',
  },
  {
    fullName: 'Sebastian Müller',
    title: 'Research Engineer',
    affiliation: 'staff',
    confidence: 'confirmed',
    confidenceNote: 'GitHub bio states the role. Co-author of the Prime Agent post.',
    sourceUrl: 'https://api.github.com/users/snimu',
    githubHandle: 'snimu',
    twitterHandle: 'omouamoua',
    team: 'research',
  },
  {
    fullName: 'Ameen Patel',
    title: 'Inference',
    affiliation: 'staff',
    confidence: 'confirmed',
    confidenceNote: 'GitHub bio reads "Inference @PrimeIntellect-ai".',
    sourceUrl: 'https://api.github.com/users/AmeenP',
    githubHandle: 'AmeenP',
    twitterHandle: 'ameen_ml',
    team: 'research',
  },
  {
    fullName: 'Kevin Jose Thomas',
    title: 'Prime Agent',
    affiliation: 'staff',
    confidence: 'confirmed',
    sourceUrl: 'https://www.primeintellect.ai/blog/prime-agent',
    githubHandle: 'kevinjosethomas',
    twitterHandle: 'kevinjosethomas',
    team: 'research',
  },
  {
    fullName: 'Damian Barabonkov',
    title: 'Member of Technical Staff',
    affiliation: 'staff',
    confidence: 'confirmed',
    sourceUrl: 'https://api.github.com/users/DamianB-BitFlipper',
    githubHandle: 'DamianB-BitFlipper',
    twitterHandle: 'damian_b',
    team: 'research',
  },
  {
    fullName: 'Dominik Scherm',
    title: 'Member of Technical Staff',
    affiliation: 'staff',
    confidence: 'confirmed',
    sourceUrl: 'https://api.github.com/users/d42me',
    githubHandle: 'd42me',
    twitterHandle: 'dominik_scherm',
    team: 'research',
  },
  {
    fullName: 'Cooper Miller',
    title: 'Member of Technical Staff',
    affiliation: 'staff',
    confidence: 'confirmed',
    sourceUrl: 'https://api.github.com/users/kcoopermiller',
    githubHandle: 'kcoopermiller',
    twitterHandle: 'kcoopm',
    team: 'research',
  },
  {
    fullName: 'Mario Sieg',
    title: 'ML / HPC / compilers',
    affiliation: 'staff',
    confidence: 'probable',
    confidenceNote: 'GitHub company field lists Prime Intellect alongside TU Berlin.',
    sourceUrl: 'https://api.github.com/users/MarioSieg',
    githubHandle: 'MarioSieg',
    twitterHandle: '_mario_neo_',
    team: 'research',
  },
  {
    fullName: 'Matej Sirovatka',
    title: 'Research engineer',
    affiliation: 'staff',
    confidence: 'probable',
    confidenceNote: 'GitHub company field only; no title published.',
    sourceUrl: 'https://api.github.com/users/S1ro1',
    githubHandle: 'S1ro1',
    team: 'research',
  },
  {
    fullName: 'Manveer Basra',
    title: null,
    affiliation: 'staff',
    confidence: 'probable',
    confidenceNote: 'GitHub company field; co-author on INTELLECT-1 and INTELLECT-2.',
    sourceUrl: 'https://arxiv.org/abs/2412.01152',
    githubHandle: 'manveerxyz',
    team: 'research',
  },
  {
    fullName: 'Jessica Li',
    title: 'Applied Researcher',
    affiliation: 'staff',
    confidence: 'unverified',
    confidenceNote: 'Single crowd-sourced org-chart listing. No primary source found.',
    sourceUrl: 'https://theorg.com/org/prime-intellect/offices/hq',
    team: 'research',
  },

  // ----------------------------------------------- explicitly NOT current staff
  {
    fullName: 'Justus Mattern',
    title: 'Alumnus — now co-founder elsewhere',
    affiliation: 'alumni',
    confidence: 'confirmed',
    confidenceNote:
      'Co-author on INTELLECT-2 and a prime-rl contributor. GitHub bio now reads ' +
      '"Cofounder at Proximal", so this is a warm-intro node rather than a current ' +
      'employee. Recorded to keep the roster honest.',
    sourceUrl: 'https://api.github.com/users/justusmattern27',
    githubHandle: 'justusmattern27',
    departed: true,
  },
  {
    fullName: 'Alex Wa',
    title: 'RL Residency participant',
    affiliation: 'resident',
    confidence: 'probable',
    confidenceNote:
      "Real, and did develop RL environments in Prime Intellect's RL Residency — but " +
      'is a Yale undergraduate interning elsewhere, NOT staff. Distinct from Alexandr ' +
      'Wang (Scale AI / Meta), and possibly a garbling of Alex L. Zhang, a genuine ' +
      'Prime Intellect person and Prime Agent co-author.',
    sourceUrl: 'https://djdumpling.github.io/',
    linkedinUrl: 'https://www.linkedin.com/in/alex-wa/',
  },
  {
    fullName: 'Alex L. Zhang',
    title: 'Prime Agent co-author',
    affiliation: 'staff',
    confidence: 'probable',
    confidenceNote: 'Named as a co-author on the Prime Agent post. No further detail published.',
    sourceUrl: 'https://www.primeintellect.ai/blog/prime-agent',
    team: 'research',
  },
  {
    fullName: 'Seth Karten',
    title: 'Prime Agent co-author',
    affiliation: 'staff',
    confidence: 'probable',
    sourceUrl: 'https://www.primeintellect.ai/blog/prime-agent',
    team: 'research',
  },
];

/**
 * Named in the brief but not findable.
 *
 * Recorded deliberately rather than silently dropped: "we looked and found
 * nothing" is useful information, and leaving it out invites someone to add
 * the name again from memory. Absence here is weak evidence — a junior or
 * deliberately non-public employee looks identical to this search.
 */
export const UNRESOLVED_NAMES = [
  {
    name: 'Anirudh',
    note:
      'No Anirudh of any surname could be tied to Prime Intellect in GitHub org ' +
      'membership, repository contributors, paper author lists, org charts, or blog ' +
      'bylines. Not seeded. If you know who this is, add them with a source.',
  },
];

/**
 * Customer references the company itself publishes.
 *
 * Useful as accounts, but note these are named as references and integrations,
 * which is not the same as a paying compute customer — a distinction worth
 * keeping in a CRM.
 *
 * These are REAL companies, so nothing may be attached to them that is not in
 * the cited source. A deal, an ACV, an executed MSA or an allocation invented
 * against one of these accounts is a fabricated commercial record about a real
 * business — the seed's worked example was booked against Ramp for exactly
 * this reason, and it is now booked against an invented company instead.
 */
export const PUBLIC_CUSTOMER_REFERENCES = [
  {
    account: 'Ramp',
    person: 'Karim Atiyeh',
    title: 'Co-CEO',
    sourceUrl: 'https://www.primeintellect.ai/',
  },
  {
    account: 'Zapier',
    person: 'Robin Salimans',
    title: 'Principal AI Engineer',
    sourceUrl: 'https://www.primeintellect.ai/',
  },
];
