SYFER-15

—
—
—
—  |  closes in —s
⚡ FALSE BURST DETECTED — direction flip inside the confirmation buffer
⛔ POLYMARKET LABEL MAPPING UNTRUSTED — trading is blocked (a fill would take the wrong side)
RESEARCH: waiting for collection status
—
PM YES
—
PM NO
—
SOURCE
gamma · polled
— — —

The PM prices above are a ~30s polled gamma snapshot and are not tradeable. Every gate, EV calculation, position size and counterfactual reads the live CLOB ask instead — the gap between the two cost the predecessor multiple versions and real money to find.

Account ValuePAPER
—
—
Net P&L
—
—
Today
—
—
Open Positions
—
—
Equity
⏸ PAUSED TRADES— WIN RATE— MEAN ASK— EDGE (WR−p)— WAGERED— AVG WIN— AVG LOSS— BEST— WORST—
Current Signal
WAIT

Confidence is not calibrated and does not discriminate — see the calibration panel. Never read it as a probability.

Indicators —
RSI—
Vol—
Vol ratio—
Burst—
Change 8—
Change 30—
Mom ↑ / ↓—
Ticks ↑ / ↓—
Wick—
Window Δ—
PWO—
Trend depth—
Regime—
Ticks—
Other lookback (D2)—

Both lookback sets are computed every tick. D2 is open — which one should trade is unresolved, so both are shown rather than only the active one.

Cycle History last 8 windows
Window Dir Range Vol Chop Ticks
No cycles yet
Gates Status —
Loading...

A measure-only gate still evaluates, still tallies, and still writes a blocked_signals row via the sentinel — so its cohort keeps accruing on the same population it would block, which is what makes the eventual flip an apples-to-apples before/after. Trips must reconcile to rows; a divergence is a write-gap — the reconciliation sits in the gate-stack table below. A gate stuck at zero is a dead gate, not a safe one.

Session Stats
0
WINS (settled)
0
LOSSES (settled)
—
WIN RATE (P&L basis)
—
RESOLVED WR (open→close)
0
SIGNALS TODAY
0
SESSION WINDOWS
—
SESSION OPEN
0
BUYS THIS WINDOW

RESOLVED WR is the only win rate on this row that sits on the settlement basis — it is COALESCE(venue_outcome, true_outcome). Even so, read it against the mean entry ask in the calibration panel: a share priced p wins p of the time at fair value.

Calibration D1 — does any internal metric beat the market price?
—EDGE (WR − p)
—WIN RATE
—MEAN ENTRY ASK
—BRIER · MODEL
—BRIER · PRICE
—N (OF TOTAL)
—TURNOVER / STEP
—
Snapshots: —

EDGE is the only number here that means anything. A binary share priced p wins p of the time at fair value, so a 90%-WR strategy buying 92¢ shares is losing. The predecessor's standing conclusion after four months was "no internal metric beats the market price" (price Brier 0.196 vs model 0.294 — model confidence scored worse than a constant base-rate predictor). Treat that as the null hypothesis.
⚠️ Check turnover before reading a trend: each step replaces only ~1/n of the window, so consecutive readings share most of their rows and cannot be noisy. Reading a smooth decline as signal is a mistake already made once, at cost.

Live Execution Config effective values, read from the running process
ENTRY BAND
—
MAX POSITION
—
MIN BET
—
MIN ORDER SHARES
—
SIZING
—
EV THRESHOLD
—
MAKER ORDERS
—
LOOKBACK
—
LIVE TRADING (requested)
—
EXECUTION (actual)
—
WINDOW
—
DAILY LOSS LIMIT
—
MAX DAILY TRADES
—
CALIBRATION N
—

These are the env-resolved values the code is actually using, not the defaults in the source. A stale secret overriding a new default cannot hide here, which is the whole reason this panel exists. Read the interaction too: the venue's MIN ORDER SHARES minimum makes the top of the entry band physically unplaceable when MAX POSITION is set too low, and nothing errors when it happens.

Risk
Daily P&L—
Session P&L—
Trades today / session—
Open positions—
Open exposure—
Consecutive losses—
Trailing WR (20)—
Paused—

