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 fails | Consequence |
|---|---|
| Resolution rule edited under an open position | If 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 distinguished | Many 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 missing | Compliance 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 change | A 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
| Input | Source | Required | Use |
|---|---|---|---|
| Active market resolution_rules and question text from Gamma API | gamma | required | Fetch current rule text for comparison against stored snapshot hashes. |
Internal inputs
| Input | Source | Required | Use |
|---|---|---|---|
| KillSwitch active flag | KillSwitch | required | Suppress all emissions when KillSwitch is active. |
| Last known rule snapshots from Postgres | Postgres | required | Baseline 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
| Code | Severity | Meaning | Action |
|---|---|---|---|
| RULECHANGEMONITOR_RULE_CHANGED | WARN | Resolution rules for an active market changed since last snapshot. | Emit ObservationReport with change_type=resolution_rules; notify strategy layer. |
| RULECHANGEMONITOR_QUESTION_CHANGED | WARN | Question text for an active market changed since last snapshot. | Emit ObservationReport with change_type=question; flag for manual review. |
| STALE_DATA | WARN | Gamma API returned empty or error response during rule monitoring poll. | Skip cycle; retain last snapshots; retry on next poll. |
| KILL_SWITCH_ACTIVE | HARD_REJECT | KillSwitch active; all RuleChangeMonitor emissions suppressed. | Continue monitoring but suppress ObservationReport emissions. |
Related bots in Intelligence
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.
| Strategy | State | Activity |
|---|---|---|
| Crypto Q2 — basket rebalance | frozen | last 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 →