docs: library comments say what the scanner and resolver do, not how they came to be (#6277)
release / govulncheck (push) Successful in 20s
release / web (push) Successful in 1m20s
release / go (push) Successful in 1m37s
release / integration (push) Successful in 5m15s
release / android (push) Successful in 5m26s
release / Build signed APK (releases and dev) (push) Successful in 5m45s
release / Attach APK to the Release (tag releases only) (push) Skipped
release / Build + push container image (push) Successful in 16s
release / Verify release artifacts (tag releases only) (push) Skipped

Rewrites the internal/library comment blocks to rule 32. Task, milestone,
decision and rule ids are gone; the incidents behind them are restated as
the constraint they left (why a file is deleted before its row, why the
missing mark is a mark, why duplicates block on duration). Counts and
album names from one library are dropped from production comments; test
comments keep the names their fixtures use. The tagReadVersion log keeps
each version's before and after, without the measurements.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-23 12:27:34 -04:00
co-authored by Claude Opus 5.5
parent 08a2c06b85
commit 7e6228c13f
66 changed files with 578 additions and 564 deletions
+6 -6
View File
@@ -7,15 +7,15 @@ import (
"strings"
)
// MP4 has the same gap as Vorbis comments (#2500). A tag writer stores several
// genres as several "data" atoms inside one ©gen atom (mutagen and Picard do),
// or occasionally as repeated ©gen atoms. dhowden/tag keeps atoms in a map keyed
// MP4 has the same gap as Vorbis comments. A tag writer stores several genres
// as several "data" atoms inside one ©gen atom (mutagen and Picard do), or
// occasionally as repeated ©gen atoms. dhowden/tag keeps atoms in a map keyed
// by name (mp4.go: m.data[name] = data), so one value survives either way.
//
// Path to the values: moov > udta > meta > ilst > ©gen > data. A file that
// carries only the numeric "gnre" atom has no ©gen; this reader returns
// (nil, nil) for it, and extractGenres falls back to dhowden/tag, which resolves
// gnre to a name.
// carries only the numeric "gnre" atom has no ©gen; this reader returns (nil,
// nil) for it, and extractGenres falls back to dhowden/tag, which resolves gnre
// to a name.
// maxMP4GenreAtomSize caps how much of one ©gen atom is buffered. Genre text is
// bytes; the cap only stops a corrupt size from making the scanner allocate.