A tripped breaker stops trading only. Signal, block and skip logging continues 24/7 — the counterfactual log is the core asset and must never have a hole.

Market Regime observability only
Current—
Thresholds—
Unreached labels—
LabelNWREdge
Loading...

Nothing gates, sizes or de-risks on this label, and porting it is not an opportunity to skip ahead to gating on it. A label that never fires is a dead gate, not a safe one — an unreached label means the thresholds were fit to an era that has ended. Re-run analyze_regime.py.

Venue Account the other source of truth
Cash (pUSD)—
Open value—
Net (true cash)—
Gross (venue displays)—
Fees—
Record—
Mean entry / EDGE—

The operator needs both views, not a choice between an authoritative-but-thin one and a rich-but-locally-computed one. They are expected to disagree — that disagreement is settlement_mismatch, a measurement rather than a fault. Net and gross differ by exactly the fees, and the fees are the whole maker thesis.

Latency was it us, the venue, or the box?
MEAN EXEC
—
MEAN UNEXPLAINED
—
MAX UNEXPLAINED
—
MEAN MAKER WAIT
—
DIAGNOSED
—
TimeModeUnexplainedOur CPURSS load1stealPSI cpu
Loading...

Read the unexplained column, not the wall clock. unexplained = signal_to_exec − maker_wait; a 25-second stall once hid for a full version in the gap between the first two timers because the maker wait absorbed it. Rows appear only above the threshold, so the fast path stores nothing — a missing row means fast, not unmeasured. A long wall at ~0% CPU is waiting on the network; at ~100% it is compute-bound. An absent steal/PSI key means the guest kernel cannot see that counter, which is itself the finding — they are never zero-filled.

Gate Stack trips vs rows is the write-gap check
#GateModeClassTrips HardSoftRows
Loading...
Windows local vs venue truth
WindowOpenCloseNetRange LocalVenueTicks
Loading...

Venue outcome is read from Polymarket's own resolved market. Red rows are basis mismatches — our open-to-close call disagreed with settlement. That rate IS the settle-basis haircut, measured rather than assumed at ~10pt.

Trades —
Loading...

Drift = fill − gate ask, the three prices co-located on one row so this is a subtraction, not a fragile join. Cost is the ACTUAL filled cost, not the intended stake. A band flag means an out-of-band fill was recorded rather than dropped — that is correct behaviour, not a defect: a safety net that discards a real fill is worse than no net.

Signal History —
Time Dir Grade Conf Ask EV Size Status Resolved Legacy
Loading...

Resolved = COALESCE(venue_outcome, true_outcome) — open-to-close, the settlement basis. Legacy is the entry-to-close column kept only for continuity; it disagrees ~30% of the time and must never be used for a rate.

Blocks the counterfactual log
TimeDirBlocked byDetailMode GradeAskWW localWW venue↓Gates
Loading...

READ THE VENUE COLUMN. WW local is our own open-to-close scoring and WW venue is what Polymarket actually paid. They disagree on 26% of resolved rows, one-directionally, which reads as ~13pt of edge that is not there. Local stays visible only so the two can be compared.
WW is an UPPER BOUND. ↓Gates is how many gates run AFTER this one — a would-have-won figure is meaningless until you subtract them. Doing so once turned a 66.6% headline into 50.8% on the part that would actually have traded, and that +1.3pt goes negative after the haircut.

T-60 Alerts —
TimeDirGradeConfArmed T-minusAskWW
Loading...

An alert is not a trade signal. The alert fires on any directional reading near the close; the lock only arms when confidence and grade clear their bars, and armed is what separates them. The lock exists because grade is recomputed fresh every tick, so a wick or momentum flip between alert and gate can drop A→B and kill a signal that was genuinely strong at detection.

Past Sessions
Loading...
Analytics Report
Select a scope and click GENERATE.

The same text !report returns in Discord and python reports.py <mode> <db> prints at the CLI — one generator, three surfaces. Two implementations of "the report" drift, and then two people looking at it are looking at different numbers.

Export
→
Ready.

Exports the table picked in the header selector. Dates are the bot's Eastern dates, the same ones the rows are stamped with. Every analysis script here runs read-only against a pulled snapshot, never the live file. The version filter is the era-split axis; a sign flip across eras is disqualifying on its own.