Methodology and limitations: use cases 1-3

*Version m8-1, 2026-09-30 (use-case plan milestone M8). Every page and export of use cases 1-3 links here. The figures below are as of 2026-09-30; a later release restates them in its own manifest. Plan: docs/PLAN_USE_CASES_1_2_3_2026-09-29.md.*

What the pages say, and what they do not

The pages say who is connected, with a receipt per relationship: a company named in a covered filer's annual report, the quote that names it, and the filing it came from.

They do not say how much an event carries. No page states sizes, severity bands, tested directions or forecasts, and no page gives one figure for a whole book (plan §1.1 C-3; docs/MODEL_PLAN_2026-09-27.md ruling 3; the RATES-1 and POLICY-1 results). The one piece of book arithmetic is the book-weight share of use case 3, titled "book weight, not a loss or exposure estimate".

A page that finds nothing does not call the result clear. It says "no disclosed relationship among N covered filers read through <date>", with the coverage panel beside it (plan §1.7).

Every page and export is the same for every viewer. The session page matches a pasted list inside the viewer's browser; the list is not sent anywhere, stored, or written into the page's address (founder ruling of 2026-09-29, D4 option a). Whether this arrangement meets any legal standard has not been reviewed by counsel.

What is covered

The dated State of a relationship

A relationship is one filer naming one counterparty in one kind of relation. Its State on a date comes from eval/state/state.py State.at(edge, date), reading only filings dated before that date:

StateMeaning
currentthe filer's latest read annual filing before the date names it
unobservedthe filer's latest read filing is more than 455 days old (its next annual filing has not been read), and less than 548 days
anonymisedthe filer stopped naming the company and reports an unnamed counterparty with the same relation and a compatible stated share
staletwo or more of the filer's read annual filings after its last naming do not name it
endedthe filer's own filing says the relationship ended
lapsedthe filer's latest read filing is more than 548 days old
not yet disclosedfirst named on or after the date

A relationship not yet disclosed on a date never appears in a view of that date (plan C-2). Stale, ended and lapsed relationships are shown, with their last-named date, because a stopped naming is information too.

Receipts

Each row shows its receipt (plan C-1): the quote, the form, the filing date, the accession with its EDGAR link, the character offsets where the quote was re-found in the cached filing text, the heading above it, the fiscal period, the filer's name as it filed, and a context window (up to about 600 characters before and 400 after, widened to a sentence or a blank line). The CSV exports carry the same receipt in their own columns (quote, quote_status, accession, filed, form, filer_name, period, url, char_start, char_end, item_heading_above, context, and whether a display shows an ellipsis at either end of the window), beside the naming filer (named_by). A legibility page's parent view shows each ownership claim it rests on with that claim's receipts, each located in the cached text the same way and dated by its own filing; a receipt filed on or after the date is left out, and a claim left with no receipt is not shown. The claims it rests on are those whose object is a company in the book's view; the same group's claims about companies no holding names are counted on the line, not listed, so no receipt puts a company on the page that is not in the book.

The evidence index re-found all 43,482 row quotes in the cached filing text on 2026-09-30 (39,744 exactly, 3,657 with whitespace differences, 79 after normalising characters); 2 are marked "span too long to be a quote". A quote that cannot be re-found reads "quote not re-found" and is counted.

Identity

Companies are joined through an identity view (graph/identity_view_v1.jsonl, milestone M3):

Known limits: the view holds ASML.AS ("ASM Lithography", ASML's former name) apart from ASML. Book intake reads the listing ASML.AS as ASML through its table of home-market listings, and the separate key is an open identity item. The view shows 4063.T (Shin-Etsu Chemical's code) under the name of its subsidiary Shin-Etsu Handotai; that is an open identity item too.

Use case 1: events

Use case 2: notices and lists

Sources and their start dates:

Tiers of a notice record:

Matching rules: an alias confirms a match only with address or country corroboration; an alias that equals or contains the name of a different known company never confirms by rule; a one-word name needs corroboration; city and province prefixes fold (?zhejiang dahua is Dahua). Anything else is a "possible match", shown as possible and not counted as reached until a person confirms the identity with one answer: same entity, different entity, or cannot tell. A record exports only with the confirmer's name and a UTC time.

