trading/tests/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
..
kevin_signal_bridge test(kevin): fix enum assertion + mark Postgres-dependent tests as integration 2026-05-26 20:01:37 +00:00
meet_kevin_watcher refactor(meet-kevin): switch LLM back to native Anthropic SDK with OAuth bearer 2026-05-22 19:24:40 +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
test_api_auth.py feat: API gateway with passkey (WebAuthn) authentication 2026-02-22 15:53:48 +00:00
test_api_routes.py feat: productionize local service — fix signal pipeline, lower thresholds, add company-name ticker extraction 2026-02-22 22:17:26 +00:00
test_learning_engine.py feat: learning engine — multi-armed bandit strategy weight adjustment 2026-02-22 15:43:11 +00:00
test_market_data.py feat: productionize local service — fix signal pipeline, lower thresholds, add company-name ticker extraction 2026-02-22 22:17:26 +00:00
test_news_fetcher.py feat: news fetcher service — RSS and Reddit sources 2026-02-22 15:25:27 +00:00
test_portfolio_sync.py fix: resolve all remaining TODOs, add dev mode auth bypass 2026-02-25 22:02:25 +00:00
test_sentiment_analyzer.py feat: real data pipeline — market data, DB persistence, portfolio sync, signal-trade linkage 2026-02-22 19:52:45 +00:00
test_signal_generator.py feat: real data pipeline — market data, DB persistence, portfolio sync, signal-trade linkage 2026-02-22 19:52:45 +00:00
test_trade_executor.py fix: resolve all remaining TODOs, add dev mode auth bypass 2026-02-25 22:02:25 +00:00