Skip to content

A generic phrase becomes a name, and a name is a bridge #770

Open

Description

@WaylandYang

The entity panel for NVIDIA lists six names: NVIDIA, NVIDIA CORPORATION, NVDA, company,
the registrant, the company. The first three are names. The last three are not, and the
contract already says so.

prior-work item 6: a thing is named only by a proper name or a fixed
term that means the same in any document; a role or a generic phrase whose referent the passage
decides is described, scoped to its document and never merged by string.
the registrant is
whoever filed the document. the company is whoever the paragraph is about.

It has already bridged two companies

In one e2e base, the company is a known_as name of both NVIDIA and SB Energy. A name is
the recall bridge and the key identity evidence will merge on (0041), so a generic phrase invites
exactly the merge that must never happen. Counts across the bases on hand:

name bases where it appears entities claiming it
the company 4 NVIDIA, SB Energy
registrant / the registrant 3 NVIDIA, NVIDIA CORPORATION
company 1 NVIDIA

Why nothing catches it

Two server checks guard names: name_not_in_text (the name, or its quote, occurs in the chunk) and
name_claimed_by_another (no other entity in this document already claims the string). A generic
phrase passes both: it is written in the passage, and within one document it really does refer to
one company.

What a fix has to avoid

A word list. The shape checks look at structure, never vocabulary, and most lowercase names in these
bases are legitimate: free cash flow, non-GAAP gross margin, inline XBRL, safe harbor are
fixed terms that mean the same in any document, which is what item 6 admits on purpose. The gate is
a term gate, not a proper-name gate.

The distinguishing property is not the string, it is that the referent is decided by the passage.
Two directions worth measuring before either is built:

  1. Ask the contract for it. The model already separates a described thing from a named one
    (Extraction reads only the open graph #736); the extraction contract could say that a phrase whose referent the passage fixes is a
    description, and the statement keeps it in the qualifier rather than as a name.
  2. Refuse the name when the entity's own class word is the name. the company naming an
    organization, the registrant naming an organization: the name adds nothing the class does not
    already say. This is structural against the ontology rather than against a word list, but it
    needs measuring on a base where a class word is a real name.

Not this

The same base holds a second entity literally called NVIDIA CORPORATION, separate from NVIDIA.
That is the same company split across documents, which is expected until identity evidence lands
(0044 cut 4). It is not this bug.

Smaller and related: a possessive reaches known_as too (NVIDIA's, NVIDIA Corporation's).

Activity

  1. WaylandYang commented on Sep 19, 2026

    @WaylandYang
    ContributorAuthor

    Measured direction 2 before anyone builds it, and it is dead. Twice over.

    The entities carrying these names usually have no class. An open-layer entity gets one only when
    its kind word binds, and the company arrives long before that. Across three bases, of the named
    entities that do carry a class, the count whose name equals their own class word is:

    base names on classed entities equal to the class word
    batch nvda tables 54 0
    e2e four 01:58 151 0
    e2e four 15:37 107 0

    Where a class does exist, the strings do not meet. In one base NVIDIA is an Organization and
    holds the name the company. The class word is "Organization"; the name is "company". Matching them
    needs a synonym table, which is the word list this project does not write.

    So the gate has to come from the contract (direction 1): the model is what knows that the registrant is an anaphor and free cash flow is a term. That also matches how the distinction is
    already drawn for a described thing that has no name (#736).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions