Resolution rules

Ambiguity in the count will cost more than any modeling error. Cadence treats XTracker as the primary object, not a re-implementation of X. 2-day and 7-day books share the counting profile and are never trained on each other.

In our words
  1. The contract is the number of @elonmusk posts whose timestamps fall inside a fixed window. Weekly windows are typically Friday 12:00 PM America/New_York to the next Friday 12:00 PM. 2-day windows are typically 48 hours, noon ET to noon ET. Cadence never hardcodes those bounds — it reads start/end from XTracker, or from the Polymarket event (startTime / title) when XTracker has no dedicated tracking.
  2. What counts: main-feed posts, quote posts, and reposts. Ordinary replies do not count. A reply that the tracker treats as a main-feed post (the 1786073478711353576 pattern) does count, because the tracker is the resolution source.
  3. Deleted posts count if they stayed up long enough (~5 minutes) to be captured.
  4. Community reposts that the tracker does not list do not count.
  5. Official number: the Post Counter on xtracker.polymarket.com (Export Data) for posts inside the window. X is secondary only if the tracker is wrong relative to these rules.
Ambiguities we will not paper over
  • Reply vs main-feed reply. The public posts payload does not currently emit is_reply / is_quote. We therefore do not locally reclassify. Membership in the XTracker in-window list is the predicate (profile xtracker_window).
  • Tracker vs X. We do not have an X API credential in this environment, so there is no live cross-check. Confidence is flagged as warn for that reason. If the two ever disagree beyond tolerance, trading halts.
  • Deleted-then-uncaptured. If a post dies before the ~5 minute capture, it never existed for the market. We cannot see posts we never ingested; gap detection marks the window untrustworthy.
  • Overlapping 2-day and 7-day books. Polymarket lists both. They share posts but not totals, buckets, or training sets. M1 / last-window / trail-4 for a 2-day desk use only completed 48-hour windows (duration filter 40–56 hours). Weekly training stays on 160–176 hour windows. Some live 2-day events have no XTracker tracking row — we still count XTracker posts inside the official noon-ET bounds.
  • Tie / outage. Buckets are exclusive ranges; a total lands in exactly one. If the tracker is down at resolution, the market text says X is secondary — we do not invent a third source.
Assumptions in this build
  • Paper bankroll $1,000 · ¼ Kelly · 5% per bucket · 20% per week.
  • All-in friction 150 bps plus half-spread plus a calibration margin that shrinks with f.
  • Live execution is off. There is no wallet, no CLOB order, no API key for trading.
  • History is whatever XTracker returns. We do not synthesize timestamps.
  • 2-day default buckets: <40, then 25-wide through 240+ — overridden by the live book.