docs: server comments say what the code does, not how it came to be (#6277)

Comment blocks in cmd/minstrel and 30 smaller internal packages, rewritten
to rule 32's standard with each citation read in context: task, milestone
and rule ids go, and so do the stories they were attached to ("used to",
"Before #N", measurements from one install, quotes, pointers to Fabled
Librarian's records and to docs/superpowers files that are not in the
repo). Where a story wrapped a real constraint, the constraint stays as a
present-tense fact.

Comments that had gone stale are corrected:
- taste.Config: the tuned values are overlaid by internal/recsettings;
  it is no longer "a later follow-up".
- StorageConfig: the data dir holds art, caches and the stream secret,
  not only playlist covers.
- the Subsonic album list and getUser comments describe what they do
  today rather than a milestone that would change it.

Checked: the non-comment token stream of every changed file matches
HEAD, and gofmt -l is empty.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-23 12:15:05 -04:00
co-authored by Claude Opus 5.5
parent 9f9609591d
commit d191a28217
107 changed files with 485 additions and 597 deletions
+3 -3
View File
@@ -64,11 +64,11 @@ type Importer struct {
Catalogue Catalogue
Printer Printer
// Roots are the library's folders (the scan paths), read on every use
// because they change in Settings (#6129). New music is filed under the
// because they change in Settings. New music is filed under the
// one the settings name, or the first.
Roots func() []string
// DataDir is where cached art lives, for tidying an artist an upgrade
// leaves with nothing (#5524). Empty skips it.
// leaves with nothing. Empty skips it.
DataDir string
// ClientFor builds the download client a grab went to. Defaults to
// acquire.DownloadClientFor.
@@ -195,7 +195,7 @@ func (im *Importer) passClient(ctx context.Context, q *dbq.Queries, code string,
}
t, ok := byHash[indexer.NormalizeHash(g.InfoHash)]
if !ok {
continue // gone from the client: the lifecycle settles it (#5523)
continue // gone from the client: the lifecycle settles it
}
if !g.WantID.Valid {
wait(g, "Its album is no longer wanted.")
+1 -1
View File
@@ -26,7 +26,7 @@ type Printer interface {
var ErrNoPrints = errors.New("importer: fingerprints are not available")
// AcoustIDPrinter fingerprints with fpcalc and asks AcoustID, under the
// operator's settings (key, minimum score). Each call reads the settings, so
// AcoustID settings (key, minimum score). Each call reads the settings, so
// a change takes effect on the next file.
type AcoustIDPrinter struct {
Settings interface {
+1 -1
View File
@@ -21,7 +21,7 @@ type Placement struct {
}
// Plan names every file's destination under root the way the library is
// already named (note #5527), so new arrivals sit beside what is there:
// conventionally named, so new arrivals sit beside what is there:
//
// {Artist}/{Album} ({Year})/{Artist} - {Album} - {track:00} - {Title}.ext
//
+4 -4
View File
@@ -40,9 +40,9 @@ type Tags struct {
// gets the plain names only.
//
// A Vorbis track or disc number is the number alone, its count in
// TRACKTOTAL and DISCTOTAL, as Picard writes them: dhowden/tag reads
// TRACKNUMBER "3/20" as 0, and every album imported before #6171 lost its
// order that way. ID3 and MP4 take "3/20", which their readers parse.
// TRACKTOTAL and DISCTOTAL, as Picard writes them: dhowden/tag reads a
// TRACKNUMBER of "3/20" as 0, which would lose the album's order. ID3 and MP4
// take "3/20", which their readers parse.
func (t Tags) args(ext string) []string {
vorbis := ext == ".flac" || ext == ".ogg" || ext == ".opus"
track, disc := ofN(t.Track, t.Tracks), ofN(t.Disc, t.Discs)
@@ -111,7 +111,7 @@ func Place(ctx context.Context, src, dst string, t Tags) (tagged bool, err error
return placeFile(ctx, src, dst, t, false)
}
// Overwrite is Place onto a file an upgrade replaces (#5524): the new copy
// Overwrite is Place onto a file an upgrade replaces: the new copy
// takes the old one's path in one rename, so the library never sees the
// path empty, and the track row at that path, history and all, carries on
// with the new file.
+1 -1
View File
@@ -17,7 +17,7 @@ import (
"git.fabledsword.com/bvandeusen/minstrel/internal/release"
)
// Importing an upgrade (M502 #5524): a better copy of an album the library
// Importing an upgrade: a better copy of an album the library
// holds. Each file is matched to the track it would replace, by recording
// and then by disc and track. It replaces that track when the track is a
// video rip or the new file is a better tier; otherwise the old track stays.
+5 -7
View File
@@ -1,13 +1,11 @@
// Package importer checks a finished download against the album it was
// grabbed for and files it into the library (M502 #5522). Nothing reaches
// grabbed for and files it into the library. Nothing reaches
// the library before the check says the files are the album: a wrong album,
// another version of it, a video rip or an incomplete copy is refused, its
// release is blocked and the album is searched for again.
//
// Ported from Fabled Librarian's importer and relocate packages, with the
// check rewritten for music: the files are matched to one of the album's
// MusicBrainz editions by AcoustID fingerprints, track lengths, titles and
// the tags they carry.
// The files are matched to one of the album's MusicBrainz editions by
// AcoustID fingerprints, track lengths, titles and the tags they carry.
package importer
import (
@@ -67,7 +65,7 @@ type File struct {
RecordingMBID string
LengthMs int
// Recordings are the MusicBrainz recordings AcoustID says the audio is,
// at or above the operator's minimum score.
// at or above the configured minimum score.
Recordings []string
// Video: the file name says it is a music video, a lyric video or the
// like (library.SourceMarkersFor).
@@ -113,7 +111,7 @@ type Want struct {
Year int
PrimaryType string
SecondaryTypes []string
// Upgrade: a held album wanted for a better copy (#5524), quality or
// Upgrade: a held album wanted for a better copy, quality or
// rip; AlbumID is the library album it holds, whose tracks the import
// replaces.
Upgrade string
+1 -1
View File
@@ -220,7 +220,7 @@ func TestTagsArgs(t *testing.T) {
t.Errorf("flac args lack %q: %s", s, flac)
}
}
// dhowden/tag reads a Vorbis TRACKNUMBER of "8/13" as 0 (#6171).
// dhowden/tag reads a Vorbis TRACKNUMBER of "8/13" as 0.
if strings.Contains(flac, "/13") {
t.Errorf("flac track number carries its count: %s", flac)
}