Skip to content

Commit 1b73b0e

Browse files
authored
fix: skip merged-away members in llm merges (#4403)
Signed-off-by: Yeganathan S <63534555+skwowet@users.noreply.github.com>
1 parent ad74981 commit 1b73b0e

2 files changed

Lines changed: 14 additions & 1 deletion

File tree

services/apps/merge_suggestions_worker/src/workflows/mergeMembersWithLLM.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,17 @@ export async function mergeMembersWithLLM(
7373
return
7474
}
7575

76+
const mergedAwayMemberIds = new Set<string>()
77+
7678
for (const suggestion of suggestions) {
79+
if (mergedAwayMemberIds.has(suggestion[0]) || mergedAwayMemberIds.has(suggestion[1])) {
80+
console.log(
81+
`Skipping suggestion because a member was already merged away in this run: ${suggestion}`,
82+
)
83+
await removeMemberMergeSuggestion(suggestion)
84+
continue
85+
}
86+
7787
const members = await getMembersForLLMConsumption(suggestion)
7888

7989
if (members.length !== 2) {
@@ -107,6 +117,7 @@ export async function mergeMembersWithLLM(
107117
`LLM verdict says these two members are the same. Merging members: ${suggestion[0]} and ${suggestion[1]}!`,
108118
)
109119
await mergeMembers(suggestion[0], suggestion[1])
120+
mergedAwayMemberIds.add(suggestion[1])
110121
} else {
111122
console.log(
112123
`LLM doesn't think these members are the same. Removing from suggestions and adding to no merge: ${suggestion[0]} and ${suggestion[1]}!`,

services/libs/data-access-layer/src/member_merge/index.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ export async function insertMemberNoMerge(
4141
await qx.result(
4242
`
4343
INSERT INTO "memberNoMerge" ("memberId", "noMergeId", "createdAt", "updatedAt")
44-
VALUES ($(memberId), $(noMergeId), NOW(), NOW())
44+
SELECT $(memberId), $(noMergeId), NOW(), NOW()
45+
WHERE EXISTS (SELECT 1 FROM members WHERE id = $(memberId))
46+
AND EXISTS (SELECT 1 FROM members WHERE id = $(noMergeId))
4547
ON CONFLICT ("memberId", "noMergeId") DO NOTHING
4648
`,
4749
{ memberId, noMergeId },

0 commit comments

Comments
 (0)