⚠ 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
OperatorMonitor and control all live strategies — their state ladder position, wired bots, and current signal mode.When: When you need to pause, resume, or promote a strategy.
Details
What this page is forMonitor and control all live strategies — their state ladder position, wired bots, and current signal mode.
When to use itWhen you need to pause, resume, or promote a strategy.

← Back to strategies

Election Momentum

Quote tight on 2026 US Senate · momentum signal from headline scanner · max-loss bounded by drawdown guard

Why this page is new

Today there is no Strategy detail page — only a list and a create form. The mock adds the page developers need: the bot pipeline visualised, per-bot parameters in one place, linked instruments, the reason-code allowlist the strategy can produce, and the promotion state. Everything the operator needs to understand and audit one strategy.

State

demo-wired

Signal mode

Auto execute

Bots wired

7

Instruments

2

Decisions today

84

Bot pipeline

Every intent flows left to right. Each stage's bot reads from the registry, calls decide(), emits one envelope, passes (or rejects) to the next stage.

1. Intel

intel.macro_sentiment

2. Discovery

disc.headline_scanner

3. Strategy

strat.maker_tight

4. Risk

risk.killswitchrisk.stalebookguardrisk.exposureguard

5. Execution

exec.smartrouter

Linked instruments

Markets this strategy is authorised to trade. Must all be V2-ready and trading.

MarketSpreadState
2026 US Senate control
election-2026-us-senate
18 bpstradingOpen
UK snap election 2026
uk-snap-election-2026
47 bpstradingOpen

Strategy parameters

Per-bot config. Defaults come from the spec; overrides are saved on this strategy.

spread_target_bps
strat.maker_tight · target spread to quote inside of
default: 25
max_position_pusd
strat.maker_tight · max notional per side
default: 250
staleness_threshold_s
risk.stalebookguard · reject if book age > this
default: 15
exposure_cap_pusd
risk.exposureguard · per-strategy cap
default: 2500
drawdown_threshold_pusd
risk.drawdownguard · trip kill-switch above this loss
default: 250
headline_keyword_set
disc.headline_scanner · keyword pack to match
spec
slippage_max_bps
exec.smartrouter · reject route if slippage > this
default: 50

Reason-code allowlist

Only these codes can appear in this strategy's envelopes. Anything else is a bug.

STRAT_MAKER_QUOTE_INSIDE STRAT_MAKER_NO_EDGE
DISC_HEADLINE_MATCH DISC_HEADLINE_NOISE
INTEL_MACRO_NEUTRAL INTEL_MACRO_BEAR
RISK_KILLSWITCH_TRIPPED RISK_BOOK_STALE_15S RISK_EXPOSURE_CAP_HIT RISK_DRAWDOWN_TRIGGERED
EXEC_ROUTE_CTFV2_ACCEPTED EXEC_SLIPPAGE_EXCEEDED

Fixture pack

Test inputs the strategy is verified against. Promotion to shadow-ready requires all four to pass.

normal.json62 intentspass
warning.json14 intentspass
hard.json9 intentspass
failure.json5 intentspass

Promotion gates

All bots in pipeline at demo-wired or higherpass
Fixture pack 4/4 passingpass
Reason-code allowlist enforcedpass
24h shadow soakpending

Recent decisions

Last 8 envelopes this strategy produced. Click Trace to walk one through the full pipeline.

View all decisions →
TimeCorrelation IDInstrumentStage · BotDecisionReason code
14:48:2101JG1Z5K7N3RD9XTelection-2026-us-senateRISK risk.killswitchREJECTRISK_KILLSWITCH_TRIPPEDTrace
14:46:0201JG1Z3F2H8WK4PMelection-2026-us-senateSTRAT strat.maker_tightAPPROVESTRAT_MAKER_QUOTE_INSIDETrace
14:40:1801JG1YYR4M2KX8VAfed-rate-2026-q2EXEC exec.smartrouterFILLEDEXEC_ROUTE_CTFV2_ACCEPTEDTrace
14:38:4401JG1YX1K5J3RH7Buk-snap-election-2026RISK risk.exposureguardREJECTRISK_EXPOSURE_CAP_HITTrace
14:31:0901JG1YQ8X2K4M6PLelection-2026-us-senateEXEC exec.smartrouterFAILEDEXEC_BUILDERCODE_MISSINGTrace
⚙ Configuration Pass B

Parameter overrides for this strategy. Defaults come from the bot spec. Changes are demo-only and do not persist.

Targeting

70%

Sizing

Limits

Risk binding

Guardrails this strategy subscribes to. Checked = active for this strategy's envelopes.

Pacing

Approval policy

Signals above this confidence are auto-approved without operator review.

Signals below this go to the Approvals queue.

Configuration applies on next strategy restart

Where this lives in the codebase

Phase 2 work: extend packages/contracts with a StrategyConfig type that references instrument IDs (not slugs), per-bot parameter blocks, and the reason-code allowlist. The runner already loads strategy configs — this just adds the typed shape. The UI then becomes a read/write view of one StrategyConfig.
Polytraders Operator UX Mock · INTERNAL · demo-wired ≠ production-live · the plan · reason codes · shadow-mode pipeline
⚙ Page Configuration
Current page settings
Loading configuration…