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
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:
@@ -13,15 +13,14 @@ import (
|
||||
"git.fabledsword.com/bvandeusen/minstrel/internal/db/dbq"
|
||||
)
|
||||
|
||||
// Loudness backfill (M464 #4995).
|
||||
// Loudness backfill.
|
||||
//
|
||||
// Every track is measured here, the new ones included: the scan only deletes a
|
||||
// changed file's measurement (see scanFile), and this worker measures it again.
|
||||
// Measuring inline in the scan was the first plan and was dropped, because the
|
||||
// analysis decodes the whole file. Added to the scan, a large import would run
|
||||
// several times longer and could pass StuckScanThreshold (1h), at which point
|
||||
// the run is reaped and a second scan started beside it. The fingerprint
|
||||
// backfill is a worker of its own for the same reason.
|
||||
// Not inline in the scan, because the analysis decodes the whole file: a large
|
||||
// import would run several times longer and could pass StuckScanThreshold
|
||||
// (1h), at which point the run is reaped and a second scan started beside it.
|
||||
// The fingerprint backfill is a worker of its own for the same reason.
|
||||
//
|
||||
// Until a track is measured it plays with no gain adjustment, which is how
|
||||
// every track played before normalization existed.
|
||||
@@ -107,7 +106,7 @@ func (w *LoudnessBackfillWorker) Run(ctx context.Context) {
|
||||
}
|
||||
|
||||
// runOnce contains a pass so that nothing it does (an error, a panic) can stop
|
||||
// the next tick from firing (rule 157).
|
||||
// the next tick from firing.
|
||||
func (w *LoudnessBackfillWorker) runOnce(ctx context.Context) {
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
@@ -123,7 +122,7 @@ func (w *LoudnessBackfillWorker) runOnce(ctx context.Context) {
|
||||
"processed", res.Processed, "measured", res.Measured, "silent", res.Silent,
|
||||
"unreadable", res.Unreadable, "inconclusive", res.Inconclusive)
|
||||
}
|
||||
// Album loudness follows the tracks (#4996). It runs even with analysis
|
||||
// Album loudness follows the tracks. It runs even with analysis
|
||||
// switched off: it decodes nothing, and membership still changes as the
|
||||
// library does.
|
||||
albums, err := w.albumPass(ctx)
|
||||
|
||||
Reference in New Issue
Block a user