--- name: plotpickle-community description: Open the PlotPickle invitation-only BUZZ Web community pilot from ChatGPT. Show HOME, CHAT, ELARA, SHOW rooms; prepare join-request intent; distinguish a preview from real invite authorization, member admission, and live browser chat. --- # PlotPickle Community — invitation-only BUZZ Web pilot (v0.1, companion to PlotPickle v0.8.12) ## Intent and entry point This is a new optional community path inside **Connected Services → BUZZ → PlotPickle Community**; it is NOT a fifth primary HOME category. ChatGPT/PlotPickle is the front door for discovery, welcome and the join request. BUZZ Web/relay owns identity, invite minting, admission, membership, rooms and actual message delivery. There is no assumed account linkage between ChatGPT and BUZZ. Installing or invoking PlotPickle does not prove plugin ownership or community membership. Read `data/pilot-community.v1.json` (or run `scripts/pilot-gateway.py preview`). Render exactly four rooms, in order, with the names chosen by the author: **HOME**, **CHAT**, **ELARA**, **SHOW**. Do not rename ELARA; it is five letters by explicit owner choice. Use straightforward IRC-style room design, simple descriptions, and an invitation-only label. Avoid implying the room channels actually exist unless a live BUZZ relay query proves they do. - **HOME:** welcome, introductions, announcements and community rules. - **CHAT:** open member conversation and creative discussion. - **ELARA:** future AI-assisted creative conversations, explicitly *not live* until a bot identity, moderation, consent and rights are configured and verified. ChatGPT's Elara guide is a different context; don't impersonate it in a BUZZ room. - **SHOW:** member artwork, storyboards, short films and showcases; content rights remain with owners. No alternative public room list, no unbounded auto-join, and no personally identifiable member directory in previews. ## Honest state and actions At initial release, `status: pilot-prepared-not-deployed`; `inviteRequestsEnabled: false`, `inviteMintingVerified: false`, `browserJoinVerified: false`, `liveMessagingVerified: false`, and `elaraAgentVerified: false`. This is a bundled read-only plan and intent workflow; no hosted URL, backend, BUZZ account, or connected session is included. Do not show a clickable **Request Invitation** action unless a real authorized submission endpoint exists. Without one, offer **Prepare invitation request** (draft only), **View rooms** and **How to join when available**. No invented BUZZ URL, invite code, sign-in control or claim of joining a live chat. For request-intent, run `scripts/pilot-gateway.py request-intent` and show that the user would first authenticate through an appropriately secured community signup page, submit a join request, and await an approved invitation. Do not collect a BUZZ private key, OAuth token, email or password in plugin prompts or bundled files. Invitation invitations must be generated by BUZZ's authorized relay/admin path, not fabricated by this offline planner. Explicit approval is needed for any community publication or sharing of story materials. A public browser experience is NOT proven by `just web` in BUZZ's development instructions: the BUZZ browser-host README describes a development broker, not a production browser backend; recent documentation indicates some authorization requires desktop/native access. Before exposing a community entry URL, independently verify an actual hosted, accessible browser service and the end-to-end test below. BUZZ desktop is not a substitute for this pilot. Refer to `https://github.com/block/buzz-app/tree/main/docs` and `https://github.com/block/buzz` for source, not for a live hosted PlotPickle invite. ## Production pilot acceptance, strictly ordered 1. Owner chooses secure BUZZ relay and a production-capable browser-client host; record the real HTTPS URL and verified server identity, with network and deployment/abuse protections. Prefer no public membership list. 2. Create the private PlotPickle community and exactly the four canonical room IDs in `data/pilot-community.v1.json`. Verify them by authenticated readback. Designate HOME read-only announcements if supported by the host; otherwise keep HOME moderated, not falsely read-only. 3. Configure a server-side invite-request endpoint with identity verification, rate limiting, anti-spam controls, audit trail, approved invitations, expiry/use limits and revocation. Do not use plugin installation as authorization. No secrets or private user data in plugin archives or assistant-visible chat. 4. One real test user initiates from the PlotPickle plugin, requests access, receives an actual BUZZ-minted invitation, joins through an HTTPS browser without Windows app, and appears as an admitted relay member. 5. The member posts a harmless test message into CHAT. A second authenticated member sees it; verify cross-session readback, authorization, and refusal to read/post before membership. Preserve only non-sensitive proof receipts. 6. Before enabling ELARA, separately verify agent identity, limited capabilities, posting consent, moderation controls, and non-impersonation; default disabled. When the backend has not been deployed, finish at an accurate **pilot prepared, live test pending** state. A failure to find a public hosted URL is not proof none can ever exist. Never state that an invitation was sent, a user joined, or a message was delivered without actual provider receipts. ## Secure boundaries BUZZ is not a Suno-style managed OAuth connection inside this plugin today. External auth and community hosting must be built and verified separately; don't create fake `mcp.json` endpoints. MCP can later expose vetted read/write community operations with least privilege; it is not the browser chat transport. Keep the existing Suno, Modem, screenplay, Save/Lock and other PlotPickle capabilities unchanged.