ADR-0004: No Swaparr; Cleanuparr integration deferred¶
Status¶
Accepted (2026-09-21). The Cleanuparr part is superseded by ADR-0007 (2026-10-09); the rest, including the no-Swaparr decision, is superseded by ADR-0012 (2026-10-17).
Context¶
newtarr bundled "Swaparr", a stalled-download reaper with a strike system. Cleanuparr does that job far better (per-client support, malware blocking, orphan cleanup) and additionally ships a Seeker that snatches missing and cutoff-unmet items — the same thing SnatchArr does. Cleanuparr's API is JWT-login only, so integrating with it means storing a Cleanuparr username and password.
Decision¶
- SnatchArr ships no download-queue manipulation at all. Cleanuparr owns that domain.
- A read-only Cleanuparr integration (detect Seeker per instance and warn about double-snatching, skip recently struck items) is deferred to v1.1. v1 keeps the
internal/cleanuparrpackage boundary with aDisabledimplementation and hides therespect_cleanuparr_strikespolicy flag. - The README warns operators running both tools.
Consequences¶
- No
cleanuparr_strikestable or/cleanuparr/*routes in v1. - Users of both tools must disable Seeker per instance manually until v1.1.