What
Surface the composite trade recommendation (get_trade_recommendation) in the WebUI, within the Security Detail panels for a specific security. Today this — arguably the most powerful synthesis tool in the system — is reachable only via MCP and REST, with no UI presence.
Why
get_trade_recommendation synthesizes the full analysis suite (RSI, MACD, Stochastic, Bollinger, volume, candlesticks, dark pool, short interest, bid/ask spread, unusual calls, delta-adjusted OI, options positioning, stop-loss, news sentiment) into a single actionable call with entry, target, stop, position size, and risk/reward. It's the natural "bottom line" a user wants when looking at one security, but right now they have to drop to Claude/MCP to get it. The capabilities matrix flags it as MCP/REST-only ("Most powerful synthesis tool; locked out of REST/WebUI" — now REST-exposed, still no UI).
Good news: the backend already exists
The REST endpoint is live — GET /api/securities/<ticker>/recommendation?capital=<n> — so this is primarily frontend work: call the endpoint and render it in a Security Detail panel. No new service/route needed.
Suggested UI placement
The Security Detail page already has tabs (Price & MAs, Technical Analysis, Options Chain, Options Analytics, Options Performance, Signals). Options:
- A new "Recommendation" tab (or "Trade Setup"), or
- A summary card at the top of the detail view that's always visible (since it's the synthesized bottom line), with the contributing signals linking down to the existing Signals/Technical tabs.
(Design decision for the implementer / a quick design pass.)
Content to render
- Headline recommendation (e.g. BUY / HOLD / AVOID) + conviction/score
- Entry, target, stop levels and risk/reward
- Position size for a given capital (expose the
capital query param as an input, defaulting to the documented $5,000)
- The per-signal score breakdown that drives the verdict (so the user can see why)
Dependencies / caveats
Acceptance
Related: #65 (tool timeout), #67 (capabilities-matrix UI-gap audit), #68 (cache-warming job).
🤖 Generated with Claude Code
What
Surface the composite trade recommendation (
get_trade_recommendation) in the WebUI, within the Security Detail panels for a specific security. Today this — arguably the most powerful synthesis tool in the system — is reachable only via MCP and REST, with no UI presence.Why
get_trade_recommendationsynthesizes the full analysis suite (RSI, MACD, Stochastic, Bollinger, volume, candlesticks, dark pool, short interest, bid/ask spread, unusual calls, delta-adjusted OI, options positioning, stop-loss, news sentiment) into a single actionable call with entry, target, stop, position size, and risk/reward. It's the natural "bottom line" a user wants when looking at one security, but right now they have to drop to Claude/MCP to get it. The capabilities matrix flags it as MCP/REST-only ("Most powerful synthesis tool; locked out of REST/WebUI" — now REST-exposed, still no UI).Good news: the backend already exists
The REST endpoint is live —
GET /api/securities/<ticker>/recommendation?capital=<n>— so this is primarily frontend work: call the endpoint and render it in a Security Detail panel. No new service/route needed.Suggested UI placement
The Security Detail page already has tabs (Price & MAs, Technical Analysis, Options Chain, Options Analytics, Options Performance, Signals). Options:
(Design decision for the implementer / a quick design pass.)
Content to render
capitalquery param as an input, defaulting to the documented $5,000)Dependencies / caveats
get_trade_recommendationcurrently times out as a single synchronous fan-out (issue get_trade_recommendation MCP tool times out (cumulative latency, not a single broken dependency) #65). The UI should not call it on every page load until that's addressed — coordinate with get_trade_recommendation MCP tool times out (cumulative latency, not a single broken dependency) #65 (parallelize/cache the sub-analyses) and the daily cache-warming job (Add a daily cache-warming batch job (GCP) — refresh all cached data + build options chain history #68). Consider lazy-loading the panel on demand with a clear loading state, and/or reading from warmed cache.Acceptance
docs/capabilities-matrix.md(removes a WebUI gap)Related: #65 (tool timeout), #67 (capabilities-matrix UI-gap audit), #68 (cache-warming job).
🤖 Generated with Claude Code