In the eight-document AI-companies base (ingested 2026-09-06), a name lookup for "OpenAI" returns fourteen entities. Nine are real and distinct, because the article describes that corporate structure: OpenAI, Inc.; OpenAI Global, LLC; OpenAI LP; OpenAI GP LLC; OpenAI Group PBC; OpenAI Foundation; the board; OpenAI o1; OpenAI for Government. Four are not entities at all:
lawsuit against OpenAI untyped 5 facts
class action lawsuit against OpenAI untyped 5 facts
two executives in OpenAI untyped 3 facts
companies using OpenAI Corporation (inferred) 3 facts
They are descriptions of OpenAI written as noun phrases, and the extractor made each one a node with facts hanging off it. The typing pass is the tell: three of the four could not be placed in any type. Base-wide, 306 of 1,538 entities (20%) are untyped, and a sample of them is the same shape.
The same pass typed the main OpenAI as ResearchProject (inferred), while the article's first sentence calls it an organization; that is the nearest-type-by-embedding inference landing on the wrong schema.org class.
Resolution is not the cause. The funnel (name candidates → profile similarity → grey zone to review) ran and merged 123 entities in this base; these four were never duplicates of anything.
Effect
find_entities lists the phrases next to the real entities, and twelve of thirty-two data questions in the #548 harness ended with the model asking which OpenAI was meant. Facts attached to a phrase ("lawsuit against OpenAI —filed_by→ …") are invisible to a query about OpenAI itself.
What to do
Measure first: re-extract the eight documents with current dev on a scratch base and report the untyped share and the phrase entities among "OpenAI" matches. The base was extracted three days ago; extraction has changed since (#523 and the merge cuts), and the number may already differ.
Then, at extraction: a mention becomes an entity only if it names a thing. Two signals are already computed: a mention that the typing pass cannot place after inference, and a mention that contains another extracted entity's name plus a common-noun head ("lawsuit against X", "executives in X", "companies using X") is a description of X. Such a mention keeps its text as the fact's object_value, or as evidence, and does not become a node. The inferred type of the main entity is a separate defect of the same pass and gets its own fix (the article's own words outrank the embedding neighbour).
Acceptance
On the re-extraction: untyped entities under 5%; no phrase among the "OpenAI" matches; OpenAI typed as an organization. Through the chat harness, "which OpenAI?" turns fall (shared with the find_entities ranking in the graph-query issue; both count).
Related: #558 (the query interface these phrases pollute), #560 (the same measurement run), #519 / #523 (typing).
In the eight-document AI-companies base (ingested 2026-09-06), a name lookup for "OpenAI" returns fourteen entities. Nine are real and distinct, because the article describes that corporate structure: OpenAI, Inc.; OpenAI Global, LLC; OpenAI LP; OpenAI GP LLC; OpenAI Group PBC; OpenAI Foundation; the board; OpenAI o1; OpenAI for Government. Four are not entities at all:
They are descriptions of OpenAI written as noun phrases, and the extractor made each one a node with facts hanging off it. The typing pass is the tell: three of the four could not be placed in any type. Base-wide, 306 of 1,538 entities (20%) are untyped, and a sample of them is the same shape.
The same pass typed the main
OpenAIasResearchProject(inferred), while the article's first sentence calls it an organization; that is the nearest-type-by-embedding inference landing on the wrong schema.org class.Resolution is not the cause. The funnel (name candidates → profile similarity → grey zone to review) ran and merged 123 entities in this base; these four were never duplicates of anything.
Effect
find_entitieslists the phrases next to the real entities, and twelve of thirty-two data questions in the #548 harness ended with the model asking which OpenAI was meant. Facts attached to a phrase ("lawsuit against OpenAI —filed_by→ …") are invisible to a query about OpenAI itself.What to do
Measure first: re-extract the eight documents with current
devon a scratch base and report the untyped share and the phrase entities among "OpenAI" matches. The base was extracted three days ago; extraction has changed since (#523 and the merge cuts), and the number may already differ.Then, at extraction: a mention becomes an entity only if it names a thing. Two signals are already computed: a mention that the typing pass cannot place after inference, and a mention that contains another extracted entity's name plus a common-noun head ("lawsuit against X", "executives in X", "companies using X") is a description of X. Such a mention keeps its text as the fact's
object_value, or as evidence, and does not become a node. The inferred type of the main entity is a separate defect of the same pass and gets its own fix (the article's own words outrank the embedding neighbour).Acceptance
On the re-extraction: untyped entities under 5%; no phrase among the "OpenAI" matches;
OpenAItyped as an organization. Through the chat harness, "which OpenAI?" turns fall (shared with thefind_entitiesranking in the graph-query issue; both count).Related: #558 (the query interface these phrases pollute), #560 (the same measurement run), #519 / #523 (typing).