Master is the default branch and is released on every push, so a commit body
that says "Closes #N." makes the issue close exactly when the fix ships and
leaves a permanent link from the issue to the commit — instead of a separate
manual close afterwards. Notes that a bare (#123) in the subject is only a
reference, and that auto-closing still needs an explanatory comment on the
issue.
- Test-running traps: repo-root cwd requirement, frontend-build ordering,
the yt_dlp stub quirk in test_ytdl_utils.py
- Note that master is continuously released
- Checklist for adding a per-download option (the split_by_chapters
pattern, including the commonly missed pieces)
- Security invariants: SSRF guard for URLs, path helpers for anything
derived from untrusted metadata
- Conventions: OnPush/markForCheck, compact persisted state, yt-dlp
postprocessor list ordering
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Document the line between in-scope work (improving the download-time
write, surfacing yt-dlp built-ins) and out-of-scope work (post-download
tag editing, external metadata lookups, library organization), so
agent-assisted contributions can check their plans against it before
writing code. Follows the decisions on #1025, #1026/#1027, #1028, #1031.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>