docs: fork direction — listener-first, composable roles, three-tier access#14
Open
midineutron wants to merge 2 commits into
Open
docs: fork direction — listener-first, composable roles, three-tier access#14midineutron wants to merge 2 commits into
midineutron wants to merge 2 commits into
Conversation
Proposes where this fork has taken Crate and the vision behind it, as a documentation-only set for discussion: - PRD: artist-first, self-sovereign streaming; everyone is a listener with additive roles; NFC + mycelium proof-of-tap (tag tech abstracted). - ARCHITECTURE: how PRD, roadmap, and ADRs fit; layered model; the radio/member/owner funnel; now-vs-later. - ROADMAP: milestones M0-M5 + mycelium/platform/distribution tracks, a dependency DAG, and a Progress section for what already shipped on the fork. - ADRs 0001-0005: storage source composition; distribution + participant roles; access membranes; Crate<->mycelium loose-coupling boundary; pluggable OAuth2/OIDC auth provider. No code changes. If the direction is welcome, the implementation done on the fork (generic OIDC auth, CloudFront back-compat, external addressing, docker-compose local stack) can follow as staged PRs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bring the upstream vision proposal in line with the listener-first reframe: composable roles (artist/DJ/broadcaster/label), three-tier access as a fundamental, DJ first-class with dual mode, and the mix as a first-class reference object. Adds ADR 0006 and the reframed PRD, roadmap, and architecture. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Author
|
Updated to the listener-first direction (ADR 0006): everyone is a listener; artist / DJ / broadcaster / label are composable roles; the three-tier access model (radio → member → owner, on NFC beacon/keychain tags) is a fundamental for every crate owner; the DJ is first-class (private keychain-gated collection as the cold-start wedge + public reference-mixes); and the mix is a first-class reference object (references, not copies). PRD, roadmap, architecture, and a new ADR 0006 are included. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this is
A documentation-only proposal describing where this fork has taken Crate and the vision behind it. It adds nothing to the codebase — it's here to align on direction before sending the implementation as staged PRs.
If the direction is welcome, the work already done on the fork (below) follows as small, reviewable PRs.
The vision in one line
Artist-first, self-sovereign music streaming: if the artist holds the keys and the masters, the host becomes interchangeable — and on that guarantee you build a physical-tag access economy and curated, network-effect discovery.
What's included
docs/PRD.mddocs/ARCHITECTURE.mddocs/ROADMAP.mddocs/adr/0001–0005Key decisions (ADRs)
Already implemented on the fork (would follow as PRs if approved)
authModeswitch (backwards compatible with this repo's current deployment)docker-composelocal stack (docker compose upon a laptop; gated profile with no external IdP needed)Note on internal consistency
The ADRs are decision records and intentionally show evolution: e.g. ADR 0003 supersedes the PRD §8.2 preview/full tiers with the radio/member/owner membranes, and ADR 0004/0005 reposition mycelium from "the moat" to an external provider. Happy to fold those revisions directly into the PRD body if preferred, or keep the ADRs as the authoritative record of the change.
Docs only — feedback on direction very welcome.