Skip to content

chore(mobula-state): remove redundant overrides from includes.json - #5305

Open
FionnL wants to merge 1 commit into
mainfrom
chore/mobula-state-remove-redundant-overrides
Open

chore(mobula-state): remove redundant overrides from includes.json#5305
FionnL wants to merge 1 commit into
mainfrom
chore/mobula-state-remove-redundant-overrides

Conversation

@FionnL

@FionnL FionnL commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Summary

Trim includes.json from 250 entries down to 6 — keeping only the entries that are actively depended on by live feeds/streams with mobula-state as a provider but no jobspec override.

Why this is safe

The EA transform pipeline runs in this order:

  1. Jobspec override (symbolOverrider) — replaces base if an override exists in the request
  2. Uppercase transform — normalizes case
  3. includes.json lookup — replaces base/quote if the original symbol matches

Since the jobspec override runs first, it replaces the symbol before the includes.json lookup even runs. The includes.json lookup is keyed by the original symbol name, so once the override changes base to a mobula ID, no includes.json entry matches. This means includes.json entries are only used as fallbacks when no jobspec override exists.

Of 118 live feeds/streams with mobula-state as a provider:

  • 113 have a jobspec override (includes.json never reached)
  • 5 have no override and depend on includes.json fallback

The 6 kept entries

Entry Mobula ID Used by
AI16Z/USD 102499018 streams, Arbitrum
BTC.B/USD 101650461 feeds, MEGAETH + ROBINHOOD
USDE/USD 137 feeds, APTOS
USDT0/USD 102502522 streams, Arbitrum
WBTC/ETH 100001656 feeds, POLYGON
WBTC/USD 100001656 feeds, POLYGON

What was removed (244 entries)

Category Count Reason
Redundant (have RDD jobspec override) 112 Same (symbol, mobula_id) already in RDD — includes.json never reached at runtime
Incorrect mobula ID 2 DAI (102502229 = bridged DAI, RDD correctly uses 100003253 = native Dai) and USDM (6038 = Mountain Protocol USD, RDD correctly uses 63902 = MegaUSD)
Dead feeds 4 AGEUR, PUSD, USD+, XUSD — all feeds status=dead in RDD
No live feeds using mobula-state 126 Symbols with no live feeds/streams, or live feeds but mobula-state not assigned

Verification methodology

Cross-referenced four data sources:

  1. includes.json — 250 original entries
  2. BigQuery v_dim_market_rate_live_feeds — all live feeds/streams with mobula-state, including external_adapter_request_params for jobspec override status
  3. BigQuery mobula_v2_metadata — ID → asset name/symbol verification
  4. RDD reference-data-directory — 1,273 files containing mobula-state overrides, plus feed status verification

@changeset-bot

changeset-bot Bot commented Aug 20, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 5d35b88

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@chainlink/mobula-state-adapter Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@FionnL
FionnL force-pushed the chore/mobula-state-remove-redundant-overrides branch 2 times, most recently from 2fd1200 to 3b7b912 Compare August 20, 2026 22:09
…feeds

Remove 244 of 250 includes.json entries, keeping only the 6 entries
that are actively depended on by live feeds/streams with mobula-state
as a provider but no jobspec override.

The EA transform pipeline runs jobspec overrides first (symbolOverrider),
which replaces base before the includes.json lookup runs. This means
includes.json entries are only used as fallbacks when no jobspec
override exists. Of 118 live feeds/streams with mobula-state:
- 113 have a jobspec override (includes.json never reached)
- 5 have no override and depend on includes.json fallback

The 6 kept entries (4 unique symbols, 2 quote pairs for WBTC):
  AI16Z/USD   -> 102499018  (streams, Arbitrum)
  BTC.B/USD   -> 101650461  (feeds, MEGAETH + ROBINHOOD)
  USDE/USD    -> 137        (feeds, APTOS)
  USDT0/USD   -> 102502522  (streams, Arbitrum)
  WBTC/ETH    -> 100001656  (feeds, POLYGON)
  WBTC/USD    -> 100001656  (feeds, POLYGON)

Removed entries fall into three categories:
- 112 redundant: same (symbol, mobula_id) already in RDD jobspec overrides
- 6 incorrect/dead: wrong mobula ID (DAI, USDM) or dead feeds (AGEUR,
  PUSD, USD+, XUSD)
- 126 no live feeds: symbols with no live feeds/streams using
  mobula-state, or no live feeds at all

Verified against BigQuery v_dim_market_rate_live_feeds (live feed
status + jobspec overrides), BigQuery mobula_v2_metadata (ID verification),
and RDD reference-data-directory (1,273 files, feed status + overrides).
@FionnL
FionnL force-pushed the chore/mobula-state-remove-redundant-overrides branch from 3b7b912 to 5d35b88 Compare August 20, 2026 22:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant