trading/services
Viktor Barzin 382188a19b
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
feat(trade-executor): Slack notifications on trade + risk-rejection
SlackNotifier posts a short message to a Slack incoming webhook on:
  - trade-executor submits an order (filled or pending)
  - RiskManager rejects a signal (except outside_market_hours, which
    spams every poll when the bot tries to trade after-hours)

Key properties:
  - No-op when slack_webhook_url is empty (fail-soft default).
  - HTTP errors are swallowed — a Slack outage MUST NOT crash the
    consumer loop; the trade already happened on Alpaca.
  - Kevin-strategy signals tagged "Meet Kevin" in the message so I can
    tell which strategy fired.

Wiring:
  - TradeExecutorConfig.slack_webhook_url + TRADING_SLACK_WEBHOOK_URL
    env var, sourced from Vault secret/trading-bot/slack_webhook_url
    via existing ExternalSecret.
  - SlackNotifier passed to process_signal; both rejection + post-trade
    paths call it.

Tests: 7 new (no-op when disabled, post calls webhook with correct
text, Kevin strategy tag, swallows HTTP errors, suppresses noisy
rejections).
2026-05-26 21:55:55 +00:00
..
api_gateway feat(backtest): wire real Alpaca historical fetcher 2026-05-26 21:09:40 +00:00
kevin_signal_bridge fix(kevin_bridge): persist signal to signals table before audit row 2026-05-26 21:23:59 +00:00
learning_engine fix: resolve all remaining TODOs, add dev mode auth bypass 2026-02-25 22:02:25 +00:00
market_data feat: productionize local service — fix signal pipeline, lower thresholds, add company-name ticker extraction 2026-02-22 22:17:26 +00:00
meet_kevin_watcher feat(meet-kevin): throttle inter-video LLM calls (30s) to stay under Anthropic RPM 2026-05-22 20:25:19 +00:00
news_fetcher fix: resolve 13 important issues from code review 2026-02-22 17:58:01 +00:00
sentiment_analyzer fix: flush article before creating sentiment FK references 2026-02-23 20:57:11 +00:00
signal_generator feat: wire 6 new strategies and fundamentals into signal generator 2026-02-23 21:55:59 +00:00
trade_executor feat(trade-executor): Slack notifications on trade + risk-rejection 2026-05-26 21:55:55 +00:00
__init__.py feat: sentiment analyzer — FinBERT + Ollama tiered analysis 2026-02-22 15:27:06 +00:00