⚠ INTERNAL — Operator UX mock · Design preview of V2 development path · demo-wired ≠ production-live · back to dev guide
Polygon · pUSD 10
📓 Developer Guide 📋 Reason Codes 📈 Shadow Mode
JD John Doe · Admin

ContradictionDetector

intel.contradictiondetector
Intelligence planned Spec started frozen

Surface markets whose resolution rule contradicts itself, the title, or a parent neg-risk constraint.

What it does

Surface markets whose resolution rule contradicts itself, the title, or a parent neg-risk constraint.

Pipeline placement

runs after: — ContradictionDetector runs before: —

Applies to:

Why it matters

If this failsConsequence
Self-contradicting market traded as if resolvableA market whose resolution rule contradicts its title or a parent neg-risk constraint may never resolve cleanly. Strategies that trade it can be left holding positions through ambiguous or court-overturned outcomes.
Worked example
Setup: A neg-risk parent has 5 child markets that must sum to exactly one YES. Child #4 lists at 11:42 UTC with a rule that allows two outcomes (e.g. 'X wins OR ties') to both resolve YES.
Without bot: MarketScanner approves the market. A strategy bot enters. At resolution, both #2 and #4 settle YES, the parent invariant breaks, and the position settles in a way the strategy never modelled.
With bot: ContradictionDetector flags the rule against the parent constraint at listing time. Discovery excludes the market with reason `RULE_CONTRADICTS_PARENT`, and Governance opens a review ticket before any trade is placed.
Neg-risk parent constraint silently violatedPolymarket's neg-risk markets share a constraint that exactly one outcome must resolve YES across the set. A child market whose rule allows two simultaneous YES resolutions breaks that invariant; without detection, sizing and hedging logic on those markets is wrong.
Operators surprised at resolution timeDiscovery of a contradiction at resolution is the worst possible time. Catching it at listing time lets Discovery exclude the market or Governance flag it for human review days before any trade is placed.
No structured reason for excluding a marketWithout this signal, MarketScanner has no defensible reason to filter out a malformed market beyond an operator's gut call. The contradiction record provides the audit trail.

Inputs

Polymarket inputs

InputSourceRequiredUse
YES prices for all markets in a mutually-exclusive groupdatarequiredSum YES prices to detect contradiction (sum > 1.0 in mutually-exclusive group).
Market group definitions and related condition_idsgammarequiredIdentify which markets form mutually-exclusive groups.

Internal inputs

InputSourceRequiredUse
KillSwitch active flagKillSwitchrequiredSuppress all emissions when KillSwitch is active.

Authority

What this bot is permitted to do

Read-only

State

Readiness

Spec started

Status

planned

Class

Signal Service

Default mode

shadow_only

Developer owner

Polytraders core

Capital impact

Indirect

Reason codes emitted

CodeSeverityMeaningAction
CONTRADICTIONDETECTOR_PRICE_CONTRADICTIONWARNSum of YES prices in a mutually-exclusive market group exceeds the contradiction_threshold.Emit ObservationReport with contradiction_detected=true; downstream strategies may exploit arbitrage.
STALE_DATAWARNOne or more market prices in the group could not be fetched.Skip contradiction check for this cycle; retry on next poll.
KILL_SWITCH_ACTIVEHARD_REJECTKillSwitch active; all ContradictionDetector emissions suppressed.Continue polling but suppress all ObservationReport emissions.
CONTRADICTIONDETECTOR_GROUP_INCOMPLETEWARNMarket group has fewer active condition_ids than expected; contradiction check may be incomplete.Emit with incomplete_group=true warning; strategies apply lower confidence weight.

Used by

Reverse index — strategies that currently reference intel.contradictiondetector. If you change this bot's authority or reason codes, these strategies must re-pass shadow.

StrategyStateActivity
Fed Rates — surprise driftfrozenlast triggered 43m ago
AI Frontier — release-day takerfrozenlast triggered 3m ago

Showing 2 of 2 · demo-wired ≠ production-live

Why this matters

Intelligence bots does NOT propose, veto, sign, or execute any trade. Understanding the authority boundary prevents misuse and makes promotion-gate reviews faster and more reliable. View raw spec JSON →
Polytraders Operator UX Mock · INTERNAL · demo-wired ≠ production-live · the plan · reason codes · shadow-mode pipeline
⚙ Page Configuration
Current page settings
Loading configuration…