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.
- 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.
- 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.
- Deleted posts count if they stayed up long enough (~5 minutes) to be captured.
- Community reposts that the tracker does not list do not count.
- 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.
- 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.
- 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.