From c78c73ec6c1b444e9f166977f0f33b360b1b0115 Mon Sep 17 00:00:00 2001 From: Miguel Palhas Date: Tue, 25 Aug 2026 11:49:34 +0100 Subject: [PATCH] =?UTF-8?q?docs:=20reconcile=20design=20coherence=20issues?= =?UTF-8?q?=20in=20=C2=A75.7=20and=20=C2=A79.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit §9.5 restated the pre-#226 decision-bar rule without the 30-day window, giving the document two versions of the same rule. Make it defer to §5.7 instead. §5.7 used two phrasings for the season-queuing predicate in one paragraph (existence-of-file vs. state check) though both readers implement the state check; picked the state phrasing throughout. Also fixed the arithmetically confusing "seen twice ... third face" sentence, and rewrapped the single unwrapped ~450-character line in §7.4 to the document's ~78-column width. Ref #240. Ran full `just ci` through the gate (517 tests, exit 0). Co-Authored-By: Claude Sonnet 5 --- DESIGN.md | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/DESIGN.md b/DESIGN.md index fa9f0bd..a4b21c9 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -422,13 +422,13 @@ guard retries at worst weekly (§6.2) — and stays queued for exactly as long a it is genuinely broken. Nothing is dismissed by hand and no acknowledgement state is stored, so there is no second thing to keep correct. -**Only a target still waiting for a file is queued.** The count and the window -are one rule seen twice — the queue is meant to be visited and emptied — and -this is its third face: a failure history queues a target only while that -target still has a gap to fill. A movie or an episode is queued while it is -`wanted` and not `available`. A season holds no intent of its own (§4.1), so it -is queued while at least one of its episodes is still wanted and still without -a file. A season pack that hard-failed twice, fell back to per-episode grabbing +**Only a target still waiting for a file is queued.** The count and the +window already express one rule — bounded attention — and this is another +face of it: a failure history queues a target only while that target still +has a gap to fill. A movie or an episode is queued while it is `wanted` and +not `available`. A season holds no intent of its own (§4.1), so it is queued +while at least one of its episodes is still `wanted` and not `available`. A +season pack that hard-failed twice, fell back to per-episode grabbing exactly as §6.2 says it should, and was then fully acquired leaves at once rather than waiting out the 30 days — that is the system working, not a decision. A target that is still broken keeps producing failures and stays. @@ -548,7 +548,12 @@ Media kind first, hard audience boundary second, people nowhere. - **Release group is deliberately absent.** It is not a selection criterion and it makes filenames long enough to break a terminal. -Changing a title's root relocates its title folder into the new root; roots are assumed to share one filesystem, so the move is a rename, never a copy. Changing a root's path is the same move over every title under it, and it is all or nothing: one folder that cannot move puts back the ones that already did and leaves the root's path alone, so the stored path always describes the disk. +Changing a title's root relocates its title folder into the new root; roots +are assumed to share one filesystem, so the move is a rename, never a copy. +Changing a root's path is the same move over every title under it, and it +is all or nothing: one folder that cannot move puts back the ones that +already did and leaves the root's path alone, so the stored path always +describes the disk. During transition, write into the existing roots so Jellyfin needs no reconfiguration and new content appears immediately. Radarr will not touch a @@ -658,7 +663,7 @@ notifying on everything and being muted within a week. - **Imported** → to the title's owners. The only good-news notification. - **Needs a decision** → to the operator alone. Entered the no-PT-source queue, - or hard-failed twice on different releases. + or the needs-a-decision queue (§5.7). - **Broken** → to the operator alone. Prowlarr, Transmission or TMDB unreachable, disk full.