Files
MickyandClaude Opus 5.5 005c5840f0 feat: read-only brokerage accounts through SnapTrade
New tr-broker crate:
- Signed SnapTrade client (clientId + timestamp query, base64 HMAC-SHA256
  Signature over canonical {content,path,query}) on the canonical root paths:
  register user, read-only Connection Portal link, accounts, balances,
  positions (all instrument kinds), orders (30 days), activity (90 days)
- Portfolio model with lenient decimal parsing, unrealised P&L for longs,
  shorts and option multipliers, totals repriced with live quotes, market-key
  mapping, OCC option labels
- Credentials in the macOS Keychain or an owner-only (0600) file, SNAPTRADE_*
  environment overrides, redacted Debug, URL-scrubbed errors
- Deterministic simulated portfolio for offline mode / TR_BROKER=sample

App:
- Portfolio pane with Summary, Accounts, Positions, Orders and Activity views
  (PORT, ACCT, POS, ORD, ACTV; AAPL POS filters; F7/F8/F9), account picker,
  sortable responsive tables, click to chart, right-click OMON/news/Congress
- Setup screen when unconfigured; Settings > Brokerage for keys, user
  registration, Connect Brokerage (browser), Test Connection, Forget
- Sidebar Portfolio section with value and open-order badges; help rows
- New default hotkeys never take a chord the user already bound
- Tests: signatures checked against Python-computed values, mock SnapTrade
  server verifying every request, parsing fixtures, P&L, storage, views
- README: brokerage feature, setup and security notes, shortcuts, screenshots

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-12 16:39:44 -04:00

21 KiB
680x330px