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:
@@ -83,7 +83,8 @@ func newMergeFixture(t *testing.T) mergeFixture {
|
||||
}
|
||||
f.alice, f.bob = user("merge-alice"), user("merge-bob")
|
||||
|
||||
// Alice liked both copies, the removed one first; Bob liked only the removed one.
|
||||
// Alice liked both copies, the removed one first; Bob liked only the
|
||||
// removed one.
|
||||
f.aliceEarlierLikeOnRem = time.Now().Add(-72 * time.Hour).UTC().Truncate(time.Microsecond)
|
||||
mustExec(`INSERT INTO general_likes (user_id, track_id, liked_at) VALUES ($1, $2, $3), ($1, $4, now()), ($5, $2, now())`,
|
||||
f.alice.ID, f.remove.ID, f.aliceEarlierLikeOnRem, f.keep.ID, f.bob.ID)
|
||||
@@ -144,9 +145,8 @@ func (f mergeFixture) count(t *testing.T, sql string, args ...any) int {
|
||||
return n
|
||||
}
|
||||
|
||||
// The #3911 proof: after a merge, every piece of history the removed copy held
|
||||
// is on the copy kept, nothing is doubled, and the removed copy — row and file —
|
||||
// is gone.
|
||||
// After a merge, every piece of history the removed copy held is on the copy
|
||||
// kept, nothing is doubled, and the removed copy — row and file — is gone.
|
||||
func TestMergeDuplicateGroup_Integration(t *testing.T) {
|
||||
f := newMergeFixture(t)
|
||||
ctx := context.Background()
|
||||
@@ -208,8 +208,8 @@ func TestMergeDuplicateGroup_Integration(t *testing.T) {
|
||||
t.Errorf("the kept copy's own house weight was overwritten")
|
||||
}
|
||||
|
||||
// Similarity: rewritten onto the kept copy, no duplicate edge, no self-edge,
|
||||
// nothing left pointing at the removed copy.
|
||||
// Similarity: rewritten onto the kept copy, no duplicate edge, no
|
||||
// self-edge, nothing left pointing at the removed copy.
|
||||
if n := f.count(t, `SELECT count(*) FROM track_similarity WHERE track_a_id = $1 AND track_b_id = $2 AND source = 'listenbrainz'`,
|
||||
f.keep.ID, f.other.ID); n != 1 {
|
||||
t.Errorf("listenbrainz edge keep→other = %d rows, want exactly 1", n)
|
||||
|
||||
Reference in New Issue
Block a user