{
  "version": 1,
  "_schema": {
    "id": "slug (lowercase, hyphenated) - also the folder name under data/streams/<id>/",
    "name": "display name (exact brand spelling)",
    "kind": "interview-archive | bootcamp | bounty | protocol-feature | workshop | space",
    "status": "live | upcoming | archived",
    "color": "ZAO palette key: orange | cyan | gold | pink | zabal",
    "summary": "1-2 sentence what it is",
    "ties_to_zabal": "how this stream feeds ZABAL Gamez",
    "links": "array of {label, url}",
    "ideas": "array of strings - ideas/threads surfaced from this stream that bots or builders can pick up",
    "pull": "ingest config the pull script reads. type: github-content | haatz | static. plus type-specific fields (repo, paths, ref, fid, channel)",
    "raw_dir": "where captured raw files land (relative to repo root)"
  },
  "_pipeline": "Each entry is an active (or upcoming) source of raw activity that feeds ZABAL Gamez. scripts/pull-data-streams.mjs reads each stream's `pull` config, fetches live data, writes raw captures to raw_dir, appends normalized entries to data/streams/timeline.json (the merged chronological feed), and emits a /tmp/zabal-dispatch-streams-*.md dispatch. The existing scripts/aggregate-dispatches.mjs then merges that dispatch into data/bonfire-graph.json, and scripts/push-to-bonfire.mjs pushes it to the ZABAL Bonfire. Raw files + summary + ideas stay together per stream; Bonfire holds the graph; any bot reads the registry, the timeline, or the graph and builds on top.",
  "streams": [
    {
      "id": "bcz-yapz",
      "name": "BCZ YapZ",
      "kind": "interview-archive",
      "status": "live",
      "color": "cyan",
      "summary": "Zaal's long-form interview show - conversations with a builder, founder, or organizer working on something worth understanding.",
      "ties_to_zabal": "Episode transcripts surface the people, tools, and threads moving through the ZAO ecosystem. BCZ YapZ already generates content/bonfire-ingest/ files from each transcript, so it is a native Bonfire feeder - the same memory layer ZABAL Gamez runs on.",
      "links": [
        {
          "label": "bczyapz.com",
          "url": "https://www.bczyapz.com/"
        },
        {
          "label": "github - bettercallzaal/bcz-yapz",
          "url": "https://github.com/bettercallzaal/bcz-yapz"
        }
      ],
      "ideas": [
        "Auto-link each YapZ guest to their Bonfire entity + Farcaster FID so a guest's other ZAO activity threads into the same graph node.",
        "A ZABAL Gamez surface that pulls the latest YapZ episode and renders its bonfire-ingest summary as a card.",
        "Cross-reference YapZ guests against the ZABAL Gamez mentor + workshop-lead roster - overlap is a recruiting signal."
      ],
      "pull": {
        "type": "github-content",
        "repo": "bettercallzaal/bcz-yapz",
        "ref": "main",
        "paths": [
          "content/transcripts",
          "content/bonfire-ingest"
        ]
      },
      "raw_dir": "data/streams/bcz-yapz/raw"
    },
    {
      "id": "farcaster-agentic-bootcamp",
      "name": "Farcaster Agentic Bootcamp",
      "kind": "bootcamp",
      "status": "archived",
      "color": "zabal",
      "summary": "Two-week online program (Mar 30 - Apr 10 2026) co-hosted by Builders Garden + Dev3Pack - zero to building autonomous agents and miniapps on the Farcaster social graph, deployed live to compete in FarHack Online 2026.",
      "ties_to_zabal": "This is the origin thread. The bootcamp fed FarHack, where Zaal/Zlank won the Snap category ($1,000), and that prize money went to ZAOstock. The agent + miniapp patterns taught here are the same rails ZABAL Gamez builds on.",
      "links": [
        {
          "label": "Bootcamp portal (Notion)",
          "url": "https://builders-garden.notion.site/farcaster-agentic-bootcamp"
        },
        {
          "label": "Luma",
          "url": "https://luma.com/f7ok6tbp"
        },
        {
          "label": "FarHack",
          "url": "https://github.com/farhackxyz/farhack"
        }
      ],
      "ideas": [
        "Distill the bootcamp curriculum (agents, memory, identity, wallets, onchain commerce, viral distribution, multi-agent) into a ZABAL Gamez builder prep track.",
        "Map the FarHack -> $1,000 -> ZAOstock funding path as a worked example of the ZAO flywheel for the about / context page.",
        "Index the bootcamp session videos as timeline entries so the lineage is queryable in Bonfire."
      ],
      "pull": {
        "type": "static",
        "note": "Notion portal + YouTube sessions are not API-pulled. Timeline entries for this stream are curated in timeline.json."
      },
      "raw_dir": "data/streams/farcaster-agentic-bootcamp/raw"
    },
    {
      "id": "zao-festivals-bounty",
      "name": "ZAO Festivals $500 Bounty",
      "kind": "bounty",
      "status": "live",
      "color": "gold",
      "summary": "The ZAO festivals team funds the ZABAL Gamez Season 1 prize pool - $500 USDC for v0, tiered across finalists, plus a commemorative collectible for every finisher.",
      "ties_to_zabal": "This is the prize pool itself. Every finalist who ships gets paid from it. Sponsor inquiries to grow the v1 pool: info@thezao.com.",
      "links": [
        {
          "label": "Finals settlement",
          "url": "/finals"
        },
        {
          "label": "Sponsor outreach",
          "url": "/docs/sponsor-outreach-2026-05-26.md"
        },
        {
          "label": "thezao.com",
          "url": "https://thezao.com"
        }
      ],
      "ideas": [
        "Live bounty tracker: total pool, committed sponsors, per-tier payout, settled-to-date - published as a JSON leaderboard Empire Builder can pull.",
        "Onchain attestation (EAS) per finisher tied to the bounty payout tx.",
        "Sponsor pipeline board - who is in conversation to grow the v1 pool."
      ],
      "pull": {
        "type": "static",
        "note": "Bounty milestones are curated in timeline.json. A future onchain pull (payout txs on Base) can replace the static entries."
      },
      "raw_dir": "data/streams/zao-festivals-bounty/raw"
    },
    {
      "id": "farcaster-batches",
      "name": "Farcaster Batches",
      "kind": "event",
      "status": "live",
      "color": "orange",
      "summary": "GM Farcaster's week-long builder showcase where projects present their work live. Run and hosted publicly by GM Farcaster; ZABAL Gamez takes part and adds a summary + transcript for each day.",
      "ties_to_zabal": "A stage for ZABAL Gamez work. A week-long GM Farcaster-hosted showcase (Jun 1-5 2026) organized by JubJub. Day 1 (Jun 1) featured Vini App, POIDH, Juke, Founder Check, Fotocaster and Dr. Deeks; Day 2 (Jun 2) was a live Founder Check workshop; Day 3 (Jun 3) featured Zaal (ZABAL Gamez / The ZAO), yerbearserker and azflin, running NFT raffles to holders of the Yerbearserker Mate collab mint; Day 5 (Jun 5) featured DEKEY, POWER, betrmint and Runner. GM Farcaster hosts the videos on their episode pages; we add the summaries + transcripts captured here.",
      "links": [
        {
          "label": "The builders (all days)",
          "url": "/farcaster-batches"
        },
        {
          "label": "Watch Day 1 on GM Farcaster",
          "url": "https://www.gmfarcaster.com/episodes/Batches1"
        },
        {
          "label": "Watch Day 2 on GM Farcaster",
          "url": "https://www.gmfarcaster.com/episodes/Batches2"
        },
        {
          "label": "Watch Day 3 on GM Farcaster",
          "url": "https://www.gmfarcaster.com/episodes/Batches3"
        },
        {
          "label": "Watch Day 5 on GM Farcaster",
          "url": "https://www.gmfarcaster.com/episodes/Batches5"
        },
        {
          "label": "Day 1 transcript (Jun 1) - builder chat",
          "url": "/data/streams/farcaster-batches/raw/transcripts/2026-06-01-farcaster-batches.md"
        },
        {
          "label": "Day 2 transcript (Jun 2) - Founder Check workshop",
          "url": "/data/streams/farcaster-batches/raw/transcripts/2026-06-02-farcaster-batches.md"
        },
        {
          "label": "Day 3 transcript (Jun 3) - builder chat",
          "url": "/data/streams/farcaster-batches/raw/transcripts/2026-06-03-farcaster-batches.md"
        },
        {
          "label": "Day 5 transcript (Jun 5) - builder chat",
          "url": "/data/streams/farcaster-batches/raw/transcripts/2026-06-05-farcaster-batches.md"
        }
      ],
      "ideas": [
        "Add Farcaster Batches session transcripts under raw/transcripts as they are shared, same convention as the workshop transcripts.",
        "Cross-link each ZABAL Gamez project that presents at a Batches showcase to its workshop lead and Bonfire entity."
      ],
      "pull": {
        "type": "static",
        "note": "Event/showcase. Sessions are curated in timeline.json; transcripts land under raw_dir as they are shared."
      },
      "raw_dir": "data/streams/farcaster-batches/raw"
    },
    {
      "id": "zabal-games-workshops",
      "name": "ZABAL Gamez Workshops",
      "kind": "workshop",
      "status": "live",
      "color": "pink",
      "summary": "June workshop month - ZAO builders each record a ~30-min session on tools they have built. The whole library is recorded, watchable live or after.",
      "ties_to_zabal": "The workshops are the deep-context onboarding for builders. Raw session recordings + transcripts + summaries are the richest ZABAL Gamez data stream - they directly seed what people build in July.",
      "links": [
        {
          "label": "Workshop sign-up",
          "url": "/lead"
        },
        {
          "label": "Workshop leads",
          "url": "/data/workshop-leads.json"
        }
      ],
      "ideas": [
        "Per-session: raw recording link + auto-transcript + 3-bullet summary + the tool/rail it covers, all landing as one timeline entry.",
        "Tag each session to the Bonfire entity for the tool it covers, so a builder querying that tool finds the workshop.",
        "Generate a 'which workshop should I watch' recommender from a builder's declared project."
      ],
      "pull": {
        "type": "static",
        "note": "Session metadata lives in data/workshop-leads.json. As recordings land, add transcript files under raw_dir and a timeline entry per session."
      },
      "raw_dir": "data/streams/zabal-games-workshops/raw"
    },
    {
      "id": "zabal-games",
      "name": "ZABAL Gamez",
      "kind": "event",
      "status": "live",
      "color": "orange",
      "summary": "The facts about ZABAL Gamez itself - the positioning and proof points worth spreading. Each is one-tap shareable into /zabal.",
      "ties_to_zabal": "This is ZABAL Gamez. The facts stream turns the strongest, verified points into shareable timeline entries so the brand spreads as facts, not hype.",
      "links": [
        {
          "label": "Sign up",
          "url": "/lead"
        },
        {
          "label": "Positioning",
          "url": "/docs/positioning-2026-05-29.md"
        }
      ],
      "ideas": [
        "Share a fact a day into /zabal during the run-up to June.",
        "Turn the highest-engagement facts into the homepage proof badges.",
        "Capture builder quotes as new facts once the cold-DM test returns."
      ],
      "pull": {
        "type": "static",
        "note": "Facts are curated in timeline.json under stream zabal-games. Keep them verified - proven facts only, no hype."
      },
      "raw_dir": "data/streams/zabal-games/raw"
    }
  ]
}
