Produkcijski webhook i live-signal audit

2026-06-29 bug prod

Nula strategy webhookova ikada poslato — mehaničkim kvarom, ne konfiguracijom. Live-scan prozor je ~20 sati dnevno prazan od feature-a.

↑ Svi izveštaji ← Sigurnost, full-history benchmark, offset sweep Feature merge timestamp basis + relaksirani generatori →

Scope: requested analysis of all generators locally, plus a production (.207) check of whether signals are being dispatched over webhooks, whether they should have been, the per-signal statistics, and a counterfactual against deeper klines history.

TL;DR

Production webhook configuration (.207)

What is actually flowing live on prod

streamtablerowswindowdispatched?
market scanner scanner_positive/scanner_negative (4h)signal_events (source_type internal)23,1462026-05-23 → 2026-06-29 (live, current)No — no matching route
per-generator strategy signalssignal_events__<gen>backfill onlylast write 2026-05-20n/a — 0 live rows

Evidence the pipeline is alive but emitting nothing

Klines / feature freshness (prod klines_cache.db, 28.6 GB, written today)

Local full-history generator analysis (counterfactual)

Re-ran tools/analysis/analyze_all_generators.py against local crypto_scanner.db on 2026-06-29 → reports/historical_generator_stats_2026-06-29.txt (full backfill = the "rest of history" scenario). Selected rows (after-fee = avg return − 0.2% round-trip):

generator (tf)closedwin %avg after-fee %enabled(prod)webhook
dual_growth_trailing_stop (all)2,60375.5+1.84nono
bb_adx_combo_long (all)2,64046.0+0.92yesno
supertrend_long (4h)3,44722.4+0.85yesno
best_symbols_cycle_v3 (all)1,09237.3+0.61nono
bollinger_band_pullback_long (all)5,97947.9+0.56nono
blacklist_cycle (4h)1330.8+0.46yesyes
growth_threshold_regime_cycle (all)1,13535.8+0.30yesno
blacklist_cycle (1h)14,58431.5−0.23yesyes
blacklist_cycle (all)14,59731.5−0.23yesyes
rsi_macd_trend (all)3,56534.7−0.09nono
green2_red1_test (all)92,10133.8−0.20nono

Counterfactual vs actual:

Conclusions / recommended fixes (not yet applied)

  1. Live pipeline (P0). Make features refresh to the latest closed candle intraday (not just the daily catchup), or widen the live scan / let the generator read fresh klines directly for the trailing window. Today the live window is empty of features ~20 h/day. Without this, no strategy webhook can ever fire.
  2. Webhook wiring (P0, product). The only wired generator is a 1h net-loser. Decide: re-point routes to a profitable + enabled generator (e.g. bb_adx_combo_long, supertrend_long 4h), and/or drop the two 1h routes (the generator emits no 1h signals anyway). Confirm whether the live scanner_positive/negative stream should have a route.
  3. Regimes (P1). Regime table is 1h-only and stale since 2026-06-01; regime-gated generators will misbehave once the live pipeline is restored.
  4. History download (P2, optional). Deepens backtests for low-coverage/disabled generators; does not affect live generation. Launch only if deeper backtests are wanted.

Source data: prod PG crypto_scanner-db-1, prod klines_cache.db via scheduler-1, local crypto_scanner.db. Read-only; no production state changed.

Izvor: crypto_scanner/reports/analysis/2026-06-29_webhook_and_live_signal_audit.md