Listed as of a date: every Federal Register document the Federal Register's catalogue lists as amending 15 CFR part 744, published 2016-09-01 through 2026-09-30, was fetched and read into the second parse, and the removal record it gives was compared with each eCFR copy in that window, entry by entry, in both directions (the parser's check S3 (c), in-sample: the parser was built and reconciled on these same notices; the held-out S3 is the same measure on notices first fetched after the freeze, reported apart). Inside that check's window (the Entity List and the Unverified List from 2017-01-03, the Military End-User List from 2020-12-23), a record whose entry matches by name reads "Listed as of <date> on the <list>: <how it came to be listed>; every Federal Register document amending 15 CFR part 744 through <date> was read, and none read removes it". The date is the notice date, never the check's later window end. An alias match says the same without the opening words. An entry the check names as an exception carries the reason instead. Outside the window a record reads "added on <date> by <document>; removal status not checked", or the removal record read so far, stated only through the notice date.

The notice date is the earlier of the effective date and the publication date. Nothing filed on or after it is used; what later notices did to an entry sits in a separate, labelled panel that the as-of view never reads. A development notice's page keeps that panel closed; the pages of a session's scored items carry none.

Use case 3: shared counterparties

Book intake

Every line of a pasted list or CSV gets one label, and no line is dropped (plan C-4, L7): covered, not covered, could not read, fund (not looked through), cash (not a company), or not a holding line (blank, comment, header, total). Each unmatched line says why.

Exports and printing

What each result is licensed to say

StatementLicensed byStatus on 2026-09-30Wording used until then
Reached through a disclosed relationshipR1, R2 (UC1); S1, S2 (UC2)not tested"Relationship mentions, completeness untested"
Connected through two disclosed hopsH2not testedsecond-hop block hidden
Reached through a site, a counterparty or revenue in a placeR5 per channelnot testeda base-rate sentence; revenue labelled revenue
Export rule with no named entityE1not tested"Sector membership, not relationship reach"
A screen of filers with a relationship with a listed partyS1-S3not tested"Research aid, not a screen"
Listed as of a dateS3 (c), removals readin use inside the check's window, in-sample (M5b); held-out not measured"Added on <date>; removal status not checked" (outside the window)
No disclosed relationship among covered filersalways, with the coverage panelin usenever clear
Ranked shared counterpartiesL1not testedunranked, with document frequency
Sole sourceL3not testedexplicit wording only, with the quote
Silent on a questionL4not builtnot shown

Measured rates

RateMeasuredSource
Row quotes re-found in the filing text43,482 of 43,482 (2026-09-30)the evidence index evidence_94056e2c5484
History-edge receipts that support the row83.0% supported, 1.7% wrong (an audit of a sample)docs/HISTORY_EDGES_2026-09-24.md
Relationship recall (R1), precision (R2), stop correctness (R4)not measured yetacceptance runs, plan M26
Second hop (H2), place channels (R5), export-rule channel (E1)not measured yetplan M16, M20, M23
Notice recall (S1), identity precision (S2), parser (S3 (a), (b), and (c) held out)not measured yetplan M18, M26
Removal record against eCFR's copies (S3 (c), in-sample)compared at each copy date: 131 (Entity List), 24 (Unverified List), 14 (Military End-User List); the 23 runs of copy rows the lookup misses are named, and reported from the copygraph/screen/listed_asof_check_v2.json
Universal nodes in the top five (L1), sole-source audit (L3), silent cells (L4)not measured yetplan M21, M22, M24
Rows supported as shown, by two readers (C-6)not measured yetplan M21

Known misses, from the plan's checks: only 11 of the 22 filers that named Huawei in the two years before its 2019 listing appear in the dated table; a relationship a filer states without the counterparty's name cannot be reached.

Versions

Wording lint uc123-lint-2 (pipeline/lint.py); book intake m8-book-5 with the ADR table m8-adr-1 (pipeline/evidence/book.py); reports m8-report-4 (pipeline/evidence/report.py); session page m8-session-6; notice records m6-record-5 (pipeline/screen/record.py); stop list stops-v1; family treatment v1; evidence index m2-4; second hop m16-hop2-v2 with its stop reasons stops-hop2-v2 (pipeline/evidence/reach.py, stops.py); screening-list parser csl-2 and layer csl-layer-3 (pipeline/screen/csl.py), its direct check m25-holding-2 and records m25-record-2 (pipeline/screen/holding_check.py). Each release's manifest (release.json) pins the sha256 of every input and file, and a release is not built while this page names another version or entries file than the release's code and records (methodology_problems in pipeline/evidence/report.py).

The wording lint checks our own words on every page, export and the release data inside the session page. Some words are never used (for example clear, will, safe, arrows, valuation words); others appear only where a negator governs them in the same clause or heads a closed list ("no sizes, severities, forecasts or directions").