# Signalpost source map

Checked 16 Aug 2026. Use this as a starting point for the company research challenge. Every field should keep its value, availability state, source URL, retrieval time, as-of date, and licence.

Sources do not have to be free or anonymous. Public, login-protected, API-key, and paid sources may be used when their terms allow it and the evidence remains reproducible for evaluation. Declare provider, licence, cost, method, and rate limits; provide evaluator access or a permitted archived evidence bundle; never commit credentials. A source the evaluator cannot inspect cannot earn evidence points.

## Primary sources for the listed universe

- **Norwegian issuer scope:** the public index includes publicly traded companies whose official issuer, registry, or GLEIF evidence identifies Norway as the issuer country. The listing venue may be Oslo or another exchange. The [official Euronext home-state list](https://www.euronext.com/sites/default/files/stld/oslo-homestate/Hjemstatsliste.pdf) is used as a venue/home-state cross-check; registry, issuer, and GLEIF evidence remains the per-profile authority.
- **Euronext Oslo:** the primary Norway listing source for issuer identity, ticker, ISIN, market, prices, company news, financial calendars, and exchange events. [Open Oslo market data](https://live.euronext.com/en/markets/oslo).
- **Euronext Paris, Euronext Amsterdam, and Euronext Brussels:** official audit-only comparator directories. These records are not presented as Norwegian unless separate issuer evidence identifies Norway. [Open the official directory endpoint](https://live.euronext.com/en/product_directory/data/stocks-paris?mics=XPAR%2CXAMS%2CXBRU).

- Brønnøysundregistrene Entity Register: identity, legal form, status, address, industry, activity, website, VAT, registration dates, search, bulk downloads, and update endpoints. [Open the official API documentation](https://data.brreg.no/enhetsregisteret/api/dokumentasjon/en/index.html).
- Brønnøysundregistrene roles and group endpoints: registered roles, sub-entities, updates, and available group structure. [Open the official API reference](https://data.brreg.no/enhetsregisteret/api/dokumentasjon/en/swagger-ui.html).
- Brønnøysundregistrene Company Accounts Register: filed accounts and available account-copy years. [Open the official register description](https://www.brreg.no/en/about-us-2/our-registers/about-the-register-of-company-accounts/).
- Finanstilsynet: supervised-company register, approved prospectuses, and the public Short Sale Register. [Open the register](https://www.finanstilsynet.no/en/finanstilsynets-registry/contents-and-personal-data/), [prospectus register](https://www.finanstilsynet.no/en/topics/prospectuses/), and [short positions](https://ssr.finanstilsynet.no/?epslanguage=no).
- Brønnøysund announcements: registration changes, dissolution, striking-off, and registered prospectus notices. [Open official announcements](https://www.brreg.no/en/searching-our-registers/announcements/).
- France official enterprise API: registry identity, activity, address, directors, administrative status, size band, and selected financial values for matched French comparator issuers. [Open the official API](https://recherche-entreprises.api.gouv.fr/).
- Belgium KBO Public Search: legal identity, status, registered office, legal form, activities, and public role-count context for matched Belgian comparator issuers. [Open KBO Public Search](https://kbopub.economie.fgov.be/kbopub/zoeknaamfonetischform.html).
- Belgium National Bank Central Balance Sheet Office: official filed annual accounts source. The public Consult app exposes company-level published deposits and downloadable CSV, PDF, and XBRL artifacts; its separate bulk web services require a registered technical user and subscription. The fixture uses the public company-level route and keeps the filing reference and artifact URLs. [Open public Consult](https://consult.cbso.nbb.be/consult-enterprise/0716663318) · [NBB web-services documentation](https://www.nbb.be/en/central-balance-sheet-office/consultation/web-services).
- GLEIF Global LEI Index: cross-border legal-entity identity, registered-as identifier, address, legal form, status, and ISIN-linked corroboration where an issuer has a matching LEI. [Open the official API](https://api.gleif.org/api/v1/lei-records).

## Context and enrichment

- Statistics Norway (SSB) gives industry, region, sector, employment, and enterprise context. It is context, not a substitute for company-level facts. [Open business statistics](https://www.ssb.no/en/virksomheter-foretak-og-regnskap/virksomheter-og-foretak).
- Company websites, investor-relations pages, annual reports, and press releases can provide products, services, customers, hiring, and outlook. Label these as company-reported, dated, and separate from registry facts. The latest sequential product/service pass found usable issuer-page metadata for 3 of 500 audit profiles and 0 of 251 Norway-qualified public profiles; all other records remain explicitly `not_found` in the captured official sources. No description was inferred from a company name.
- Issuer-hosted annual reports can be used as a financial evidence path when a company publishes a report on its investor-relations site. Keep the issuer page, direct document URL, retrieval date, report period, and extracted metric labels; do not present these values as a country-register filing or normalize them across issuers. The current gated pilots accepted Adyen, ASR Nederland, Akzo Nobel, Basic-Fit, Ahold Delhaize, Carrefour, Avantium, Alfen, CM.com, Ctac, Bien Sparebank, and Ebusco through this path.
- SEC foreign-issuer filings can corroborate a current U.S. listing alongside Oslo evidence. The current accepted cross-listing layer covers Equinor (Norway-domiciled) and four Oslo-listed global operators: Borr Drilling, Frontline, Hafnia, and BW LPG. These labels preserve each issuer's actual legal domicile; an Oslo or NYSE listing is not treated as proof that an issuer is Norwegian.
- News, search, and market-interest feeds may be useful signals, but they are not proof of popularity, financial performance, ownership, or risk. Store the provider, query, timestamp, and link.

## International expansion sources (not in the current Norway universe)

These are candidate official sources for later country-specific enrichment. The current 500-profile fixture uses Euronext listing identity for its comparator profiles; country-level registry and filing enrichment is not silently assumed.

- **Denmark — CVR/Virk:** the Danish Business Authority says CVR data is public, and annual reports are searchable for eligible companies. This is the closest Nordic expansion path to the current Norway model. [CVR overview](https://erhvervsstyrelsen.dk/det-centrale-virksomhedsregister-cvr) · [Virk company register](https://datacvr.virk.dk/)
- **United Kingdom — Companies House:** public company data, filing history, account metadata, and account documents are available through official APIs and bulk data products. API access requires a registered key; the company and accounts data products are separate. [API overview](https://developer.company-information.service.gov.uk/overview/) · [data products](https://www.gov.uk/guidance/companies-house-data-products)
- **Sweden — Bolagsverket:** its free valuable-data program includes company information, accounts, and annual reports; deeper APIs and document access have separate onboarding or paid-service rules. [Free valuable datasets](https://bolagsverket.se/apierochoppnadata/hamtaforetagsinformation/vardefulladatamangder.5294.html) · [annual-report API](https://media.bolagsverket.se/diar/services/1.0/hamtaArsredovisningsinformation-1.0-en.html)
- **Poland — KRS:** the Ministry of Justice provides a free financial-document browser for entities in the National Court Register, using the KRS number. [Official financial-document browser](https://www.gov.pl/web/sprawiedliwosc/bezplatne-wyszukanie-i-pobranie-dokumentu-finansowego-podmiotu-wpisanego-do-rejestru-przedsiebiorcow)
- **Germany — Unternehmensregister:** the central official platform exposes accounting documents and company reports that must be disclosed under German law. Automation and document-access terms need validation before using it as a bulk source. [What the register contains](https://www.unternehmensregister.de/de/so-gehts/inhalt)
- **Finland — PRH Virre:** official company details are public, but financial-statement documents can require purchase, so it is not assumed to be a free bulk source. [Virre instructions](https://www.prh.fi/en/companiesandorganisations/tietopalvelut/virre/virre_-_instructions.html)
- **United States — SEC EDGAR:** excellent official structured data for SEC-reporting public issuers, but it is not a registry of private companies. [SEC APIs](https://www.sec.gov/edgar/sec-api-documentation) · [data.sec.gov](https://data.sec.gov/)
- **France — INPI RNE:** the official National Business Register includes non-confidential annual accounts, but access and bulk-use terms must be checked before relying on it. [RNE overview](https://www.inpi.fr/ressources/formalites-entreprises/registre-national-entreprises)

Country adapters must preserve the same states as the Norway adapter: `available`, `not_found`, `not_required`, `not_fetched`, `source_error`, and `stale`. “Not public in that country” is a valid result and must not be scored as a zero.

## What the public sample actually covers

- 295 dated Oslo-listed equity instruments from the official Euronext equities directory.
- 198 Oslo Børs, 10 Euronext Expand Oslo, and 87 Euronext Growth Oslo instruments in the snapshot.
- 205 additional listed equity profiles from official Euronext Paris, Amsterdam, and Brussels directories, clearly labelled as comparators rather than Norwegian issuers.
- 500 total audit records with a unique ISIN and an official listing URL on every record; the public Norwegian index is a smaller explicitly scoped subset.
- 251 clean Norwegian issuer matches, 89 French comparator matches, 27 Belgian comparator matches, and 104 additional exact GLEIF legal-entity/ISIN-linked matches for supplemental registry fields; foreign/unmatched issuers remain in the listed universe with missing registry fields explicit.
- 251 profiles with official Brønnøysund role data; foreign/unmatched issuers remain explicit as `not_fetched` for the Norway adapter.
- 468 profiles with an available financial evidence record in this snapshot: 214 filed records from Brønnøysundregistrene, 74 from the French official enterprise API, 7 filed records from the Belgian NBB public Consult route, 161 issuer-reported metrics from regulated Euronext financial releases, and 12 issuer-hosted annual reports. GLEIF is identity/context evidence, not a financial filing source. A missing or unsupported record is not a zero.
- Five Oslo profiles also have a separately verified New York Stock Exchange listing record. This is a cross-listing layer, not a change to the 295-profile Oslo universe or the 205-profile comparator universe.
- 138 profiles with a registry-listed website. A separate issuer-page retrieval pass found usable product/service metadata for 3 of 500 audit profiles; none of the 251 Norway-qualified public profiles returned usable product/service metadata in that pass. The public UI keeps these gaps visible and links the official source checked where one exists.

The prototype is a Norway-company index with exchange-agnostic issuer scope. It does not claim complete financial history, complete ownership, or continuous refresh for every listed issuer. The public answer is the current Norway-qualified subset; the 500-profile fixture is an evaluator audit set with foreign and comparator records kept separate.

## Verification loop and quality states

The fixture is checked one profile at a time against the official exchange directory. Each profile keeps separate evidence for listing identity, registry context, filed financials, issuer-reported material, product/service description, and explicit missing values. The quality score is a control signal for the challenge, not an investment rating:

- 30 points: exact official listing identity, ticker, ISIN, market, and product URL.
- 25 points: official registry identity and company context where the country adapter returns a match.
- 20 points: filed financial evidence where an official accounts source returns records.
- 15 points: field-level source links, retrieval timestamps, and provenance.
- 10 points: dated exchange listing or quote evidence.
- `full_research` means 80+; `verified_listing` means 55-79; `needs_enrichment` means below 55.

Use these states for every field: `available`, `not_found`, `not_fetched`, `source_error`, and `stale`. A missing filing or registry result is not a zero, a negative fact, or permission to guess. A participant submission should show the same distinction in its UI and agent answers.

The latest per-profile audit is in `docs/signalpost-company-verification-log.md`. It records the run ID, evidence groups, quality band, and source status for all 500 profiles.

The exchange-detail gate is recorded in `docs/signalpost-exchange-detail-log.md`. It fetched all 500 official Euronext product pages sequentially and checked each page against the profile's ISIN and market. Rights/subscription pages may omit embedded instrument JSON; in that case the gate accepts only an exact ISIN-and-market match in the official page title and records that fallback explicitly.

## Two-agent pattern

1. The research agent retrieves a selected organisation number and answers only from the server-trusted normalized profile and cited sources.
2. The update agent fetches the next source snapshot, validates it, compares it with the prior snapshot, and emits field-level changes with old value, new value, source, and timestamp.
3. Publish a new snapshot atomically. Keep `not_found`, `not_fetched`, `source_error`, and `stale` separate from a real zero or a confirmed negative.
