Skip to content

Metaculus posts-cache resetCache() exists in core but is unreachable from MetaculusExchange or either SDK #1601

Description

@realfishsam

Gap

Metaculus's market-fetching module maintains a module-level 5-minute cache and exports a resetCache() function to force-invalidate it, but MetaculusExchange never imports or exposes it as a method. This mirrors the already-filed pattern in #1427 ("KalshiFetcher.resetCache() not exposed on KalshiExchange or either SDK"), but for the Metaculus venue, which #1427 does not cover.

Core

  • core/src/exchanges/metaculus/fetchMarkets.ts:19 — defines and exports resetCache(), clearing the module-level cachedPosts/lastCacheTime state (lines 15-17) used by fetchMarketsDefault.
  • core/src/exchanges/metaculus/index.ts — imports only fetchMarkets, fetchEvents, createOrder, cancelOrder from fetchMarkets.ts/siblings; resetCache is never imported or exposed as an instance method.

TypeScript SDK

Missing — no resetCache-equivalent method on the Metaculus class in sdks/typescript/pmxt/client.ts.

Python SDK

Missing — no corresponding method on the Metaculus class in sdks/python/pmxt/_exchanges.py.

Evidence

core/src/exchanges/metaculus/fetchMarkets.ts:19 defines resetCache(); grep -n "resetCache" core/src/exchanges/metaculus/index.ts returns no hits, confirming it's never wired to the public class.

Impact

Users have no way to force-invalidate Metaculus's 5-minute markets cache through pmxt (e.g. after knowing upstream data changed) — they must wait out the TTL, same practical impact already described for Kalshi in #1427.


Found by automated Core-to-SDK surface coverage audit

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions