trading/services/api_gateway
Viktor Barzin 6fec9963fb
Some checks failed
ci/woodpecker/push/woodpecker Pipeline was canceled
feat(notify): Slack message for reconcile-booked closes (realized P&L)
Entries, deferrals and rejections posted to #trading-bot, but exits booked by the reconcile loop (bracket stop/take-profit legs that fill at Alpaca) were silent — the two Jun 9 stop-outs produced no message. Viktor asked for a Slack message on each position execution.

- move SlackNotifier to shared/ (now used by trade-executor AND api-gateway)

- add notify_close (ticker/qty/price/realized P&L/reason, win-loss emoji)

- reconcile loop notifies on each booked close, fail-soft; api-gateway config gains slack fields (channel defaults to trading-bot since the env carries only the bot token; chat:write.public covers posting)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 20:44:35 +00:00
..
auth fix: resolve all remaining TODOs, add dev mode auth bypass 2026-02-25 22:02:25 +00:00
routes feat(backtest): wire real Alpaca historical fetcher 2026-05-26 21:09:40 +00:00
tasks feat(notify): Slack message for reconcile-booked closes (realized P&L) 2026-06-10 20:44:35 +00:00
__init__.py feat: API gateway with passkey (WebAuthn) authentication 2026-02-22 15:53:48 +00:00
config.py feat(notify): Slack message for reconcile-booked closes (realized P&L) 2026-06-10 20:44:35 +00:00
main.py feat(kevin): reconcile Alpaca bracket auto-closes + order status 2026-06-04 22:31:24 +00:00
ws.py feat: API gateway trading endpoints, controls, backtest, WebSocket 2026-02-22 15:54:20 +00:00