# Supply chain evidence (Pro) `SPLC NVDA` (or `SUPPLY NVDA`) opens the supply chain for a ticker. Without an argument it uses the focused ticker. The pane follows linked tickers like other research functions. Free accounts receive three rows per role in each direction, including evidence; Pro receives the full stored dataset. The **Table** has two directions. **NVDA says** reads statements attributed to NVIDIA. **Names NVDA** reads other companies' statements and other sources naming NVIDIA. Role and direction are relative to the company in the pane title: suppliers flow in, customers flow out. A reverse percentage belongs to the reporting company. Cirrus Logic reporting Apple as 91% of revenue means 91% of Cirrus Logic's revenue, not Apple's. A strip under the view switch names the company and counts its counterparties per role, each company once however many disclosures name it, without cohort groups or unconfirmed leads: the selected direction on the Table, both directions on Flow. A free preview adds how many disclosures it locks (`Customers 3 +8 locked`); some of them may name companies already shown. **Share** keeps the disclosed percentage and its denominator together, in words: `of revenue`, `of receivables`, `of cost of sales`, or a denominator established by filing prose (`of Compute & Networking revenue`). A reverse share names the reporting company (`of CRUS revenue`). The bar beside it draws the percentage on a 0 to 100% scale in the role's colour. Sorting by Share groups percentages by what they are a share of, revenue first, then cost of sales, purchases and receivables, before comparing them, because 30% of receivables is not a larger share than 21% of revenue; the order of the groups stays the same in either direction, and the Flow orders cards without a ribbon weight the same way. XBRL dimensions appear as tagged context (`revenue · context: TW`), because a tag can qualify either side of the ratio. They do not establish its complete denominator. The filing type alone does not establish a quarterly or annual duration. **Value** appears when a row discloses an amount, retaining its native currency and scale. **368,079 JPY million** means 368,079 million yen. Sorting values groups currencies before comparing amounts within each currency. USD values remain separately marked **disclosed** or **≈ derived**; evidence retains both when present. Evidence tier and period accompany each relationship; a wide pane also shows publisher, publication date and independent origins. A narrow pane folds the ticker into the name and leaves the source detail, then the period, to evidence; a share column too narrow for the whole basis shows a shorter form of it (`of receivables`, then `receivables`; tagged context is dropped whole, never cut), then gives up the bar, then cuts the basis behind an ellipsis, so a percentage never stands without what it is a share of. Flow cards and the cohort groups line do the same, and the line above the selected Flow card and the evidence view keep the whole wording. A missing number means it was not disclosed. Confidence describes extraction and entity resolution; it is not a probability of commercial success. Above the **NVDA says** table, a chart appears when at least three dated period ends have eligible receivables disclosures, including earlier periods. Each mark shows the largest confirmed, tier-1 single customer's share of NVIDIA's total receivables at that date, excluding scoped shares and corporate groups. Marks retain their calendar spacing without a connecting line or inferred periods; click one to select its disclosure row. Customers the filer does not name are labelled **undisclosed customer** (or supplier), and geographic, channel and customer cohorts **customer group**, both in muted text so they never read as a company. The **Evidence** filter defaults to Filings, Company and Call. Add Reported to see corroborated reporting. Add Unconfirmed to see rumors and single-source leads, including reported leads that still await verification. Unconfirmed rows occupy a separate section and do not enter flow diagrams or disclosed concentrations. A source's trust tier is distinct from the relationship role: a company announcement can describe an investment without establishing a supplier relationship. | Tier | Evidence | Meaning | | --- | --- | --- | | 1 | Filings | Regulatory filing disclosure, including financial statements and filed text from the SEC and supported global filing sources | | 2 | Company | Issuer press release, newsroom or IR announcement, including press-release exhibits | | 3 | Call | Management statement in an earnings call; speech transcripts are identified in evidence | | 4 | Reported | Reputable publisher reporting | | 5 | Reported (trade) | Trade publication reporting | | 6 | Unconfirmed | Rumor, social claim or other unverified lead | Every relationship exposes the publisher, publication date and number of independent origins. A filing, press release and call from the same issuer share one origin; syndicated copies of an announcement do not establish independent corroboration. Unconfirmed details state why confirmation is missing. Expired and rejected leads are hidden. First seen, last seen and last confirmed dates describe discovery and verification, separately from publication and fiscal period. Superseded evidence remains visible in a relationship's source history. Select a row and press **Enter** to open the counterparty's SPLC. **E** opens its evidence in the pane; **O** opens the source. **D**, **F** and **G** open that counterparty's description, financial analysis and chart. Unresolved and anonymous entities open evidence because they have no tradable ticker. **T** opens the independent TBO pane where available. Source links also work by mouse. ## Evidence and quoting The evidence detail opens with share, value, period, publication date and confidence figures above the source history and quoted excerpts. It preserves the original-language quotation, any labelled English gloss, source link, date, publisher and confidence. A quoted span must match fetched source text after Unicode NFKC and whitespace normalization. Legacy filing evidence also displays its recorded match mode. Global filing evidence identifies the original quote's language, a separate **English gloss · machine translation** when available, the filing section and required source attribution. Only the original quote is evidence-validated; the gloss is a reading aid. EDINET attribution identifies EDINET and PDL1.0 and states that Gloom edited the extracted data. Confidence describes extraction and entity resolution; it is not a probability of commercial success. Publisher articles whose quotation rights require review are **link only**. Their headline, publisher, date and source link are visible; article quotes and translated excerpts are absent from the pane, cache, screenshots and CLI output. Snippet-only material remains a lead and has no verified public quotation. Clear company releases, filings and calls can show short literal quotes. Source-native values preserve units and currency; gigawatts, unit counts, dollars and revenue shares are not interchangeable. The table keeps a disclosed percentage and denominator together: revenue, receivables, cost or purchases. A prose-supported scope spells out its denominator. XBRL dimensions remain separately labelled context in Table, Flow and Evidence; headless graph evidence leaves `denominator` null for these scoped facts and retains `pctBasis` and `pctScope`. Percentages are restricted to filing disclosures. Dollars are marked **disclosed** or **approximately derived**. Missing numbers mean the source did not disclose them. Source values from calls and announcements can appear in evidence but never set disclosed ribbon widths. XBRL evidence can be a literal tagged field rather than a prose quotation. Tags sometimes omit qualifications visible only in the filing. For example, NVIDIA's [FY2026 76%](https://www.sec.gov/Archives/edgar/data/1045810/000104581026000021/nvda-20260125.htm) and [Q3 FY2026 86%](https://www.sec.gov/Archives/edgar/data/1045810/000104581025000230/nvda-20251026.htm) refer to Data Center revenue from Taiwan-headquartered customers attributed to US and European end customers. Their tagged context only says `TW`. The [first-half FY2027 30%](https://www.sec.gov/Archives/edgar/data/1045810/000104581026000075/nvda-20260726.htm) is revenue from non-US customers as a share of total revenue, not 30% of non-US revenue. Read the linked filing for those qualifications. No individual customer allocation follows from these aggregate figures. SEC Notes datasets normalize dates to month ends. Their `period` and `asOf` fields can differ from the exact fiscal end in the filing (NVIDIA's FY2026 is labelled 2026-01-31 but ended 2026-01-25). Live filing instances can retain the exact date. These are source period labels, not proof of an exact fiscal calendar. When the source states how long a period is, the period reads with its length: `2026-07-31 half`, `2025-10-31 9 months`, or `instant` for a balance such as receivables at the period end. The length covers every figure on the row. Tagged XBRL figures carry one, as do shares in global annual reports, and half-year reports that state when their period began; quarterly reports' shares, which are often year to date, filing prose, calls and news do not, and their periods show the date alone. A row whose share and amount cover different lengths, such as a receivables balance beside six months of revenue, shows the date alone too. A narrow table drops the length before the period; the evidence detail keeps it. `--json` adds `periodMonths` (0 for a balance, 3 a quarter, 12 a year, `null` when not stated or when the row's figures differ in length) beside `period`. ## Flow **Flow** places suppliers to the left, the focus company in the middle and customers to the right. Each company is a card with its name, ticker and disclosed figure, edged in its role's colour; ribbons run from each card's edge to the focus company's edge and shade from one colour into the other. Partners, competitors and investees sit in a band underneath as ticker chips, one row per role, with cohort **Groups** listed as text beside them. Hover a card or ribbon to bring it forward and see the figure, its denominator, the period and the filing; Up/Down move the same highlight, and the selected relationship's filing and figure appear above the flow. Click a company or press Enter to open its own supply chain; an unresolved company opens evidence. More than the available space allows is grouped under **+N more**. Activating that node pages through the band without squeezing labels together. A narrow pane falls back to the table. The same Evidence filter governs both views. Customer ribbon widths use tier-1 revenue percentages disclosed by the focus company for the same fiscal period, period length and scope; a quarter and a half ending on one date are different periods, and a share whose length is not stated joins either. The largest compatible group sets the scale, preferring whole-company revenue on a tie. Scoped XBRL percentages do not set ribbon widths, because matching dimensional labels do not establish matching denominators. Otherwise a column uses tier-1 disclosed or derived dollars. Native amounts are displayed with their currency and scale but do not introduce another ribbon weight or an implied exchange-rate conversion. A legend under the flow says what sets each column's widths. Known positive values appear first in descending order and are proportional, with a fixed scale across pages. Relationships with no comparable figure and company/call relationships are hairlines. Reported links are dashed. Unconfirmed leads have no node or ribbon. Reverse percentages and percentages with a different period, scope or denominator remain hairlines when revenue percentages set the scale. The columns scale independently. They are not an accounting identity, and no percentages are summed. The strongest eligible evidence per counterparty and role is drawn, with the newest disclosure winning within a tier; the table retains all underlying evidence. SVG draws the desktop/web diagram; the terminal uses braille, with native graphics when supported. ## Graph and Path (Pro) **Graph** follows one to four disclosed hops. Upstream traversal is on the left and downstream traversal on the right; each company identifies its supplier, customer, partner, competitor or investment relationship. Mixed paths say which non-commercial relationship they pass through. The default is two hops in both directions. Hop badges identify the distance from the focus company; less confident links are dimmer. Click a company, or select it with Up/Down and press Enter, to re-center. **C** collapses or expands the selected company's descendants. **[** and **]** page the selected layer; **Next companies** does the same with the mouse. **P** finds paths to the selected company; the **To** field accepts a ticker, an exchange-qualified ticker such as `2330:TWSE`, or a retained entity reference such as `id:123`. The selected path stays highlighted. **Z** resets the original focus and clears the target. **Path** lists routes from the focus company to **To**, with relationship types, hop count, ranking score, confidence and any compatible exposure estimate. Select a route and press Enter or **E** to read every hop's disclosure, reporting company, period, filing date, confidence, verbatim quote and primary-source link. Up/Down scrolls the evidence; Enter opens the first filing, and the pane action menu lists every filing and hop recenter action. The same evidence detail is available for the highlighted route in Graph. **D**, **F** and **G** open the selected listed company's description, financial analysis and price chart. The query row controls depth, direction, roles, evidence type, evidence class and ranking. Graph and Path use the graph evidence classes `structured`, `primary`, `secondary` and `imported`; these are separate from the Filings, Company, Call, Reported and Unconfirmed filter in Table and Flow. With no graph tier filter, all stored graph tiers are eligible. **I** opens numeric filters and the filing cutoff. A positive minimum disclosed percentage excludes unquantified relationships; zero retains them. Minimum confidence ranges from 0 to 1. Source and tier filters select evidence before weights are computed. `supplier` and `customer` role filters are relative to the traversal: upstream suppliers and downstream customers. Partners and competitors are symmetric; investee direction follows the original relation. Paths containing any of those relationships appear under related companies and receive no commercial exposure estimate. Every route is cycle-free. Both-direction search explores upstream and downstream separately; it does not connect unrelated companies by changing commercial direction midway. Anonymous customers can be endpoints but never intermediate companies. Aggregate geographic, channel and customer cohorts never become graph nodes. The graph retains the best-scoring and shortest discovered route to each reached company. Score ranking breaks ties by fewer hops; shortest ranking breaks ties by score. A link's normalized weight is its evidence confidence multiplied by the disclosed percentage divided by 100, when that percentage exists; without a disclosed percentage it uses confidence alone. Path score is the product of link weights. Path confidence is the product of the selected disclosures' confidence values. Both rank or describe the available evidence; **neither is a probability**. The newest eligible disclosure supplies the link weight, while the response preserves the other supporting disclosures. A high score does not establish economic importance, and unquantified links can outrank quantified links. **Estimated exposure** multiplies percentages only along consistently directed commercial paths with the same period and denominator basis, no segment scope, and an appropriate reporting company on every hop. Supported chains use revenue, purchases or cost; receivables, mixed periods (including a quarter and a half ending on one date), mixed bases, scoped percentages and missing percentages remain unavailable. The result always identifies its denominator company, basis and period. For example, 20% of A's revenue sold to B and 30% of B's revenue sold to C produce a **6% estimate of A's revenue**, under proportional pass-through assumptions. This is not a disclosed exposure or a measured loss under a disruption. Alternative paths can overlap; their percentages must not be added. The **filing cutoff** (`as-of`) uses filing publication dates and retained superseded disclosures. It selects the newest qualifying disclosure for each relationship, source type and reporting company as of that cutoff, and omits undated filings. It is not a historical reconstruction of the application's ingestion state or entity master. Without a cutoff the graph uses current active disclosures. Every response includes its snapshot timestamp. Search returns up to 50 paths or companies per section, within four hops, 201 nodes and 400 links. Search work and its frontier are also bounded. The footer's warning detail and report metadata identify incomplete searches: result, path, response, state, frontier or time limits. A complete result means the bounded query finished over available disclosures, not that the commercial supply chain is complete. **Path** returns the routes found within those bounds and selected filters; it never claims every real-world route. Narrow filters or reduce depth to inspect constrained results. Free accounts receive a one-hop graph and up to three results in each commercial and related direction section, with evidence. A free preview always uses the latest snapshot; historical filing cutoffs require Pro. Preview reports remain explicitly incomplete. Pro unlocks the requested depth through four hops and the full result limits. Graph caches are separated by account, entitlement, company, target and filters; successful responses refresh after five minutes. Refresh failures retain their original timestamp and appear as stale in the pane. ## Coverage and limitations The schema supports listed and private companies and government entities globally, with separate country, exchange, identifiers and multilingual aliases. Ingestion follows available filings, issuer announcements, news text and management calls. EDGAR exhibits are a US source; issuer pages, releases and calls can cover companies anywhere. This is source-dependent coverage, not a claim that every exchange or every issuer is complete. The collection status and the dated evidence determine what is available. Korean filing ingestion uses the official OpenDART API. The Japanese adapter uses EDINET API v2 and remains disabled until an API key is available; recorded public filing fixtures verify its parsing and display. Taiwan company identities come from official open data, while annual-report ingestion remains disabled pending a permitted official API source. No DART viewer, TWSE document-server or TDnet scraping is used. Global filing ingestion switches default off; an adapter's availability does not imply live or complete country coverage. Country, exchange and identifiers remain separate from names. Korean `.KS`/`.KQ`, Japanese `.T` and Taiwanese `.TW`/`.TWO` listings retain their exchange identity. Coverage depends on each jurisdiction's disclosure rules: Korean reports often name customers together without individual percentages; Japanese major-customer tables may disclose entity or corporate-group amounts; Taiwanese reports commonly use anonymous A/B codes. Reverse disclosures can populate a company's view even while its home-country filing ingestion is disabled. Unresolved names remain unresolved. Anonymous customer concentrations are never matched to a named company. Geographic, channel and customer cohorts are labelled **customer group** and never become company nodes or ribbons. Named corporate groups also remain distinct from listed company entities, have no tradable ticker and stay in Table and Evidence; their disclosures must not be attributed to a parent or subsidiary. An individually anonymous customer may appear in Flow. Annual reporting, disclosure thresholds, source availability and extraction throughput leave gaps. Absence is not proof of no relationship. Verification can promote a lead when stronger evidence arrives. Conflicting values supersede rather than average: an earlier rumor cannot override a later filed amount. Unverified leads expire after 90 days; company/call evidence generally ages after 12 months and reporting after six months. Filing revisions follow the newer disclosure. Cached results are separated by account, entitlement and evidence selection, refreshed hourly and marked stale when refresh fails. ## CLI and REST ```sh gloom fn SPLC NVDA --json gloom fn SPLC 005930.KS --json gloom fn SPLC NVDA --tiers sec,company,call,reported --json gloom fn SPLC NVDA --tiers unconfirmed --json gloom fn SPLC NVDA --tab graph --depth 3 --direction upstream --json gloom fn SPLC NVDA --tab path --to MSFT --depth 4 --ranking shortest --json gloom fn SPLC AAPL --tab graph --roles supplier --sources filing_text,xbrl --tiers primary,structured --min-confidence 0.8 --min-pct 5 --limit 25 --as-of 2025-12-31 --json gloom shot SPLC NVDA --tab table --view names --width 1280 --height 540 --output supply-table.png gloom shot SPLC NVDA --tab flow --tiers sec,company,call,reported --width 720 --height 360 --output supply-flow.png gloom shot SPLC NVDA --evidence --width 1280 --height 540 --output supply-evidence.png gloom shot SPLC NVDA --tab graph --depth 3 --width 1280 --height 540 --output supply-graph.png gloom shot SPLC NVDA --tab path --to MSFT --depth 4 --width 720 --height 360 --output supply-path.png gloom shot SPLC NVDA --tab path --to MSFT --depth 4 --evidence --width 1280 --height 540 --output supply-path-evidence.png ``` `--tiers` is contextual: Table and Flow accept `sec,company,call,reported,unconfirmed` and default to `sec,company,call`; Graph and Path accept `structured,primary,secondary,imported` and default to all graph tiers. Values from one view are not aliases for the other view. The report preserves both directions, separate Unconfirmed sections, the strip's figures (`metadata.counterparties` and `metadata.locked`, per role for `says`, `names` and `flow`), the server's disclosure counts per role (`metadata.counts`), full-precision values, claim type, corroboration, lifecycle dates, evidence history and source links. Restricted quotes and glosses are null. `nativeAmount` is expressed in the disclosed units; multiply by `nativeScale` for units of `nativeCurrency`. `quoteLanguage`, `quoteGloss`, `quoteGlossKind`, `entityScope`, `jurisdiction`, `sectionRef` and `sourceAttribution` preserve global provenance. `quoteGlossKind` is `machine_translation` when a permitted gloss exists. The text report prints the Table tab's columns as the pane does: the share with what it is a share of (`31.5% of AIRI revenue`) and the value in its disclosed currency and scale (`53,412,000,000 USD`); quotes and evidence stay in `--json`. Screenshots freeze and verify the same filtered payload and need no price feed. The corresponding endpoint is `GET /cloud/supply-chain/:symbol?tiers=sec,company,call,reported`. Unconfirmed leads require `tiers=unconfirmed&includeLeads=1`; the app and CLI set the latter when Unconfirmed is selected. Omitting tiers defaults to Filings, Company and Call. The `sec` API and CLI filter token includes supported global regulatory filings as well as SEC filings. Account preview limits remain enforced by the server. Graph reports contain upstream, downstream and related companies with their best and shortest routes. A target supplied to Graph or Path returns the matching routes. Every route carries per-hop disclosure evidence, full precision scores, and any estimate with its denominator. The evidence section provides permitted quotes and source links; `metadata.graph` retains the normalized API response, entity identifiers, jurisdiction, source kind, graph evidence class, numeric source trust tier, claim and verification status, corroboration, lifecycle dates, source history, amounts and currencies. Link-only and snippet quotes and glosses are removed before caching or export. Path evidence shows each source's publisher, publication date, quotation rights, original language, separately labelled machine-translated gloss, filing section and attribution. Native values retain their disclosed currency and scale; they are never silently converted to USD. Only confirmed filing percentages can produce a disclosed share or chained exposure estimate; unconfirmed, rejected and stale relationships cannot enter a graph. `complete`, `errors`, access limits and `metadata.search` distinguish a finished search from a partial result or preview. A completed search with no routes is not evidence of no relationship. Screenshots freeze the same disclosure or graph payload they verify and need no price feed. `--evidence` opens the first relationship or selected path evidence (`--route 4` selects the fourth route) for the capture. The Graph verifier checks rendered link IDs against that snapshot; the Path verifier checks route IDs. Table and Flow keep their existing disclosure verification. REST clients can request `/cloud/supply-chain/NVDA/graph?depth=3&direction=upstream` or `/cloud/supply-chain/paths?from=NVDA&to=MSFT&depth=4&ranking=shortest` through their authenticated Gloom Cloud session. Query options match the CLI, with `minPct`, `minConfidence` and `asOf` in camel case. Both endpoints enforce account entitlements server-side. Accepted source kinds are `xbrl`, `filing_text`, `press_release`, `call`, `news`, `web` and `import`; tiers are `structured`, `primary`, `secondary` and `imported`. These filters expose stored coverage; they do not enable ingestion of a missing source.