Auth
Expose listener display-name update to agents
Scope Move listener.profile.displayname.update from contractonly to an executable, confirmed agent write. Deliverables Add a confirmed listener write wrapper, likely through POS...
A live tracker for what is shipped, what is active, and what is queued next across the Fanful creator platform, agent surfaces, and mobile apps.
GitHub issue labels ยท updated 4:36 AM
Workstream
Agent-readable Fanful routes, MCP/action contracts, markdown mirrors, and developer surfaces that let assistants understand and operate creator and fan workflows safely.
Roadmap stage
Useful sparks that might become real once a dependency or user need gets sharper.
No maybe items right now.
Roadmap stage
Committed roadmap work that exists, but is not the next thing to pull.
No backlog items right now.
Roadmap stage
Committed follow-ups that are queued behind the active work.
No next items right now.
Roadmap stage
Current branches and PRs. These should move as GitHub issue labels change.
No active items right now.
Roadmap stage
Shipped work, newest first, with screenshots where the change is visual.
Auth
Scope Move listener.profile.displayname.update from contractonly to an executable, confirmed agent write. Deliverables Add a confirmed listener write wrapper, likely through POS...
Web
Problem listener.community.post in /api/agent/actioncontracts still reports contractonly, even though PR 1553 / issue 1546 shipped fanfullistenercommunitymessagesread and fanful...
Web
Problem Fanful exposes member ideaboard reads to agents, but the actioncontract manifest still marks member.ideas.submitandvote as contractonly. A listener should be able to ask...
Admin
Motivation Fanful creatorcommerce agents can now update existing shop product visibility, safe details, inventory metadata, and Stripe Price mappings, but they still cannot crea...
Commerce
Parent: 1052 Related: 1681, 1682, 918, 799 Why PR 1682 made safe existing shop product details agentwritable, but deliberately left product prices and Stripe Price mapping block...
Live
Parent: 1499 Goal Define and implement the shared Fanful contract for Discord/Slackgrade live chat primitives before individual clients build UI on divergent assumptions. Scope ...

Growth
Add a publisher referral loop with shareable artist codes, first-party referral capture, Stripe-safe checkout attribution, reward qualification, admin visibility, and docs for how the growth loop was built.
Publisher referrals v1
Platform
Parent: 526. Related: 511, 525, 527. Why The shipped ideaboard data model already stores artistid, and the module should remain reusable for future Fanful creator communities. T...
Commerce
Parent: 1052 Builds on: 1053, 1057 Related: 799, 925, 926, 534 Why 1057 lets an agent select or clear an alreadyknown Stripe Price mapping for one lesson/coaching offer, but the...
Admin
Parent: 1052 Related: 1058, 1057, 1059, 1060 Why Main CI is red after 1059 and 1060 both landed. The browser journey failure is in tests/journeys/admin.spec.ts, where the 1059 a...
Admin
Parent: 1052 Builds on: 1053 Related: 925, 926, 1057, 534 Why 1053 shipped the shared Stripe catalog readiness API and made it visible to agents and native discovery, while 925/...
Admin
Parent: 1052 Builds on: 1053 Related: 799, 925, 926, 534 Why 1053 made the shared Stripe catalog/readiness boundary visible to web/admin, agents, iOS, and Android, but all billi...
Admin
Context 800 now has confirmed live status, schedule update, and liveevent create wrappers. The remaining useful embeddedroom/stage gap is narrower than the whole 505 Zoomalterna...
Admin
Why Parent 800 now has shipped live status preview/write, live schedule preview, and confirmed existingevent schedule updates. The remaining creator scheduling gap is creating a...
Admin
Why Parent 800 has shipped live status preview/write and live schedule preview, but the schedule path is still contractonly. Artists should be able to ask an agent to apply a pr...
Commerce
Context PR 976 shipped the 971 agentreadable live support preview while 968 was still treated as a blocker. 968 has now shipped liveeventattributed support metadata, purchase ro...
Commerce
Parent: 928 Context 928 originally covered web, iOS, and Android live donations. Mark's parity direction also requires agentic surfaces so assistants can answer what live suppor...
Admin
Parent: 928 Context 928 requires artist/admin visibility into donation totals for a live stream. Existing support checkout records generic support/donation purchases, but livero...
Admin
Why 800 has shipped live status preview and confirmed live status writes, but agents still cannot safely preview a new live schedule or reschedule/edit payload before a creator ...
Admin
Parent: 799 PR 906 shipped the nonmutating creator service price/policy preview surface. The next executable slice is a confirmed write wrapper that can safely turn a preview in...
Admin
Parent: 800 PR 912 shipped the nonmutating live status preview action for agents. The next executable slice is the confirmed write wrapper that can safely turn a preview into a ...
Platform
Add a user persona: events (paid tickets like eventbrite or Luna)
Auth
Parent Part of 873. Depends on the shared displayname update route from the web/API child issue. Scope Decide and expose the agentfacing listener profile update contract. If age...
Ops
Goal Add fanful.net/worklog as a public work diary for humans and agents, with instructions at the top and D1backed agent worklog entries below. Scope Create a public /worklog p...
Platform
Context During travel/offline cleanup, several partial Fanful marketing and agentsupport branches were preserved as draft PRs so local work would not remain stranded on one lapt...
Platform
Why Mark asked for docs.fanful.net to be like docs.stripe.com, targeting both AI agents and human developers. This should become the developerfacing entrypoint for Fanful's agen...
Web
Context Mark noticed fanful.net/roadmap still shows Laureloriented navigation/branding. Fanful roadmap pages should not feel like Laurel's artist website when served on fanful.n...
Web
Context Mark wants a Developers and agents topnav category that summarizes the Fanful MCP server, ChatGPT app direction, agentreadable pages, and automation posture. Scope Build...
Platform
Context Mark wants specific Fanful pages for target user types under /users, with the option to move some to /blog later. Scope Create the top 10 targetuser pages: /users/musici...
Platform
Context Mark wants Fanful's version of Stripe Solutions: "Who uses Fanful?" for use cases by creator/professional type. Scope Build /users as the landing page for Fanful target ...
Platform
Context The existing /features page needs to become the overall Fanful product overview that the navbar can link to. Scope Refine /features as an overview of Fanful products/fea...
Platform
Context Mark wants productspecific Fanful feature pages behind the top navbar. Scope Create individual feature pages for major Fanful product areas, starting with: /features/liv...
Platform
Context Mark wants fanful.net to have a sticky top navigation inspired by Stripe's toplevel categories, adjusted for Fanful. Scope Add a sticky Fanful navbar to fanful.net marke...
Web
Context Mark asked that every individual company listed under /compare/all "Platforms checked / Source notes" keep its existing public source links and also gain an internal Com...
Auth
Why Fanful users need a humanreadable place to inspect and revoke agent access after approving an MCP/CLI/ChatGPT/Codex/Claude client. That should be separate from the codeexcha...
Auth
Why 816 needs a concrete first executable slice for firstparty agent authorization. This issue owns the signedin approval and onetime code exchange path, while keeping the userf...
Auth
Why 810 selects scoped delegated grants as the Fanful agent authorization model, 811 owns the durable grant/token state, and 812 owns resolving scoped principals in /mcp and /ap...
Auth
Why The current public MCP endpoint and agent manifests are guest/readsafe, while admin reads are local environmentgated. After 810 and 811, the MCP and HTTP manifest layers nee...
Auth
Why After 810 defines the Fanful agent authorization model, Fanful needs durable state for scoped agent grants so private MCP/ChatGPT/CLI reads can be authorized, expired, and r...
Auth
Why 809 needs a concrete auth design before implementation starts. Public MCP and public manifests already work, but private listener/creator access needs a portable authorizati...
Auth
Why Fanful now has public MCP discovery and safe public/read manifests, but private creator/listener reads still rely on firstparty web sessions or local environmentgated admin ...
Auth
Why For listeners/fans to use Fanful entirely through agent clients, they need safe access to ordinary account workflows too: inspect profile/contact state, understand notificat...
Media
Why Fan/listener agent parity needs more than creator golive controls. A listener should be able to ask an agent whether a live room, webinar, Listen Along session, or gated eve...
Auth
Why A listener/fan should be able to ask an agent what memberships, tiers, purchases, credits, or gated experiences they currently have access to. 777 exposes the tier catalog, ...
Auth
Why The first agent work exposed public manifests and the member idea board, but Mark's AX goal is broader: listeners/fans should be able to interact with Fanful through agent c...
Admin
Why Mark's AX goal explicitly calls out artists scheduling a golive through agents. Embedded rooms and live/community work already exist as platform issues, but agent scheduling...
Admin
Why Mark's AX goal explicitly calls out creators using agents to do real work, including "amend price of their coaching." The shared write envelope in 786 makes this safer, but ...
Admin
Motivation Fanful now advertises a 2% platform fee and has a Stripe Connect feerouting plan, but admin and agent surfaces should clearly show that live applicationfee routing is...
Platform
Motivation Fanful pricing now lists plan limits based on what can create Cloudflare cost, but the page should be more explicit about the actual metered units: email sends, R2 st...
Commerce
Motivation Fanful's public pricing now advertises a 2% platform fee on fan payments, but the production checkout code currently records that policy in metadata rather than routi...
Web
Motivation Mark asked to be able to check progress on fanful.net/roadmap or GitHub issues while Codex keeps working. The browser roadmap exists, but the Fanful marketing archite...
Platform
Motivation Laurel's Fanful artist host uses /tiers for the fanfacing paidaccess table, with /pricing as a friendly alias. The browser alias exists, but the markdown alias does n...
Commerce
Motivation Laurel's fanfacing membership tiers are seeded in D1 and checkout can create subscription sessions today, but the seeded tiers still have stripepriceid = NULL. That m...
Admin
Motivation The Fanful pricing/admin work now distinguishes artist platform plans from fanfacing membership tiers. Laurel's fan tiers already exist in D1 and on /tiers, but the t...
Admin
Motivation Fanful admin entitlements are visible now, but the artist platformplan assignment is still hardcoded in application code. The next backend/platform step is to make th...
Commerce
Motivation Fanful now advertises a 2% platform fee on fan payments, but checkout metadata should carry that policy consistently so webhooks, admin records, analytics, future age...
Auth
Why Fanful now has a local stdio MCP server and public agentreadable manifests, but ChatGPT Apps SDK connectors and many hosted agent clients need a reachable HTTPS MCP endpoint...
Commerce
Motivation Laurel should be the concrete Fanful case study tenant: laurel.fanful.net should behave like the artist brought an existing site to Fanful, and her fans should have a...
Admin
Motivation Artists/publishers need to understand exactly what their Fanful plan unlocks inside their admin panel, especially as pricing limits and support tiers become real. Sco...
Commerce
Motivation Fanful needs simple annual artist pricing that reflects real Cloudflare cost drivers and sets expectations before any artist upgrades. Proposed tiers Tester: $2/year,...
Platform
Motivation Fanful is the current platform name and fanful.net should read as the platform home, not a MusicWebs salvage route or hidden app path. Scope Remove new/publicfacing M...
Commerce
Goal Expose the domainpurchase flow to future MCP, ChatGPT app, or CLI agents through a permissioned serverside contract rather than browser automation over the web checkout. Sc...
Web
Motivation The Fanful comparison pages now name migration/importer intent, but highintent searchers and AI agents need concrete switching guidance for each major source platform...
Agents
Record live-event admin and automation writes with redacted before/after summaries, and give agents a confirmed status-only route for go-live, end, and cancel transitions.
Live-event admin audit
Design
Context 690 preserves initial thematic guide routes for 2026 ecommerce, coaching, and community platform comparisons. The handoff calls out richer guide content and SEO/schema a...
Platform
Context 690 preserves scaffolded onetoone alternative pages for Shopify, Substack, Bandcamp, Patreon, Kajabi, Circle, and Linktree. The handoff explicitly says the current copy ...
Platform
Context A cloud Codex session created a local Fanful.net marketing/comparison surface but could not use GitHub or Cloudflare from that environment. This local branch preserves t...
Platform
Goal Turn the thematic /blog/best...platforms2026 pages into more useful comparison guides for highintent searches. Initial routes /blog/bestecommerceplatforms2026 /blog/bestcoa...
Platform
Goal Improve the /compare/COMPANYalternative pages beyond scaffold copy so each page has stronger competitorspecific proof, transparent tradeoffs, source notes, and migration gu...
Platform
Goal Move Fanful marketing and comparison surfaces onto fanful.net with a Shopifystyle comparison architecture, agentreadable markdown mirrors, and a durable path for iterative ...
Platform
Why Mark asked to research and build a ChatGPT app if relevant. The current direction from the project docs is MCP first, ChatGPT app second: keep the MCP server as the portable...
Media
Why Mark's Agent Experience goal says listener/fan experiences should be doable through Claude Code, ChatGPT, Codex, or another agent client. A fan should be able to ask what th...
Agents
Expose live room scheduling, go-live readiness, event-linked community channels, live-note moderation, and embedded-room stage controls through the agent manifest and MCP surface.
Agent live controls
Commerce
Why Mark's Agent Experience goal explicitly includes creator workflows such as changing coaching prices and managing commercial policy from Claude Code, ChatGPT, Codex, or anoth...
Agents
Record embedded-room roster/stage writes and private room-chat moderation with actor attribution, redacted summaries, and executable agent-safe moderation/audit endpoints.
Agents
Expose community chat reply context, reaction toggles, and scoped mention metadata through the agent manifest and server-side tool contract.
Agent chat affordances
Live
Route community chat digests and mentions through listener notification preferences, creator-community membership, and mute boundaries.
Chat notification routing
Agents
Turn confirmed creator-approved community automation rules into visibly attributed public replies with trigger linkage, revocation, and durable audit rows.
Automation reply processor
Agents
Expose `GET /api/agent/community-chat` so agents can discover caller capabilities, public channel state, event-linked channels, and permissioned operation descriptors without browser automation.
Agent manifest endpoint
Agents
Add durable audit rows and creator-approved automation rules before agents can perform repeated moderation, settings, channel, or public creator-speech actions.
Community chat audit registry
Ops
Why 606 called out llms.txt and markdown docs as part of making the site agentready. Agents should be able to discover the platform's public docs and safe integration surfaces w...
Auth
Why 442 identified a permissioned MCP server as the canonical agent contract, and 606 called out MCP as one of the remaining agentready implementation slices. Scope Build the fi...
Auth
Why 606 split the remaining agentready checklist after 442 established agents as the fourth surface. MCP, CLI, ChatGPT app, and future agent integrations all need explicit serve...
Admin
Why 599 tracks parity for the member idea/upvoting board that shipped on web in 511. Agent parity means future MusicWebs/Fanful MCP, ChatGPT app, or CLI tools can use the board ...
Agents
Defines the first agent-safe community chat contract so MCP, ChatGPT app, CLI, and automation clients can read channel state, understand event-linked channels, and respect listener/admin/creator-speech permissions without browser automation.
Agent contract seed
Commerce
Add purchase/membership gates, stage role promotion, attendee moderation, and paid private stream controls on top of the embedded room contract.

Live
Replaces the Discord-shaped gap with Laurel-owned community channels on `/live`: durable D1 messages, signed realtime sockets, listener posting, guest reading, and admin moderation.
Community channels
Operations
Add a privacy-filtered Durable Object status stream so active roadmap cards can show short-lived Codex progress without exposing private terminal or mailbox details.
Analytics
Build a first-party event stream, durable listener playback state, source/referrer insight, and artist-facing analytics views without depending on GA4.
First-party dashboard

GitHub issues are the engineering source of truth. This page reads public Fanful roadmap issues, merges them with curated summaries and screenshots, infers the Web/iOS/Android/agent workstream, polls for label changes, and can overlay short-lived sanitized Codex status when an active agent publishes it.
Open GitHub roadmap issues