Skip to content

ADR-0155: the Mac app may add albums if the listener turns it on - #414

Merged
jeffcrouse merged 2 commits into
mainfrom
docs/adr-0155-opt-in-add-only-import
Oct 25, 2026
Merged

jeffcrouse merged 2 commits into
mainfrom
docs/adr-0155-opt-in-add-only-import

Conversation

@jeffcrouse

Copy link
Copy Markdown
Member

Proposes ADR-0155. Status proposed. No code.

  • Read-only stays the default, everywhere. The server never writes the library under any setting: validate_library_path, the :ro mount and ADR-0140's Seatbelt profile are unchanged.
  • An opt-in, add-only importer in the Mac player ("Add Bandcamp downloads to my library", off by default) files Bandcamp downloads the listener has already made. It never modifies, renames or deletes anything, including the zip in Downloads, and refuses an existing album. Albums appear whole via a hidden staging folder and one rename.
  • Nothing talks to Bandcamp. Cookie-driven collection sync is rejected as not above board. Bandcamp files are recognised by their Visit https://….bandcamp.com comment tag, checked against the NAS library.
  • First slice: the scanner and watcher skip hidden folders, which they do not today (scanner.py:174, library_watch.py:63).
  • Recorded openly: docs/ZERO-TOUCH.md removed zip import on purpose; this keeps that as the default and adds one listener-enabled exception. The zip layout is from memory and point 7 makes checking a real download the first build step.

Execution order: point 5 (here) → point 7 (a real download) → points 2–4 and 6 (familiar-apple) → docs.

🤖 Generated with Claude Code

jeffcrouse and others added 2 commits October 25, 2026 17:20
…n (proposed)

Read-only stays the default everywhere and the server never writes the
library. An opt-in, add-only importer in the Mac player files Bandcamp
downloads the listener already has; the scanner and watcher learn to skip
hidden folders first.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Discovery and the watcher no longer descend into or scan anything whose
name begins with ".", so an import staged in a hidden folder is never seen
half-copied, and .Trashes, .Spotlight-V100 and ._ files stop being walked.
A library root that is itself hidden is still watched. ADR-0155 accepted.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jeffcrouse jeffcrouse changed the title ADR-0155: the Mac app may add albums if the listener turns it on (proposed) ADR-0155: the Mac app may add albums if the listener turns it on Oct 25, 2026
@jeffcrouse

Copy link
Copy Markdown
Member Author

ADR-0155 accepted. Point 5 built in this PR: the scanner and watcher skip hidden folders and files. New tests fail against the old code; full backend suite 2413 passed. Point 7 (check a real Bandcamp download) is next, then the importer in familiar-apple.

@jeffcrouse
jeffcrouse merged commit 614cb0a into main Oct 25, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant