You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: services/apps/merge_suggestions_worker/src/workflows/mergeMembersWithLLM.ts
+4-3Lines changed: 4 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -42,9 +42,10 @@ export async function mergeMembersWithLLM(
42
42
3. Attributes and other fields: If one member have a specific field and other member doesn't, skip that field when deciding similarity.
43
43
Checking semantically instead of literally is important for such fields. Important fields here are: location, timezone, languages, programming languages.
44
44
For example one member might have Berlin in location, while other can have Germany - consider such members have same location.
45
-
4. Display Name: Tokenize using both character and word tokenization. When the display name is more than one word, and the difference is a few edit distances consider it a strong indication of similarity.
46
-
When one display name is contained by the other, check other fields for the final decision. The same members on different platforms might have different display names.
47
-
Display names can be multiple words and might be sorted in different order in different platforms for the same member.
45
+
4. Display Name: Tokenize using both character and word tokenization. When the display name is more than one word, and the difference is a few edit distances consider it a strong indication of similarity.
46
+
When one display name is contained by the other, check other fields for the final decision. The same members on different platforms might have different display names.
47
+
Display names can be multiple words and might be sorted in different order in different platforms for the same member. Display name is a supporting signal only — it is never sufficient on its own.
48
+
If display name is the only thing that matches and there are no corroborating signals from identities, organizations, or attributes, return 'false'.
48
49
CRITICAL RULE - NEVER MERGE IF SAME PLATFORM WITH DIFFERENT VALUES:
49
50
Before making any decision, you MUST check if both members have identities on the same platform.
50
51
If member1.identities[x].platform === member2.identities[y].platform (they share a platform), then:
0 commit comments