{
  "schema": "rapp-vision-network/1.0",
  "hive_schema": "rapp-hive/1.0",
  "id": "rapp.public.vision",
  "name": "RAPP Hive",
  "visibility": "public",
  "revision": {
    "sequence": 7,
    "updated": "2026-09-06T14:36:08Z"
  },
  "peers": [],
  "_note": "RAPP Hive is the most universal contribution layer: a parking lot of federated channel.json URLs. Channels stay in their own repos; anyone can run a registry or add a channel locally without asking permission. Open a PR only if you want default listing.",
  "channels": [
    {
      "id": "rock-tumbler",
      "name": "Rock Tumbler",
      "url": "channel.json",
      "repo": "https://github.com/kody-w/rapp-vision",
      "legacy": "legacy-publications-2026-08-31"
    },
    {
      "id": "localfirsttools",
      "name": "Local First Tools",
      "url": "../localFirstTools/rappvision/channel.json",
      "repo": "https://github.com/kody-w/localFirstTools",
      "legacy": "legacy-publications-2026-08-31",
      "_why": "Origin-relative on purpose: kody-w.github.io serves every repo from one origin, so this resolves in production AND in local testing. It also keeps the player same-origin with the apps, which is what makes live replay possible."
    },
    {
      "id": "learnwithkody",
      "name": "Learn with Kody",
      "url": "../learnwithkody/rappvision/channel.json",
      "repo": "https://github.com/kody-w/kody-w.github.io",
      "legacy": "legacy-publications-2026-08-31",
      "_why": "Origin-relative, like the others: the channel lives in the site repo next to the examples it documents, and still plays here."
    },
    {
      "id": "catchup",
      "name": "Catch-up",
      "url": "../catchup/rappvision/channel.json",
      "repo": "https://github.com/kody-w/catchup",
      "legacy": "legacy-publications-2026-08-31",
      "_why": "Origin-relative, like the others: the channel lives in the repo that already serves the video file, so the player and the media stay same-origin."
    },
    {
      "id": "field-notes",
      "name": "Field Notes",
      "url": "../rappvision-field-notes/rappvision/channel.json",
      "repo": "https://github.com/kody-w/rappvision-field-notes",
      "legacy": "legacy-publications-2026-08-31",
      "_why": "Origin-relative, like the others: kody-w.github.io serves every repo from one origin, so this resolves in production and in local testing, and keeps the player same-origin with the media."
    },
    {
      "id": "rooms",
      "name": "Rooms",
      "url": "../localFirstTools/rappvision/rooms/channel.json",
      "repo": "https://github.com/kody-w/localFirstTools",
      "legacy": "legacy-publications-2026-08-31",
      "_why": "Ships no video at all — every entry is a live script over a real WebGL room in the same repo. The proof that live replay is a medium and not just a demo."
    },
    {
      "id": "arcade",
      "name": "Arcade",
      "url": "../localFirstTools/rappvision/arcade/channel.json",
      "repo": "https://github.com/kody-w/localFirstTools",
      "legacy": "legacy-publications-2026-08-31",
      "_why": "Games and emulators, booted and played live. Pause any entry and you are holding the controller."
    },
    {
      "id": "workbench",
      "name": "The Workbench",
      "url": "../localFirstTools/rappvision/workbench/channel.json",
      "repo": "https://github.com/kody-w/localFirstTools",
      "legacy": "legacy-publications-2026-08-31",
      "_why": "Production tools — a DAW, a vector editor, a spreadsheet — driven live. A tool demo you can seize control of is a different thing from a tool demo you watch."
    },
    {
      "id": "openrappter-training",
      "name": "OpenRappter Training",
      "url": "openrappter-training/channel.json",
      "repo": "https://github.com/kody-w/openrappter",
      "legacy": "legacy-publications-2026-08-31",
      "_why": "Relative like rock-tumbler, because the channel lives in THIS repo — it documents a sibling project but ships from here. Eight card-only modules with no media file of any kind: the lesson is the description, and every command in it was run before it was written."
    },
    {
      "id": "tumbler",
      "name": "The Tumbler",
      "url": "../rapp-vision-neighborhood/tumbler/channel.json",
      "repo": "https://github.com/kody-w/rapp-vision-neighborhood",
      "legacy": "legacy-publications-2026-08-31",
      "_why": "Origin-relative, like the others. Written by a hatched twin rather than a person: a daily tumble report whose every claim is a number it fetched. On a day nothing moved it publishes nothing, which is the point - a channel that always has content teaches you to skim it."
    },
    {
      "id": "fieldguide",
      "name": "Field Guide",
      "url": "../rapp-vision-neighborhood/fieldguide/channel.json",
      "repo": "https://github.com/kody-w/rapp-vision-neighborhood",
      "legacy": "legacy-publications-2026-08-31",
      "_why": "The other half of the same experiment: a second twin, pointed outward instead of inward. Each episode covers one app no channel here has covered, described only with facts fetched from the app itself. Both channels are watched by sentinels for the failure that hides - up, serving 200, quietly stopped posting."
    },
    {
      "id": "prompt-frontier",
      "name": "Prompt Frontier",
      "url": "../rappvision-prompt-frontier/channel.json",
      "repo": "https://github.com/kody-w/rappvision-prompt-frontier",
      "legacy": "legacy-publications-2026-08-31",
      "_why": "Evidence-backed RappterBox experiments: exact prompts become visible worlds, institutions, languages, crises, and receipts. Static HyperFrames films and live title-card or app replays share one channel."
    },
    {
      "id": "dada-collective",
      "name": "Dada Collective",
      "url": "dada/channel.json",
      "repo": "https://github.com/kody-w/rapp-vision",
      "legacy": "legacy-publications-2026-08-31",
      "_why": "Verified Dada works mirrored from the Public Art Collective."
    },
    {
      "id": "frame-chains",
      "name": "Frame Chains",
      "url": "frame-chains/channel.json",
      "repo": "https://github.com/kody-w/frame-chains",
      "contract": "rapp-vision-channel/2.0",
      "_why": "Five paired publications: newcomer-first encoded films plus live executable proofs covering ten synthetic Frame Chains worlds."
    },
    {
      "id": "signal-garden",
      "name": "Signal Garden",
      "url": "../rappvision-signal-garden/channel.json",
      "repo": "https://github.com/kody-w/rappvision-signal-garden",
      "contract": "rapp-vision-channel/2.0",
      "_why": "A botanical systems documentary paired with an anomaly, healing, and exact-reset garden replay."
    },
    {
      "id": "null-arcade",
      "name": "Null Arcade",
      "url": "../rappvision-null-arcade/channel.json",
      "repo": "https://github.com/kody-w/rappvision-null-arcade",
      "contract": "rapp-vision-channel/2.0",
      "_why": "A portrait integrity speedrun whose verified record survives a visibly rejected cheat."
    },
    {
      "id": "tiny-bureau",
      "name": "Tiny Bureau",
      "url": "../rappvision-tiny-bureau/channel.json",
      "repo": "https://github.com/kody-w/rappvision-tiny-bureau",
      "contract": "rapp-vision-channel/2.0",
      "_why": "An investigative case file that proves a discrepancy while refusing an unsupported accusation."
    },
    {
      "id": "kitchen-table-physics",
      "name": "Kitchen Table Physics",
      "url": "../rappvision-kitchen-table-physics/channel.json",
      "repo": "https://github.com/kody-w/rappvision-kitchen-table-physics",
      "contract": "rapp-vision-channel/2.0",
      "_why": "A paper-tabletop force experiment paired with a bounded simulator and explicit invalid-input rejection."
    },
    {
      "id": "after-midnight-maps",
      "name": "After Midnight Maps",
      "url": "../rappvision-after-midnight-maps/channel.json",
      "repo": "https://github.com/kody-w/rappvision-after-midnight-maps",
      "contract": "rapp-vision-channel/2.0",
      "_why": "An ambient route essay paired with a movable waypoint, preserved alternative, invalid move, and exact reset."
    },
    {
      "id": "patch-notes-tomorrow",
      "name": "Patch Notes from Tomorrow",
      "url": "../rappvision-patch-notes-tomorrow/channel.json",
      "repo": "https://github.com/kody-w/rappvision-patch-notes-tomorrow",
      "contract": "rapp-vision-channel/2.0",
      "_why": "A fictional future bulletin paired with two deterministic branches, comparison, and baseline restoration."
    },
    {
      "id": "repair-manual",
      "name": "The Repair Manual",
      "url": "../rappvision-repair-manual/channel.json",
      "repo": "https://github.com/kody-w/rappvision-repair-manual",
      "contract": "rapp-vision-channel/2.0",
      "_why": "An exact-fit teardown film paired with inspect, near-match rejection, exact-part acceptance, restoration, and reset."
    },
    {
      "id": "one-minute-orchestra",
      "name": "One Minute Orchestra",
      "url": "../rappvision-one-minute-orchestra/channel.json",
      "repo": "https://github.com/kody-w/rappvision-one-minute-orchestra",
      "contract": "rapp-vision-channel/2.0",
      "_why": "A square music performance paired with a noncanonical remix, locked source, rejected source edit, and exact reset."
    },
    {
      "id": "creature-office-hours",
      "name": "Creature Office Hours",
      "url": "../rappvision-creature-office-hours/channel.json",
      "repo": "https://github.com/kody-w/rappvision-creature-office-hours",
      "contract": "rapp-vision-channel/2.0",
      "_why": "A synthetic nature film paired with feeding, reproduction, lineage inspection, impossible-trait rejection, and reset."
    },
    {
      "id": "receipt-culture",
      "name": "Receipt Culture",
      "url": "../rappvision-receipt-culture/channel.json",
      "repo": "https://github.com/kody-w/rappvision-receipt-culture",
      "contract": "rapp-vision-channel/2.0",
      "_why": "An editorial provenance film paired with reveal, comparison, exact field identification, rejection, and reset."
    },
    {
      "id": "new-way-of-work",
      "name": "The New Way of Work",
      "url": "../rappvision-new-way-of-work/channel.json",
      "repo": "https://github.com/kody-w/rappvision-new-way-of-work",
      "contract": "rapp-vision-channel/2.0",
      "_why": "Narration-neutral production drafts paired with live, creator-driven storyboards for an open AI-worker build series."
    },
    {
      "id": "tiny-systems",
      "name": "Tiny Systems",
      "url": "tiny-systems/channel.json",
      "repo": "https://github.com/kody-w/rapp-vision",
      "contract": "rapp-vision-channel/2.0",
      "_why": "Three deterministic micro-lessons with encoded orientation films and live proofs of acceptance, visible rejection, preserved state, and exact reset."
    },
    {
      "id": "working-proofs",
      "name": "Working Proofs",
      "url": "working-proofs/channel.json",
      "repo": "https://github.com/kody-w/rapp-vision",
      "contract": "rapp-vision-channel/2.0",
      "_why": "A recurring public channel for reviewed work whose measurable result, visible failure, controls, and exact reset remain executable."
    },
    {
      "id": "inside-immunity",
      "name": "Inside Immunity",
      "url": "inside-immunity/channel.json",
      "repo": "https://github.com/kody-w/rapp-vision",
      "contract": "rapp-vision-channel/2.0",
      "_why": "An original five-minute T-cell lesson paired with a live recognition lab: test a matching encounter, reject incompatible actions, preserve the accepted result, and reset."
    }
  ]
}
