mostlyright.markets.earnings.registries
mostlyright.markets.earnings.registries
Section titled “mostlyright.markets.earnings.registries”Earnings codegen registries — source-of-truth dicts (Phase 27, 27-02).
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 (W1), and the markets resolver (W2/27-05):
WEBCAST_PROVIDER_FINGERPRINTS
: Host-substring → provider id. The discovery-time codegen’d copy of the
satellite’s authoritative provider fingerprints (D-27.1 “two homes”) — lets
the SDK/extension NAME a webcast provider without capturing audio. Seeded
from CONTEXT §5 / RESEARCH §1: events.q4inc.com/q4cdn = Q4,
media-server.com = Notified, webcasts.com = GlobalMeet,
choruscall.com/veracast = Chorus Call, youtube.com = self-hosted.
EARNINGS_SERIES_ROSTER
: The ~149-ticker KXEARNINGSMENTION* series roster (cheap registry of
series tickers). Most are dormant placeholder stubs between earnings cycles
and light up ~1-2 days pre-call (RESEARCH-MARKETS §1.3).
TICKER_HQ_TIMEZONE
: Ticker → IANA hq-timezone. Load-bearing for the point-in-time hq-tz
correction in 27-06/27-07 (mirrors the station→tz role of stations.json).
EARNINGS_CALENDAR_SEED
: The venue-derived earnings-calendar snapshot (D-27.7) — a small seed shape,
NOT a live feed. Seeded with the confirmed upcoming dual-venue calls from
RESEARCH-MARKETS §4 as the deterministic test fixture.
Every TICKER_HQ_TIMEZONE value (and every calendar-seed hq_timezone) is
validated against zoneinfo at import time — a typo fails loud rather than
silently corrupting the PIT correction. The immutability idiom
(MappingProxyType / frozenset) mirrors polymarket.KNOWN_WRONG_STATIONS.
Module Attributes
Section titled “Module Attributes”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 | Confirmed upcoming-call snapshot rows (the deterministic test fixture, NOT a live feed — D-27.7). |
mostlyright.markets.earnings.registries.EARNINGS_CALENDAR_SEED : Final[tuple[dict[str, str], …]] = ({‘call_scheduled_at’: ‘2026-06-30T21:00:00Z’, ‘hq_timezone’: ‘America/Los_Angeles’, ‘provider’: ‘q4’, ‘ticker’: ‘NKE’}, {‘call_scheduled_at’: ‘2026-07-01T12:00:00Z’, ‘hq_timezone’: ‘America/New_York’, ‘provider’: ‘notified’, ‘ticker’: ‘STZ’}, {‘call_scheduled_at’: ‘2026-07-01T13:00:00Z’, ‘hq_timezone’: ‘America/Chicago’, ‘provider’: ‘q4’, ‘ticker’: ‘GIS’}, {‘call_scheduled_at’: ‘2026-07-10T14:00:00Z’, ‘hq_timezone’: ‘America/New_York’, ‘provider’: ‘choruscall’, ‘ticker’: ‘DAL’})
Section titled “mostlyright.markets.earnings.registries.EARNINGS_CALENDAR_SEED : Final[tuple[dict[str, str], …]] = ({‘call_scheduled_at’: ‘2026-06-30T21:00:00Z’, ‘hq_timezone’: ‘America/Los_Angeles’, ‘provider’: ‘q4’, ‘ticker’: ‘NKE’}, {‘call_scheduled_at’: ‘2026-07-01T12:00:00Z’, ‘hq_timezone’: ‘America/New_York’, ‘provider’: ‘notified’, ‘ticker’: ‘STZ’}, {‘call_scheduled_at’: ‘2026-07-01T13:00:00Z’, ‘hq_timezone’: ‘America/Chicago’, ‘provider’: ‘q4’, ‘ticker’: ‘GIS’}, {‘call_scheduled_at’: ‘2026-07-10T14:00:00Z’, ‘hq_timezone’: ‘America/New_York’, ‘provider’: ‘choruscall’, ‘ticker’: ‘DAL’})”Confirmed upcoming-call snapshot rows (the deterministic test fixture, NOT a
live feed — D-27.7). call_scheduled_at is an ISO-8601 UTC instant derived
from the ET call time in RESEARCH-MARKETS §4 (2026 EDT = UTC-4). provider
is a value of WEBCAST_PROVIDER_FINGERPRINTS; hq_timezone mirrors
TICKER_HQ_TIMEZONE. The satellite refreshes the authoritative calendar; this
is the SDK look-ahead seed.
mostlyright.markets.earnings.registries.EARNINGS_SERIES_ROSTER : Final[frozenset[str]] = frozenset({‘AAPL’, ‘AMZN’, ‘AVGO’, ‘BRK’, ‘C’, ‘CRM’, ‘DAL’, ‘GIS’, ‘GOOGL’, ‘GS’, ‘JNJ’, ‘JPM’, ‘META’, ‘MSFT’, ‘NFLX’, ‘NKE’, ‘NVDA’, ‘ORCL’, ‘PEP’, ‘PLTR’, ‘STZ’, ‘UBER’})
Section titled “mostlyright.markets.earnings.registries.EARNINGS_SERIES_ROSTER : Final[frozenset[str]] = frozenset({‘AAPL’, ‘AMZN’, ‘AVGO’, ‘BRK’, ‘C’, ‘CRM’, ‘DAL’, ‘GIS’, ‘GOOGL’, ‘GS’, ‘JNJ’, ‘JPM’, ‘META’, ‘MSFT’, ‘NFLX’, ‘NKE’, ‘NVDA’, ‘ORCL’, ‘PEP’, ‘PLTR’, ‘STZ’, ‘UBER’})”The earnings-mention series roster. Cheap registry of series tickers — the
capture fleet only fires on the ≤~10 calls live in any given week (calendar-
driven), but the resolver enumerates per-company series from this roster
rather than a global status=open sweep (which never reaches earnings-
mention before timeout — RESEARCH-MARKETS §1.3, a hard EARN-27-03 constraint).
Seeded with the live cohort + the dormant mid-July cohort that lights up
per RESEARCH-MARKETS §4; extend as the universe is enumerated.
mostlyright.markets.earnings.registries.TICKER_HQ_TIMEZONE : Final[Mapping[str, str]] = mappingproxy({‘GIS’: ‘America/Chicago’, ‘NKE’: ‘America/Los_Angeles’, ‘PEP’: ‘America/New_York’, ‘STZ’: ‘America/New_York’, ‘DAL’: ‘America/New_York’, ‘JPM’: ‘America/New_York’, ‘C’: ‘America/New_York’, ‘GS’: ‘America/New_York’, ‘JNJ’: ‘America/New_York’, ‘NFLX’: ‘America/Los_Angeles’})
Section titled “mostlyright.markets.earnings.registries.TICKER_HQ_TIMEZONE : Final[Mapping[str, str]] = mappingproxy({‘GIS’: ‘America/Chicago’, ‘NKE’: ‘America/Los_Angeles’, ‘PEP’: ‘America/New_York’, ‘STZ’: ‘America/New_York’, ‘DAL’: ‘America/New_York’, ‘JPM’: ‘America/New_York’, ‘C’: ‘America/New_York’, ‘GS’: ‘America/New_York’, ‘JNJ’: ‘America/New_York’, ‘NFLX’: ‘America/Los_Angeles’})”Ticker → IANA hq-timezone. Load-bearing for the PIT hq-tz correction
(27-06/27-07). 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.markets.earnings.registries.WEBCAST_PROVIDER_FINGERPRINTS : Final[Mapping[str, str]] = mappingproxy({‘q4inc’: ‘q4’, ‘q4cdn’: ‘q4’, ‘media-server.com’: ‘notified’, ‘webcasts.com’: ‘globalmeet’, ‘choruscall.com’: ‘choruscall’, ‘veracast’: ‘choruscall’, ‘youtube.com’: ‘self_hosted’})
Section titled “mostlyright.markets.earnings.registries.WEBCAST_PROVIDER_FINGERPRINTS : Final[Mapping[str, str]] = mappingproxy({‘q4inc’: ‘q4’, ‘q4cdn’: ‘q4’, ‘media-server.com’: ‘notified’, ‘webcasts.com’: ‘globalmeet’, ‘choruscall.com’: ‘choruscall’, ‘veracast’: ‘choruscall’, ‘youtube.com’: ‘self_hosted’})”Host-substring → canonical provider id. Substring (not exact host) because a
webcast URL host may be events.q4inc.com OR a *.q4cdn.com asset CDN —
both fingerprint to "q4". The satellite holds the authoritative copy; this
is the SDK-side naming copy (D-27.1 two homes).