// Fin45 — Tracker mock data
// Three families of trackers: People (politicians + figureheads) and Indices.

const FIN_TRACKERS = {
  // ── Catalog: the hub page lists these ─────────────────────────
  catalog: [
    { group: 'Politicians', items: [
      { id: 'pelosi',   name: 'Nancy Pelosi',        sub: 'CA · House',   ytd: '+34.2%',  events: 9, hot: true,  mood: 'risk-on' },
      { id: 'tuberville', name: 'Tommy Tuberville', sub: 'AL · Senate',   ytd: '+19.4%',  events: 6, hot: false, mood: 'risk-on' },
      { id: 'crenshaw', name: 'Dan Crenshaw',        sub: 'TX · House',   ytd: '+11.7%',  events: 5, hot: false, mood: 'neutral' },
      { id: 'gottheimer',name:'Josh Gottheimer',     sub: 'NJ · House',   ytd: '+14.1%',  events: 7, hot: false, mood: 'risk-on' },
      { id: 'trump',     name:'Donald Trump',        sub: 'Executive',    ytd: '+8.6%',   events: 14, hot: true, mood: 'neutral' },
      { id: 'kennedy',   name:'Robert F. Kennedy Jr.', sub: 'HHS',        ytd: '—',       events: 4, hot: false, mood: 'neutral' },
    ]},
    { group: 'People', items: [
      { id: 'musk',     name: 'Elon Musk',          sub: 'TSLA · xAI · X · SpaceX', ytd: '+12.4%', events: 11, hot: true, mood: 'risk-on' },
      { id: 'buffett',  name: 'Warren Buffett',     sub: 'Berkshire',               ytd: '+6.1%',  events: 4, hot: false, mood: 'risk-off' },
      { id: 'ackman',   name: 'Bill Ackman',        sub: 'Pershing Square',         ytd: '+9.8%',  events: 6, hot: false, mood: 'risk-on' },
      { id: 'burry',    name: 'Michael Burry',      sub: 'Scion',                   ytd: '-3.2%',  events: 3, hot: false, mood: 'risk-off' },
      { id: 'huang',    name: 'Jensen Huang',       sub: 'NVDA',                    ytd: '+18.7%', events: 7, hot: true, mood: 'risk-on' },
      { id: 'altman',   name: 'Sam Altman',         sub: 'OpenAI · Helion · Oklo',  ytd: '—',      events: 8, hot: false, mood: 'risk-on' },
      { id: 'thiel',    name: 'Peter Thiel',        sub: 'Founders Fund · Palantir',ytd: '+22.3%', events: 5, hot: false, mood: 'risk-on' },
      { id: 'griffin',  name: 'Ken Griffin',        sub: 'Citadel',                 ytd: '+11.2%', events: 3, hot: false, mono: true, mood: 'neutral' },
    ]},
    { group: 'Indices & funds', items: [
      { id: 'spy',  name: 'SPY · S&P 500',       sub: 'State Street',  ytd: '+8.4%',  events: '500 cos.', hot: true,  mood: 'risk-on'  },
      { id: 'qqq',  name: 'QQQ · Nasdaq 100',    sub: 'Invesco',       ytd: '+11.2%', events: '100 cos.', hot: true,  mood: 'risk-on'  },
      { id: 'iwm',  name: 'IWM · Russell 2000',  sub: 'iShares',       ytd: '-0.4%',  events: '2,000 cos.', hot: false, mood: 'risk-off' },
      { id: 'dia',  name: 'DIA · Dow Jones',     sub: 'SSGA',          ytd: '+5.8%',  events: '30 cos.',  hot: false, mood: 'neutral'  },
      { id: 'vti',  name: 'VTI · Total Market',  sub: 'Vanguard',      ytd: '+7.9%',  events: '4,000 cos.', hot: false, mood: 'risk-on' },
      { id: 'btc',  name: 'BTC · Bitcoin',       sub: 'Spot ETFs',     ytd: '+34.1%', events: '—',        hot: true,  mood: 'risk-on' },
    ]},
  ],

  // ── Congressional trades (one row per disclosure) ────────────
  congress: {
    title: 'Congress',
    subtitle: 'Every disclosure inside the 45-day window.',
    overview: 'Members of Congress and senior executive branch officials are required to disclose securities transactions within 45 days under the STOCK Act. We surface every filing the moment it hits, weighted by the historical performance of that member\'s prior disclosures.',
    leaderboard: [
      { rank: 1, who: 'Pelosi',     party: 'D', chamber: 'House',  ytd: '+34.2%', filings: 9,  bench: '+24.6%' },
      { rank: 2, who: 'Tuberville', party: 'R', chamber: 'Senate', ytd: '+19.4%', filings: 6,  bench: '+11.0%' },
      { rank: 3, who: 'Gottheimer', party: 'D', chamber: 'House',  ytd: '+14.1%', filings: 7,  bench: '+5.7%'  },
      { rank: 4, who: 'Crenshaw',   party: 'R', chamber: 'House',  ytd: '+11.7%', filings: 5,  bench: '+3.3%'  },
      { rank: 5, who: 'Hartzler',   party: 'R', chamber: 'House',  ytd: '+9.4%',  filings: 4,  bench: '+1.0%'  },
      { rank: 6, who: 'Higgins',    party: 'R', chamber: 'House',  ytd: '+7.8%',  filings: 3,  bench: '-0.6%'  },
      { rank: 7, who: 'Khanna',     party: 'D', chamber: 'House',  ytd: '+6.5%',  filings: 11, bench: '-1.9%'  },
    ],
    feed: [
      { date: 'May 14', who: 'Pelosi',      action: 'BUY',  asset: 'NVDA · $1M–$5M',    why: '40 call options expiring Jun 2027 · same-day disclosure',  pf: '+24%' },
      { date: 'May 13', who: 'Tuberville',  action: 'BUY',  asset: 'PLTR · $50K–$100K', why: 'Cleared committee on AI procurement Tuesday',              pf: '+11%' },
      { date: 'May 12', who: 'Gottheimer',  action: 'SELL', asset: 'GOOGL · $250K–$500K', why: 'Trimmed mega-cap exposure ahead of CPI',                pf: '+18%' },
      { date: 'May 9',  who: 'Crenshaw',    action: 'BUY',  asset: 'LMT · $100K–$250K', why: 'Day before defense appropriations markup',                pf: '+14%' },
      { date: 'May 8',  who: 'Pelosi',      action: 'BUY',  asset: 'AVGO · $500K–$1M',  why: '50 call options, strike $200, expiring Jan 2027',         pf: '+21%' },
      { date: 'May 6',  who: 'Hartzler',    action: 'BUY',  asset: 'XOM · $50K–$100K',  why: 'Following Senate Energy hearing on permits',              pf: '+6%'  },
      { date: 'May 2',  who: 'Khanna',      action: 'SELL', asset: 'TSLA · $15K–$50K',  why: 'Disclosed routine portfolio rebalance · index funds only', pf: '+0%' },
      { date: 'Apr 29', who: 'Tuberville',  action: 'BUY',  asset: 'NUE · $100K–$250K', why: 'Day before tariff news on imported steel',                pf: '+9%'  },
      { date: 'Apr 26', who: 'Higgins',     action: 'BUY',  asset: 'CAT · $50K–$100K',  why: 'Two days before infrastructure bill vote',                pf: '+12%' },
      { date: 'Apr 22', who: 'Pelosi',      action: 'BUY',  asset: 'TSM · $1M–$5M',     why: '30 call options strike $200 · Jun 2026',                  pf: '+19%' },
    ],
  },

  // ── Elon Musk money tracker ──────────────────────────────────
  musk: {
    title: 'Elon Musk',
    subtitle: 'Money moves across the empire.',
    overview: 'Tesla, xAI, X, SpaceX, Starlink, Neuralink, Boring, Optimus. We track every funding round, secondary, comp grant, public statement, and 13G/13D filing that moves the empire\'s mark-to-market valuation.',
    arms: [
      { name: 'Tesla',     ticker: 'TSLA', mv: '$1.04T',  ytd: '+18.4%',  exposure: '~13%' },
      { name: 'SpaceX',    ticker: 'PRIV', mv: '$350B',   ytd: '+24%',    exposure: '~42%' },
      { name: 'xAI',       ticker: 'PRIV', mv: '$50B',    ytd: '+150%',   exposure: '~54%' },
      { name: 'X (Twitter)',ticker: 'PRIV',mv: '$19B',    ytd: '-58%',    exposure: '~74%' },
      { name: 'Boring Co', ticker: 'PRIV', mv: '$7B',     ytd: '+12%',    exposure: '~90%' },
      { name: 'Neuralink', ticker: 'PRIV', mv: '$5B',     ytd: '+8%',     exposure: '~75%' },
    ],
    feed: [
      { date: 'May 14', kind: 'COMP',   what: 'Tesla board approves $1B equity grant tied to robotaxi launch metrics', impact: 'TSLA -1.2% on day · long-term incentive' },
      { date: 'May 12', kind: 'RAISE',  what: 'xAI raises $6B at $50B post-money valuation', impact: 'Roughly doubles xAI mark from December' },
      { date: 'May 9',  kind: 'POST',   what: 'Tweets Cybertruck production at 1,000/week', impact: 'TSLA +3.4% intraday · retraced by close' },
      { date: 'May 6',  kind: 'FILING', what: '13G filed: 9.4% in Bitcoin trust · indirect', impact: 'BTC +1.8% in 30 minutes' },
      { date: 'May 2',  kind: 'COMP',   what: 'Reaches second tranche on 2018 comp package after Q1 numbers', impact: 'Unlocks ~$28B in TSLA options · vesting' },
      { date: 'Apr 28', kind: 'POST',   what: 'Confirms xAI Memphis cluster online · 200K H100s', impact: 'NVDA +2.1% · core fleet thesis intact' },
      { date: 'Apr 24', kind: 'RAISE',  what: 'SpaceX secondary tender at $350B', impact: 'Up from $210B in December' },
      { date: 'Apr 21', kind: 'POST',   what: 'X "interest rates are too high" thread', impact: 'TSLA -2.4% · agent ignored signal · low base-rate' },
    ],
    fin45View: 'The agent holds 6% in TSLA and tracks NVDA correlation closely whenever an xAI cluster announcement hits. Musk\'s individual tweets are scored at base-rate 0.3 — they move tickers but rarely persist past two sessions.',
  },

  // ── S&P 500 / SPY tracker ────────────────────────────────────
  spy: {
    title: 'S&P 500 · SPY',
    subtitle: 'The benchmark, broken down by exposure.',
    overview: 'We track SPY as a benchmark, a thermometer, and a constituency: which sectors are bid, which top names are leading, and where Fin45\'s book sits relative to the index. Updated post-close.',
    headline: { px: '$542.30', d: '+0.8%', dir: 'up', ytd: '+8.4%', vsFin: 'Fin45 +3.24% vs SPY +2.10% since Day 1' },
    sectors: [
      { name: 'Information Technology', pct: 31.4, d: '+1.4%', dir: 'up' },
      { name: 'Financials',              pct: 13.1, d: '+0.4%', dir: 'up' },
      { name: 'Health Care',             pct: 11.0, d: '-0.2%', dir: 'dn' },
      { name: 'Consumer Discretionary',  pct: 10.6, d: '+1.1%', dir: 'up' },
      { name: 'Communication Services',  pct:  9.4, d: '+1.7%', dir: 'up' },
      { name: 'Industrials',             pct:  8.2, d: '+0.6%', dir: 'up' },
      { name: 'Consumer Staples',        pct:  5.6, d: '-0.3%', dir: 'dn' },
      { name: 'Energy',                  pct:  3.7, d: '-0.6%', dir: 'dn' },
      { name: 'Utilities',               pct:  2.4, d: '+0.1%', dir: 'up' },
      { name: 'Real Estate',             pct:  2.2, d: '-0.1%', dir: 'dn' },
      { name: 'Materials',               pct:  2.4, d: '+0.0%', dir: 'flat'},
    ],
    top: [
      { tk: 'NVDA',  name: 'Nvidia',           wt: '7.2%', d: '+2.4%', dir: 'up', held: true },
      { tk: 'AAPL',  name: 'Apple',            wt: '6.4%', d: '-0.6%', dir: 'dn', held: false },
      { tk: 'MSFT',  name: 'Microsoft',        wt: '6.1%', d: '+0.9%', dir: 'up', held: true },
      { tk: 'AMZN',  name: 'Amazon',           wt: '3.7%', d: '+1.3%', dir: 'up', held: false },
      { tk: 'GOOGL', name: 'Alphabet A',       wt: '2.1%', d: '+1.8%', dir: 'up', held: true },
      { tk: 'META',  name: 'Meta',             wt: '2.4%', d: '+2.1%', dir: 'up', held: false },
      { tk: 'GOOG',  name: 'Alphabet C',       wt: '1.8%', d: '+1.8%', dir: 'up', held: false },
      { tk: 'TSLA',  name: 'Tesla',            wt: '1.8%', d: '-0.4%', dir: 'dn', held: false },
      { tk: 'BRK.B', name: 'Berkshire',        wt: '1.5%', d: '+0.2%', dir: 'up', held: false },
      { tk: 'AVGO',  name: 'Broadcom',         wt: '1.6%', d: '+1.9%', dir: 'up', held: true },
      { tk: 'JPM',   name: 'JPMorgan',         wt: '1.3%', d: '+0.5%', dir: 'up', held: false },
      { tk: 'LLY',   name: 'Eli Lilly',        wt: '1.4%', d: '-0.9%', dir: 'dn', held: false },
    ],
    fin45View: 'Fin45 holds 4 of the SPY top 10 by weight (NVDA, MSFT, GOOGL, AVGO). The agent\'s overweight is in semis; the active short is mega-cap consumer (no AAPL, no AMZN, no TSLA). The Honest Number page tracks this delta daily.',
  },

  // ── Individual profiles (template-driven) ────────────────────
  // Politicians use TrackerPolitician template.
  // Founders use TrackerFounder template (Musk + Buffett currently).
  // Schema:
  //   kind: 'politician' | 'founder'
  //   header: { name, role, party?, chamber?, since, bio }
  //   stats:  [{ k, v, dir? }]   // 4–8 cells
  //   curve:  [number] (politician — tracked portfolio equity)
  //   empire: [...] (founder — companies/arms with mark-to-market)
  //   holdings: [{ tk, name, wt, d, dir, note? }]
  //   filings:  [...] (politician disclosures)
  //   moves:    [...] (founder event wire)
  //   tell:     string (the pattern they trade on)
  //   fin45:    string (Fin45 view)
  //   related:  [slug]
  profiles: {
    // ── PELOSI · canonical politician profile ────────────────────
    pelosi: {
      kind: 'politician',
      header: {
        name: 'Nancy Pelosi',
        role: 'Representative · CA-11 · House',
        party: 'D',
        chamber: 'House',
        since: 'In Congress since 1987 · Speaker emerita',
        bio: 'The most-watched single-member trader on Capitol Hill. The Pelosi family\'s disclosed trades are large, option-heavy, and concentrated in tech and AI — and they have consistently outperformed the S&P. Whether this reflects asymmetric information, sharp instincts, or a husband with a Cal Berkeley engineering degree and a venture portfolio depends on who you ask. The disclosures, regardless, are public.',
      },
      stats: [
        { k: 'YTD return',     v: '+34.2%',    dir: 'up' },
        { k: 'vs SPY',         v: '+24.6%',    dir: 'up' },
        { k: 'Filings YTD',    v: '9' },
        { k: 'Win rate (1yr)', v: '78%' },
        { k: 'Avg trade size', v: '$1M–$5M' },
        { k: 'Biggest pos.',   v: '$NVDA' },
        { k: 'Days to file',   v: '4.2 (avg)' },
        { k: 'Tracker since',  v: 'Day 1' },
      ],
      curve: [
        100000, 100420, 100780, 101120, 100940, 101380, 101840, 102110, 102540, 102910,
        103280, 103510, 103940, 104210, 103780, 104380, 104810, 105420, 105140, 105780,
        106240, 106480, 107010, 107540, 107280, 107940, 108410, 108920, 109340, 109120,
        109810, 110420, 110980, 111240, 111680, 112320, 112940, 113280, 113710, 114120,
        114540, 114780, 115320, 116010, 116540, 116920, 117240,
      ],
      holdings: [
        { tk: 'NVDA',  name: 'Nvidia',          wt: '14.2%', d: '+2.4%', dir: 'up' },
        { tk: 'AVGO',  name: 'Broadcom',        wt: '11.8%', d: '+1.9%', dir: 'up' },
        { tk: 'MSFT',  name: 'Microsoft',       wt:  '9.4%', d: '+0.9%', dir: 'up' },
        { tk: 'TSM',   name: 'Taiwan Semi',     wt:  '8.1%', d: '+2.1%', dir: 'up' },
        { tk: 'GOOGL', name: 'Alphabet',        wt:  '6.7%', d: '+1.8%', dir: 'up' },
        { tk: 'AAPL',  name: 'Apple',           wt:  '5.2%', d: '-0.6%', dir: 'dn' },
        { tk: 'CRM',   name: 'Salesforce',      wt:  '4.6%', d: '+0.4%', dir: 'up' },
        { tk: 'PANW',  name: 'Palo Alto',       wt:  '3.8%', d: '+1.2%', dir: 'up' },
      ],
      filings: [
        { date: 'May 14', action: 'BUY',  asset: 'NVDA · $1M–$5M',  why: '40 call options · strike $130, expiring Jun 2027 · same-day disclosure',  fileTime: '4d' },
        { date: 'May 8',  action: 'BUY',  asset: 'AVGO · $500K–$1M', why: '50 call options · strike $200, expiring Jan 2027',                         fileTime: '3d' },
        { date: 'Apr 22', action: 'BUY',  asset: 'TSM · $1M–$5M',    why: '30 call options · strike $200 · Jun 2026',                                  fileTime: '5d' },
        { date: 'Apr 18', action: 'SELL', asset: 'AAPL · $500K–$1M', why: 'Trimmed mega-cap exposure ahead of WWDC',                                   fileTime: '6d' },
        { date: 'Apr 8',  action: 'BUY',  asset: 'CRM · $250K–$500K',why: 'Following AI agent product announcement',                                   fileTime: '4d' },
        { date: 'Mar 28', action: 'BUY',  asset: 'GOOGL · $500K–$1M', why: '50 call options · strike $180, expiring Jan 2027',                          fileTime: '3d' },
        { date: 'Mar 14', action: 'BUY',  asset: 'PANW · $100K–$250K', why: 'Day before defense cybersecurity hearing',                                 fileTime: '5d' },
        { date: 'Mar 1',  action: 'SELL', asset: 'VST · $500K–$1M',   why: 'Closed full position · grid power thesis ran',                              fileTime: '4d' },
      ],
      tell: 'Long-dated calls on AI mega-caps, dated 9–18 months out, sized $500K–$5M per disclosure. The pattern is consistent across NVDA, AVGO, GOOGL, TSM. When you see a 30+ call options disclosure on a name that hasn\'t been touched in 6 months, the family is making a thesis bet.',
      fin45: 'The agent treats fresh Pelosi disclosures as a tier-1 signal — base-rate has been good and the position sizing telegraphs conviction. We do not blindly mirror; we corroborate with options flow and dark-pool data before sizing in. Roughly 40% of our AI-infra entries since Day 1 had a Pelosi disclosure inside the trailing 14-day window.',
      related: ['tuberville', 'gottheimer', 'crenshaw'],
    },

    // ── TUBERVILLE · politician with different trading style ─────
    tuberville: {
      kind: 'politician',
      header: {
        name: 'Tommy Tuberville',
        role: 'Senator · AL · Senate Armed Services',
        party: 'R',
        chamber: 'Senate',
        since: 'Senator since 2021 · Auburn coach prior',
        bio: 'A volume trader. Tuberville\'s disclosures span hundreds of small-to-medium positions across industrials, defense, energy, and tech — closer in shape to an active retail account than to a thesis-driven one. The interesting signal is concentration: when Tuberville stops his usual breadth and goes heavy on one name, something inside the committee schedule is usually driving it.',
      },
      stats: [
        { k: 'YTD return',     v: '+19.4%', dir: 'up' },
        { k: 'vs SPY',         v: '+11.0%', dir: 'up' },
        { k: 'Filings YTD',    v: '6' },
        { k: 'Win rate (1yr)', v: '64%' },
        { k: 'Avg trade size', v: '$50K–$250K' },
        { k: 'Biggest pos.',   v: '$LMT' },
        { k: 'Days to file',   v: '12.6 (avg)' },
        { k: 'Tracker since',  v: 'Day 1' },
      ],
      curve: [
        100000, 100120, 100340, 100610, 100440, 100920, 101280, 101510, 101840, 102110,
        102420, 102680, 102910, 102780, 103040, 103340, 103620, 103840, 104120, 104380,
        104210, 104620, 104940, 105280, 105540, 105820, 106110, 106340, 106580, 106820,
        107110, 107340, 107620, 107880, 108140, 108410, 108680, 108920, 109140, 109380,
        109620, 109840, 110120, 110340, 110620, 110840, 111120,
      ],
      holdings: [
        { tk: 'LMT',  name: 'Lockheed Martin',  wt: '12.1%', d: '+0.8%', dir: 'up' },
        { tk: 'NOC',  name: 'Northrop Grumman', wt:  '9.4%', d: '+1.2%', dir: 'up' },
        { tk: 'RTX',  name: 'RTX',              wt:  '7.8%', d: '+0.6%', dir: 'up' },
        { tk: 'XOM',  name: 'Exxon Mobil',      wt:  '6.4%', d: '-0.4%', dir: 'dn' },
        { tk: 'CVX',  name: 'Chevron',          wt:  '5.7%', d: '-0.6%', dir: 'dn' },
        { tk: 'NUE',  name: 'Nucor',            wt:  '4.8%', d: '+1.4%', dir: 'up' },
        { tk: 'PLTR', name: 'Palantir',         wt:  '4.1%', d: '+2.8%', dir: 'up' },
        { tk: 'CAT',  name: 'Caterpillar',      wt:  '3.6%', d: '+0.4%', dir: 'up' },
      ],
      filings: [
        { date: 'May 13', action: 'BUY',  asset: 'PLTR · $50K–$100K',  why: 'Cleared committee on AI procurement Tuesday',                fileTime: '14d' },
        { date: 'May 9',  action: 'BUY',  asset: 'LMT · $100K–$250K',  why: 'Day before defense appropriations markup',                    fileTime: '11d' },
        { date: 'Apr 29', action: 'BUY',  asset: 'NUE · $100K–$250K',  why: 'Day before tariff news on imported steel',                    fileTime: '13d' },
        { date: 'Apr 16', action: 'BUY',  asset: 'NOC · $50K–$100K',   why: 'Senate Armed Services budget review',                         fileTime: '15d' },
        { date: 'Mar 22', action: 'SELL', asset: 'F · $15K–$50K',      why: 'Closed small auto position',                                  fileTime: '8d' },
        { date: 'Mar 8',  action: 'BUY',  asset: 'XOM · $100K–$250K',  why: 'Energy hearing on permit reform',                             fileTime: '12d' },
      ],
      tell: 'Defense and energy names purchased within 3–7 days of a committee markup or hearing the senator sits on. Sizes are smaller than Pelosi\'s, but the timing is the signal. When you see two Tuberville disclosures in the same name within a month, that\'s the conviction marker.',
      fin45: 'Defense and industrial entries get a +0.05 conviction bump when a fresh Tuberville disclosure pre-dates the committee event by 2–14 days. The agent does not act on single signals here; it requires the committee schedule to be public and the disclosure to predate it.',
      related: ['pelosi', 'crenshaw', 'gottheimer'],
    },

    // ── TRUMP · executive branch ─────────────────────────────────
    trump: {
      kind: 'politician',
      header: {
        name: 'Donald Trump',
        role: 'President · 47th',
        party: 'R',
        chamber: 'Executive',
        since: 'Sworn in January 20, 2025',
        bio: 'The Office of Government Ethics requires the President to file periodic transaction reports for any reportable assets. Trump\'s disclosures are dominated by TMTG / DJT (Truth Social parent), commercial real-estate cash flows, and a smaller equities sleeve. The market-moving signal isn\'t the personal account — it\'s the rhetoric, the executive orders, and the tariff posture, all of which we track here.',
      },
      stats: [
        { k: 'YTD return',     v: '+8.6%',  dir: 'up' },
        { k: 'vs SPY',         v: '+0.2%',  dir: 'up' },
        { k: 'Disclosures YTD',v: '14' },
        { k: 'Largest holding',v: 'DJT · TMTG' },
        { k: 'Truth posts/d',  v: '~24' },
        { k: 'Tariff orders',  v: '6 YTD' },
        { k: 'EOs · economic', v: '11 YTD' },
        { k: 'Tracker since',  v: 'Day 1' },
      ],
      curve: [
        100000, 99820, 100120, 100340, 99840, 100210, 100540, 100380, 100720, 101010,
        101240, 101480, 101220, 101580, 101820, 102110, 101840, 102140, 102420, 102680,
        102420, 102780, 103040, 102810, 103140, 103420, 103180, 103480, 103740, 104020,
        103780, 104110, 104380, 104120, 104420, 104680, 104940, 105210, 105480, 105720,
        105480, 105820, 106120, 106410, 106180, 106540, 106820,
      ],
      holdings: [
        { tk: 'DJT',  name: 'Trump Media (TMTG)', wt: '52.1%', d: '+3.4%', dir: 'up' },
        { tk: 'CASH', name: 'Cash · CDs',         wt: '24.6%', d: '+0.0%', dir: 'up' },
        { tk: 'GOLD', name: 'Physical gold',       wt:  '8.1%', d: '+0.4%', dir: 'up' },
        { tk: 'XLE',  name: 'Energy ETF',          wt:  '4.7%', d: '-0.6%', dir: 'dn' },
        { tk: 'BTC',  name: 'Bitcoin',             wt:  '3.4%', d: '+2.1%', dir: 'up' },
        { tk: 'XLF',  name: 'Financials ETF',      wt:  '2.8%', d: '+0.4%', dir: 'up' },
      ],
      filings: [
        { date: 'May 10', action: 'EO',   asset: 'Tariff · steel imports + 25%', why: 'Executive order, immediate effect — NUE +6.4% on day',   fileTime: '0d' },
        { date: 'May 6',  action: 'POST', asset: 'Truth · "interest rates should be cut now"', why: 'Bond yields -8bps in 20 minutes',         fileTime: '0d' },
        { date: 'Apr 28', action: 'EO',   asset: 'Crypto · federal Bitcoin reserve frame', why: 'BTC +14% on the week',                         fileTime: '0d' },
        { date: 'Apr 18', action: 'POST', asset: 'Truth · "China deal coming"', why: 'CN tariffs walked back · CHIX +5.2% intraday',           fileTime: '0d' },
        { date: 'Apr 14', action: 'EO',   asset: 'Energy · permit acceleration', why: 'XLE +3.8% on the day',                                    fileTime: '0d' },
        { date: 'Apr 2',  action: 'POST', asset: 'Truth · "Powell must go"', why: 'DXY -0.7% before walk-back at close',                         fileTime: '0d' },
        { date: 'Mar 24', action: 'EO',   asset: 'Tariff · auto imports + 25%', why: 'F -8.4%, GM -7.1% same day',                              fileTime: '0d' },
      ],
      tell: 'The signal isn\'t the personal portfolio — it\'s the post and the executive order. We weight Truth Social posts by the policy domain they touch: monetary > trade > energy > geopolitical. EOs are scored on persistence (do markets believe it stays in effect past 90 days?) rather than on impact day.',
      fin45: 'Trump posts and EOs are the highest-volatility political signal we track. The agent does not chase same-day moves on either. Instead it watches for the second wave — the names that were displaced by the move but didn\'t recover within 72 hours. Those are usually the entries.',
      related: ['pelosi', 'tuberville', 'kennedy'],
    },

    // ── MUSK · founder template (canonical) ──────────────────────
    musk: {
      kind: 'founder',
      header: {
        name: 'Elon Musk',
        role: 'CEO · TSLA · xAI · X · SpaceX · Boring · Neuralink',
        since: 'Empire active since 2002',
        bio: 'The single most-correlated individual to single-name volatility in public US markets. Musk\'s tweets, comp packages, secondary tenders, and 13G filings move billions of dollars in valuation across an empire of seven public and private companies. We track every event that touches the mark-to-market.',
      },
      stats: [
        { k: 'YTD return',     v: '+12.4%', dir: 'up' },
        { k: 'Empire mark',    v: '$1.47T' },
        { k: 'Companies',      v: '7 · 1 public' },
        { k: 'Events YTD',     v: '11' },
        { k: 'X followers',    v: '210M' },
        { k: 'TSLA stake',     v: '13%' },
        { k: 'xAI stake',      v: '~54%' },
        { k: 'Tracker since',  v: 'Day 1' },
      ],
      empire: [
        { name: 'Tesla',         ticker: 'TSLA', mv: '$1.04T', ytd: '+18.4%', exposure: '~13%' },
        { name: 'SpaceX',        ticker: 'PRIV', mv: '$350B',  ytd: '+24%',   exposure: '~42%' },
        { name: 'xAI',           ticker: 'PRIV', mv: '$50B',   ytd: '+150%',  exposure: '~54%' },
        { name: 'X (Twitter)',   ticker: 'PRIV', mv: '$19B',   ytd: '-58%',   exposure: '~74%' },
        { name: 'Boring Co',     ticker: 'PRIV', mv: '$7B',    ytd: '+12%',   exposure: '~90%' },
        { name: 'Neuralink',     ticker: 'PRIV', mv: '$5B',    ytd: '+8%',    exposure: '~75%' },
      ],
      moves: [
        { date: 'May 14', kind: 'COMP',   what: 'Tesla board approves $1B equity grant tied to robotaxi launch metrics', impact: 'TSLA -1.2% on day · long-term incentive' },
        { date: 'May 12', kind: 'RAISE',  what: 'xAI raises $6B at $50B post-money valuation',                            impact: 'Roughly doubles xAI mark from December' },
        { date: 'May 9',  kind: 'POST',   what: 'Tweets Cybertruck production at 1,000/week',                              impact: 'TSLA +3.4% intraday · retraced by close' },
        { date: 'May 6',  kind: 'FILING', what: '13G filed: 9.4% in Bitcoin trust · indirect',                              impact: 'BTC +1.8% in 30 minutes' },
        { date: 'May 2',  kind: 'COMP',   what: 'Reaches second tranche on 2018 comp package after Q1 numbers',             impact: 'Unlocks ~$28B in TSLA options · vesting' },
        { date: 'Apr 28', kind: 'POST',   what: 'Confirms xAI Memphis cluster online · 200K H100s',                          impact: 'NVDA +2.1% · core fleet thesis intact' },
        { date: 'Apr 24', kind: 'RAISE',  what: 'SpaceX secondary tender at $350B',                                          impact: 'Up from $210B in December' },
        { date: 'Apr 21', kind: 'POST',   what: 'X "interest rates are too high" thread',                                    impact: 'TSLA -2.4% · agent ignored signal · low base-rate' },
      ],
      tell: 'Comp grants and funding rounds are the durable signals. Tweets are volatility, not direction. We weight events by persistence: a comp-tranche unlock or a confirmed funding round trades through the cycle; a TSLA-pumping tweet decays within 48 hours and is usually a fade.',
      fin45: 'The agent holds 6% in TSLA and tracks NVDA correlation closely whenever an xAI cluster announcement hits. Musk\'s individual tweets are scored at base-rate 0.3 — they move tickers but rarely persist past two sessions.',
      related: ['huang', 'altman', 'buffett'],
    },

    // ── BUFFETT · founder template variant ───────────────────────
    buffett: {
      kind: 'founder',
      header: {
        name: 'Warren Buffett',
        role: 'Chairman · Berkshire Hathaway',
        since: 'Berkshire since 1965 · stepping back 2025',
        bio: 'The most public long-term holder of equities in history, Buffett\'s positions are disclosed quarterly via Berkshire\'s 13F. The signal isn\'t the trades — it\'s the conviction. A new Berkshire position, or a meaningful trim of a long-held one, is the loudest move in equities short of an index reconstitution.',
      },
      stats: [
        { k: 'YTD return',     v: '+6.1%',   dir: 'up' },
        { k: 'vs SPY',         v: '-2.3%',   dir: 'dn' },
        { k: 'Filings YTD',    v: '4 · 13Fs' },
        { k: 'Cash position',  v: '$182B' },
        { k: 'Top holding',    v: '$AAPL' },
        { k: 'Public since',   v: '1965' },
        { k: 'Avg hold',       v: '11 years' },
        { k: 'Tracker since',  v: 'Day 1' },
      ],
      empire: [
        { name: 'Apple position',        ticker: 'AAPL', mv: '$172B',  ytd: '-0.6%',  exposure: 'Trim · 26% to 22%' },
        { name: 'BofA position',          ticker: 'BAC',  mv: '$42B',   ytd: '+8.4%',  exposure: 'Steady · 13%' },
        { name: 'Coca-Cola position',     ticker: 'KO',   mv: '$28B',   ytd: '+4.2%',  exposure: 'Steady · forever' },
        { name: 'Chevron position',       ticker: 'CVX',  mv: '$18B',   ytd: '-2.1%',  exposure: 'Trim · 18% to 14%' },
        { name: 'Occidental position',    ticker: 'OXY',  mv: '$16B',   ytd: '+1.4%',  exposure: 'Build · 26% to 28%' },
        { name: 'Insurance float',        ticker: 'BRK',  mv: '$182B',  ytd: '—',      exposure: 'Cash + treasuries' },
      ],
      moves: [
        { date: 'May 9',  kind: 'FILING', what: 'Q1 13F: trims AAPL by 18%, adds OXY', impact: 'AAPL -3.2%, OXY +6.4% the day after the 13F' },
        { date: 'Apr 28', kind: 'POST',   what: 'Annual letter: "cash is at $182B for a reason"', impact: 'Read as defensive — index futures -0.8% on Monday' },
        { date: 'Mar 14', kind: 'FILING', what: 'Q4 13F: closed PARA, trimmed BAC by 8%', impact: 'PARA -12% on the disclosure' },
        { date: 'Mar 2',  kind: 'POST',   what: 'CNBC interview: "rates higher for longer"', impact: '10Y yields +4bps' },
        { date: 'Feb 24', kind: 'POST',   what: 'Annual meeting: succession plans confirmed', impact: 'BRK.B unchanged · meeting was uneventful' },
      ],
      tell: 'Net trims and net builds in long-held positions. When Buffett trims AAPL — a 26%-of-book position — by even a few percentage points, it\'s a four-letter sentence about valuation. The cash pile is a sentence too: $182B at quarter-end is a thesis bet on the next entry, not a passive accumulation.',
      fin45: 'The agent treats Berkshire 13Fs as quarterly thesis updates rather than trade signals — too slow for the daily cycle, too loud to ignore. The cash-position-as-percent-of-book is one of three inputs to our macro risk-on / risk-off determination.',
      related: ['ackman', 'griffin', 'burry'],
    },
  },
};

window.FIN_TRACKERS = FIN_TRACKERS;
