diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-09-11 00:19:06 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-09-11 00:19:06 +0200 |
| commit | f059cb118c556d1f0279350507f74b8a47d5a98a (patch) | |
| tree | 9a97762a844038a06134b4b7dcead1758477dfc1 /docs/playlists.md | |
| parent | b045ba0010d69360b6a0265eb7c73a07900fe328 (diff) | |
| download | meshbay-f059cb118c556d1f0279350507f74b8a47d5a98a.tar.gz | |
docs: remove the documents MESHBAY_DESIGN.md replaces
Twenty-four files, about 17 000 lines: the two architecture drafts, the three
security reviews, eleven design notes, the roadmap, the decisions file, the v1–v4
archive, the deprecated user guide and the stale quickstart. Their content is in
MESHBAY_DESIGN.md, and git history holds the originals.
The reason to delete rather than keep bannered: a document that is superseded but
present still gets read, and a reader cannot always tell which of two accounts of
one mechanism is the live one. That was the argument for retiring the user guide
rather than repairing it, and it applies to the whole set.
What made this safe is the concordance. Roughly 290 comments and docstrings cite
these files by section — `musicbay.md §6`, `mediacenter.md §5.5`, `draft-v6 §2.11`
— and section 16 maps every one onto its replacement, so not a single comment
needs editing to stay followable. It now says plainly that the files are gone and
where to recover them, and it gained rows for the three reviews (their findings
are section 13), and for the two guides.
Four kept documents pointed into the set and were repointed first: `playlists.md`
(nine references — it is a live proposal and must not dangle), `WINDOWS-PORT.md`,
and CLAUDE.md's example. No dangling reference remains outside section 16.
Two files were dropped from the list after checking what they hold. `HTTPS.md` is
an operational runbook — Caddy, certificate renewal, DNS, troubleshooting — and
MESHBAY_DESIGN.md deliberately covers no operations, so nothing would replace it;
the versioned Caddyfile is the config, not the procedure. `cast-smart-tv.md` is
the plan for the unbuilt DLNA phase of a feature whose first two phases ship, and
section 11.4 summarises it in four lines rather than carrying the SSDP/UPnP work.
There is no user guide now, and section 0.1 says so rather than leaving a reader
to discover it.
Suites green: 2258 passed, 4 skipped.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YVoHVCcfBqud6ZjG4db3y7
Diffstat (limited to 'docs/playlists.md')
| -rw-r--r-- | docs/playlists.md | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/docs/playlists.md b/docs/playlists.md index aef2366..8e57546 100644 --- a/docs/playlists.md +++ b/docs/playlists.md @@ -1,13 +1,14 @@ # MeshBay — Playlists (design) -> Status: **proposal**, not implemented. This is M4 in `docs/musicbay.md` §9, +> Status: **proposal**, not implemented. This was deferred out of the Music +> application's design, > which deferred it for the right reason: *"a genuinely new category of > per-account node state, not covered by anything E9 already enumerates — > needs its own design pass (ownership, sync across devices, whether it's > node-local or something else)"*. This document is that pass. > -> Read `docs/musicbay.md` first — Music is built, and this adds nothing to -> its playback path. Read `docs/refactoring-search.md` second: the +> Read `MESHBAY_DESIGN.md` §9.8 first — Music is built, and this adds nothing +> to its playback path. Read §9.11 second: the > cross-group consolidation this feature needs already exists there, and > most of the work is recognising that. > @@ -33,16 +34,16 @@ this must not corrupt anything. ## 1. What this design does not reopen -- **Views over the index, never a catalogue** (`desktop-client-v1.md` §6.10, +- **Views over the index, never a catalogue** (`MESHBAY_DESIGN.md` §6.5, §9.1, draft-v6 §2.7). A playlist is a list of *references*; it creates no second identity for a file and no server-side database of content. - **Nothing about content reaches the hub** (H7, draft-v6 §2.5). §3.1. -- **No new streaming path.** `musicbay.md` §2.2 stands untouched: a track is +- **No new streaming path.** `MESHBAY_DESIGN.md` §9.8 stands untouched: a track is fetched through `pipelinedDownload` and handed to `<audio>`. Playlists add no node-side playback code whatsoever. - **Node-side derived data lives in the node's own `data_dir`**, never beside - a shared file (`mediacenter.md` §2). The blob in §3.3 goes in `bundles.db`. -- **Identity keys are per node** (`per-node-identity-v1.md`). §3.4 exists + a shared file (`MESHBAY_DESIGN.md` §6.5). The blob in §3.3 goes in `bundles.db`. +- **Identity keys are per node** (`MESHBAY_DESIGN.md` §3.2). §3.4 exists entirely because of this, and getting it wrong is the fastest way to ship a playlist that cannot be read from the second device it was invented for. @@ -101,7 +102,7 @@ that has nothing to do with this. Beyond the protocol that would have to be invented, it leaks the thing this architecture is most careful about: node A would learn that this account also uses node B — that two unrelated operators host the same person. Per-node identity exists precisely so that -this correlation is unavailable (`per-node-identity-v1.md`). +this correlation is unavailable (`MESHBAY_DESIGN.md` §3.2). ### 3.3 The node, as an opaque per-account blob — a shape already built @@ -424,7 +425,7 @@ Playlists cross groups, so they do not belong to a group's Music tab: already resolves a connection per track from `entry.groupId`, and already crosses groups within one queue. This is worth stating loudly, because the cross-group requirement reads like the hard part and is in fact already - built (`musicbay.md` §9b: *"The player needed no change"*). + built (the cross-group merge already covers it — `MESHBAY_DESIGN.md` §9.11). ### 8.3 The IndexedDB detail that will otherwise be missed @@ -434,7 +435,7 @@ handling it in the existing `onupgradeneeded`, which currently creates one store and would otherwise never run again. A store that is never created throws on first access, at a point far from the version constant. -### 8.4 Checklist, per `apps.md` +### 8.4 Checklist, per `MESHBAY_DESIGN.md` §9.4 1. `playlists.js` (data) and `playlists-page.js` (UI). 2. Route + sidebar entry in `app.js`. |