DESIGN.md §9.5 restates the pre-#226 decision bar #240

Closed
opened 2026-08-25 10:30:19 +01:00 by naps62-yolo · 1 comment
Owner

§9.5 still states the pre-#226 rule:

Needs a decision → to the operator alone. Entered the no-PT-source queue,
or hard-failed twice on different releases.

No window. #226 amended §5.7 but left this restatement of the same rule alone,
so the document now gives the bar two different ways. §5.7 wins by the
CLAUDE.md rule, but a session that reads §9.5 first will implement the wrong
thing — which is precisely how this milestone's #226 came to cite §5.2 for a
rule that lives in §5.7.

Also from the same review: the §7.4 sentence #236 added at DESIGN.md:505 is a
single ~450-character unwrapped line in a document hard-wrapped at ~78 columns,
and is the only such line in the file.

Scope: make §9.5 defer to §5.7 rather than restate it, and rewrap the §7.4
line. Documentation only, no code.

§9.5 still states the pre-#226 rule: > **Needs a decision** → to the operator alone. Entered the no-PT-source queue, > or hard-failed twice on different releases. No window. #226 amended §5.7 but left this restatement of the same rule alone, so the document now gives the bar two different ways. §5.7 wins by the CLAUDE.md rule, but a session that reads §9.5 first will implement the wrong thing — which is precisely how this milestone's #226 came to cite §5.2 for a rule that lives in §5.7. Also from the same review: the §7.4 sentence #236 added at `DESIGN.md:505` is a single ~450-character unwrapped line in a document hard-wrapped at ~78 columns, and is the only such line in the file. Scope: make §9.5 defer to §5.7 rather than restate it, and rewrap the §7.4 line. Documentation only, no code.
naps62-yolo added this to the Feedback pass 2 milestone 2026-08-25 10:30:19 +01:00
naps62-yolo added the difficulty/easytype/chore labels 2026-08-25 10:30:19 +01:00
Author
Owner

One more for this issue, from the second integration review — same class of
problem, one document saying a thing two ways.

DESIGN.md:405-411 says a season "is queued while at least one of its episodes
is still wanted and still without a file". Both readers implement
e.wanted = 1 AND e.state != 'available'
(crates/arr-api/src/movies.rs:906-909, crates/arr-daemon/src/attention.rs:293-297).
Those coincide today, but the sentence describes a media_files existence check
while the code is a state check — and §5.7's own preceding sentence uses
"wanted and not available" for the movie and episode lanes. Two phrasings for
one predicate, in one paragraph. Pick the state phrasing, since that is what
both readers do.

Also stylistic, same section: "The count and the window are one rule seen twice
… and this is its third face" is arithmetically confusing — twice, then third.

Otherwise §5.7 reads as one coherent rule despite three sessions having amended
it, which was the thing worth checking.

One more for this issue, from the second integration review — same class of problem, one document saying a thing two ways. `DESIGN.md:405-411` says a season "is queued while at least one of its episodes is still wanted and **still without a file**". Both readers implement `e.wanted = 1 AND e.state != 'available'` (`crates/arr-api/src/movies.rs:906-909`, `crates/arr-daemon/src/attention.rs:293-297`). Those coincide today, but the sentence describes a `media_files` existence check while the code is a state check — and §5.7's *own preceding sentence* uses "wanted and not `available`" for the movie and episode lanes. Two phrasings for one predicate, in one paragraph. Pick the state phrasing, since that is what both readers do. Also stylistic, same section: "The count and the window are one rule seen twice … and this is its third face" is arithmetically confusing — twice, then third. Otherwise §5.7 reads as one coherent rule despite three sessions having amended it, which was the thing worth checking.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: yolo/arr#240