mostlyright.finance.transcripts.registries
Earnings codegen registries — source-of-truth dicts.
Three immutable registries the scripts/export_schemas.py codegen builders
read to emit the committed schemas/earnings-*.json files consumed by the TS
codegen, the satellite, and the markets resolver:
WEBCAST_PROVIDER_FINGERPRINTS
: Host-substring → provider id. The codegen’d copy of the capture producer’s
authoritative provider fingerprints, which lets the SDK or a browser extension
name a webcast provider without capturing audio. The registry maps
events.q4inc.com and q4cdn to Q4, media-server.com to Notified,
webcasts.com to GlobalMeet, choruscall.com and veracast to Chorus
Call, and youtube.com to self-hosted.
EARNINGS_SERIES_ROSTER
: The ~149-ticker KXEARNINGSMENTION* series roster. Most entries are dormant
placeholder stubs between earnings cycles and become active roughly 1-2 days
before a call.
TICKER_HQ_TIMEZONE
: Ticker → IANA HQ timezone. Load-bearing for the point-in-time HQ-timezone
correction, the same role stations.json plays for station timezones.
EARNINGS_CALENDAR_SEED
: A small venue-derived earnings-calendar snapshot, not a live feed. It holds
confirmed upcoming dual-venue calls and serves as a deterministic test fixture.
Every TICKER_HQ_TIMEZONE value, and every calendar-seed hq_timezone, is
validated against zoneinfo at import time, so a typo fails loud rather than
silently corrupting the point-in-time correction. The immutable
MappingProxyType / frozenset idiom matches
polymarket.KNOWN_WRONG_STATIONS.
Module Attributes
Section titled “Module Attributes”| Attribute | Description |
|---|---|
WEBCAST_PROVIDER_FINGERPRINTS | Host-substring → canonical provider id. |
EARNINGS_SERIES_ROSTER | The earnings-mention series roster. |
TICKER_HQ_TIMEZONE | Ticker → IANA HQ timezone. |
EARNINGS_CALENDAR_SEED | a deterministic test fixture, not a live feed. |
mostlyright.finance.transcripts.registries.EARNINGS_CALENDAR_SEED : Final[tuple[dict[str, str], …]]
Section titled “mostlyright.finance.transcripts.registries.EARNINGS_CALENDAR_SEED : Final[tuple[dict[str, str], …]]”a deterministic test fixture, not a live
feed. call_scheduled_at is an ISO-8601 UTC instant derived from the ET call
time (2026 EDT = UTC-4). provider is a value of
WEBCAST_PROVIDER_FINGERPRINTS; hq_timezone matches TICKER_HQ_TIMEZONE. The
capture producer refreshes the authoritative calendar; this is the SDK-side
look-ahead seed.
- Type: Confirmed upcoming-call snapshot rows
mostlyright.finance.transcripts.registries.EARNINGS_SERIES_ROSTER : Final[frozenset[str]]
Section titled “mostlyright.finance.transcripts.registries.EARNINGS_SERIES_ROSTER : Final[frozenset[str]]”The earnings-mention series roster. The capture fleet only fires on the handful
of calls live in any given week, driven by the calendar, but the resolver
enumerates per-company series from this roster rather than running a global
status=open sweep, which never reaches earnings-mention before timing out.
Extend it as more of the universe is enumerated.
mostlyright.finance.transcripts.registries.TICKER_HQ_TIMEZONE : Final[Mapping[str, str]]
Section titled “mostlyright.finance.transcripts.registries.TICKER_HQ_TIMEZONE : Final[Mapping[str, str]]”Ticker → IANA HQ timezone. Load-bearing for the point-in-time HQ-timezone
correction. HQ locations: NKE = Beaverton OR (Pacific), GIS = Minneapolis
MN (Central), STZ = Victor NY (Eastern), PEP = Purchase NY (Eastern),
DAL = Atlanta GA (Eastern), JPM/C/GS = New York NY (Eastern), JNJ = New
Brunswick NJ (Eastern), NFLX = Los Gatos CA (Pacific). Validated against
zoneinfo at import (see _validate_timezones below).
mostlyright.finance.transcripts.registries.WEBCAST_PROVIDER_FINGERPRINTS : Final[Mapping[str, str]]
Section titled “mostlyright.finance.transcripts.registries.WEBCAST_PROVIDER_FINGERPRINTS : Final[Mapping[str, str]]”Host-substring → canonical provider id. Substring rather than exact host,
because a webcast URL host may be events.q4inc.com or a *.q4cdn.com
asset CDN and both fingerprint to "q4". The capture producer holds the
authoritative copy; this is the SDK-side copy used only for naming.