⚠ 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

RuleChangeMonitor

intel.rulechangemonitor
Intelligence planned Spec started frozen

Detect and emit any post-listing edit to a market's resolution rule.

What it does

Detect and emit any post-listing edit to a market's resolution rule.

Pipeline placement

runs after: — RuleChangeMonitor runs before: —

Applies to:

Why it matters

If this failsConsequence
Resolution rule edited under an open positionIf a market's rule changes after a strategy entered, the basis for that trade may no longer exist. Without monitoring, the position is held through the change without anyone on the team being told.
Worked example
Setup: Strategy entered 4,000 pUSD on YES at 0.58 in market 0x7e21 at 09:14 UTC, on the basis that source-of-truth = `apnews.com`. At 14:02 UTC the rule is silently edited to allow 'AP or Reuters'.
Without bot: The strategy holds the position through resolution. AP says NO, Reuters says YES, and the market settles on the first source it can confirm. The trade outcome no longer reflects the thesis.
With bot: RuleChangeMonitor diffs the structured rule and emits `RULE_SEMANTIC_CHANGE` at 14:02:03. The strategy reads the event, flattens to 0 inventory at 0.61, and Governance opens a review ticket.
Cosmetic vs semantic edits not distinguishedMany edits are punctuation or formatting; a few are substantive. Treating all edits the same either floods operators with false alarms or misses the one that matters.
Audit trail of rule history missingCompliance and dispute reviews require a full history of every rule change with timestamps. Polymarket's UI does not expose this; the monitor builds the record the team needs.
Strategies can't auto-pause on rule changeA strategy that reads a rule-change event can decide to flatten or hold automatically. Without the event, the team is the only line of defence and must catch every edit by hand.

Inputs

Polymarket inputs

InputSourceRequiredUse
Active market resolution_rules and question text from Gamma APIgammarequiredFetch current rule text for comparison against stored snapshot hashes.

Internal inputs

InputSourceRequiredUse
KillSwitch active flagKillSwitchrequiredSuppress all emissions when KillSwitch is active.
Last known rule snapshots from PostgresPostgresrequiredBaseline for hash comparison to detect rule changes.

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
RULECHANGEMONITOR_RULE_CHANGEDWARNResolution rules for an active market changed since last snapshot.Emit ObservationReport with change_type=resolution_rules; notify strategy layer.
RULECHANGEMONITOR_QUESTION_CHANGEDWARNQuestion text for an active market changed since last snapshot.Emit ObservationReport with change_type=question; flag for manual review.
STALE_DATAWARNGamma API returned empty or error response during rule monitoring poll.Skip cycle; retain last snapshots; retry on next poll.
KILL_SWITCH_ACTIVEHARD_REJECTKillSwitch active; all RuleChangeMonitor emissions suppressed.Continue monitoring but suppress ObservationReport emissions.

Used by

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

StrategyStateActivity
Crypto Q2 — basket rebalancefrozenlast triggered 45m ago

Showing 1 of 1 · 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…