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 fails | Consequence |
|---|---|
| Self-contradicting market traded as if resolvable | A 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 violated | Polymarket'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 time | Discovery 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 market | Without 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
| Input | Source | Required | Use |
|---|---|---|---|
| YES prices for all markets in a mutually-exclusive group | data | required | Sum YES prices to detect contradiction (sum > 1.0 in mutually-exclusive group). |
| Market group definitions and related condition_ids | gamma | required | Identify which markets form mutually-exclusive groups. |
Internal inputs
| Input | Source | Required | Use |
|---|---|---|---|
| KillSwitch active flag | KillSwitch | required | Suppress 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
| Code | Severity | Meaning | Action |
|---|---|---|---|
| CONTRADICTIONDETECTOR_PRICE_CONTRADICTION | WARN | Sum 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_DATA | WARN | One or more market prices in the group could not be fetched. | Skip contradiction check for this cycle; retry on next poll. |
| KILL_SWITCH_ACTIVE | HARD_REJECT | KillSwitch active; all ContradictionDetector emissions suppressed. | Continue polling but suppress all ObservationReport emissions. |
| CONTRADICTIONDETECTOR_GROUP_INCOMPLETE | WARN | Market group has fewer active condition_ids than expected; contradiction check may be incomplete. | Emit with incomplete_group=true warning; strategies apply lower confidence weight. |
Related bots in Intelligence
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.
| Strategy | State | Activity |
|---|---|---|
| Fed Rates — surprise drift | frozen | last triggered 43m ago |
| AI Frontier — release-day taker | frozen | last 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 →