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
The brand-profile agent resolves the wrong Wikidata entity for brands whose name collides with an unrelated same-named entity, because findWikidataId searches on the brand name alone and ignores the strongest disambiguator we already have: the site domain (e.g. the TLD) and the scraped site content.
PR #359 (#359) anchors the Wikipedia article fetch to the resolved QID and guards on wikibase_item === QID. That fixes the case where the QID is correct but the article lookup went astray. It does not fix the case where the resolved QID itself is wrong — the agent then faithfully anchors to the wrong entity and still emits contaminated products / sub_brands / competitors.
This is the sibling of the data-quality report adobe-rnd/llmo-data-retrieval-service#3200.
old step grabbed a same-named article despite a correct QID
Lovesac → Q6690181 (LoveSac, furniture) ✅
Yes — regen now returns furniture
B — QID wrong
entity resolution picked a same-named unrelated entity
Capella → Q12970 (the star Capella) ❌
No — regen still returns star data
Reproduction (Class B — verified on prod after #359)
capella.edu is Capella University (an online university; .edu). Its resolved QID is Q12970, which is the star Capella (constellation Auriga), not the university.
Before #359 (name-search article): products were a children's TV series ("Cappelli & Company", songs, cassettes).
After #359 regen: products became stars — Capella Aa, Capella Ab, Capella H (category "Star (primary giant in Capella system)"), with products_metadata.brand_wikidata_id: "Q12970" and wikipedia_verified: true. Still wrong — the guard passed because the article does match the (wrong) QID.
returns the first result whose description contains a company term, else the first result.
There is no use of the site domain or scraped content to disambiguate. capella.edu (a .edu) is an unambiguous "this is a university, not a star" signal that is discarded.
Prevalence (fleet scan)
Of 851 brands that have a stored products QID, ~247 have a stored QID whose Wikidata entity does not match the brand (Class B; upper bound — includes some acronym false-positives such as AIB→"Allied Irish Banks", which is actually correct). Clear examples:
AIA (insurance) → Q25228 = Anguilla (a country)
American Airlines → Q838581 = "comitative case" (grammar)
Same as #3200: products.items[*].category is the priority‑1 category source for synthetic-persona prompt generation, and the profile also feeds Semrush, Citation Attempt / Strategy Chat, and GSC. A wrong entity contaminates all of them.
Suggested fixes
Disambiguate with the site domain + scraped content. Pass the base URL (esp. the registrable domain / TLD) and the industry/vertical into findWikidataId; prefer the candidate whose Wikidata sitelink/official-website (P856) or description matches the domain/industry. A .edu should never resolve to a star.
Post-resolution guard. After picking a QID, verify its Wikidata description/instance of (P31) is consistent with the brand's known vertical; reject on clear mismatch.
Summary
The
brand-profileagent resolves the wrong Wikidata entity for brands whose name collides with an unrelated same-named entity, becausefindWikidataIdsearches on the brand name alone and ignores the strongest disambiguator we already have: the site domain (e.g. the TLD) and the scraped site content.PR #359 (#359) anchors the Wikipedia article fetch to the resolved QID and guards on
wikibase_item === QID. That fixes the case where the QID is correct but the article lookup went astray. It does not fix the case where the resolved QID itself is wrong — the agent then faithfully anchors to the wrong entity and still emits contaminatedproducts/sub_brands/competitors.This is the sibling of the data-quality report adobe-rnd/llmo-data-retrieval-service#3200.
Two distinct failure classes
Q6690181(LoveSac, furniture) ✅Q12970(the star Capella) ❌Reproduction (Class B — verified on prod after #359)
capella.eduis Capella University (an online university;.edu). Its resolved QID isQ12970, which is the star Capella (constellation Auriga), not the university.Before #359 (name-search article): products were a children's TV series ("Cappelli & Company", songs, cassettes).
After #359 regen: products became stars —
Capella Aa,Capella Ab,Capella H(category "Star (primary giant in Capella system)"), withproducts_metadata.brand_wikidata_id: "Q12970"andwikipedia_verified: true. Still wrong — the guard passed because the article does match the (wrong) QID.Root cause
src/agents/brand-profile/services/wikipedia.js→findWikidataId(brandName):wbsearchentitieswithsearch: brandName,There is no use of the site domain or scraped content to disambiguate.
capella.edu(a.edu) is an unambiguous "this is a university, not a star" signal that is discarded.Prevalence (fleet scan)
Of 851 brands that have a stored products QID, ~247 have a stored QID whose Wikidata entity does not match the brand (Class B; upper bound — includes some acronym false-positives such as AIB→"Allied Irish Banks", which is actually correct). Clear examples:
Q25228= Anguilla (a country)Q838581= "comitative case" (grammar)Q1823= AcehQ12970= the star CapellaBlast radius
Same as #3200:
products.items[*].categoryis the priority‑1 category source for synthetic-persona prompt generation, and the profile also feeds Semrush, Citation Attempt / Strategy Chat, and GSC. A wrong entity contaminates all of them.Suggested fixes
findWikidataId; prefer the candidate whose Wikidata sitelink/official-website (P856) or description matches the domain/industry. A.edushould never resolve to a star.instance of(P31) is consistent with the brand's known vertical; reject on clear mismatch.Links