How jjw712/capstone2 works
This repository is an early-stage robo-advisor combining a planned PPO asset-allocation engine with a LangGraph research agent. The only working API route is health; dashboard tabs are placeholders. The graph distinguishes that running health-check path from the documented research, portfolio, risk, evaluation, and explainability capabilities, whose implementations are not present in the sampled source. Dashed links mark documented but not yet verified runtime integration.
Main entry points: app.py Dashboard App · rl PPO Allocation · research RAG Research Agent · main.py FastAPI App
Components 27
User Interfaces
- Dashboard App
dashboard/app.py - Shared UI
dashboard/components/common.py - API Client
dashboard/client.py - Portfolio Page
dashboard/pages/portfolio.py - RL Performance
dashboard/pages/rl_performance.py - SHAP Explain
dashboard/pages/shap_explain.py - Research Page
dashboard/pages/research.py - ANOVA Results
dashboard/pages/anova.py - Risk Monitor
dashboard/pages/risk_monitor.py
API Serving
- FastAPI App
api/main.py - Health Route
api/routers/health.py - Serving State
api/dependencies.py - Health Schema
api/schemas.py
Investment Workflow
- Market Data
src/roboadvisor/data - Trading Environment
src/roboadvisor/trading_env - PPO Allocation
src/roboadvisor/rl - Portfolio Baselines
src/roboadvisor/baselines - RAG Research Agent
src/roboadvisor/research - Risk Analysis
src/roboadvisor/risk - Evaluation
src/roboadvisor/evaluation - Integration Services
src/roboadvisor/services
Shared Foundation
- Decision Contracts
src/roboadvisor/contracts.py - Configuration
src/roboadvisor/config.py - Persistence
src/roboadvisor/storage - Serving Artifacts
artifacts/serving - Market Data Files
data
Other components
- User
Connections 37
- User → Dashboard App: uses
README.md - Dashboard App → Shared UI: renders
dashboard/app.py - Dashboard App → Portfolio Page: routes to
dashboard/app.py - Dashboard App → RL Performance: routes to
dashboard/app.py - Dashboard App → SHAP Explain: routes to
dashboard/app.py - Dashboard App → Research Page: routes to
dashboard/app.py - Dashboard App → ANOVA Results: routes to
dashboard/app.py - Dashboard App → Risk Monitor: routes to
dashboard/app.py - Shared UI → API Client: checks health via
dashboard/components/common.py - API Client → FastAPI App: requests
README.md - User → FastAPI App: calls
README.md - FastAPI App → Serving State: loads at startup
api/main.py - FastAPI App → Health Route: registers
api/main.py - Health Route → Serving State: reads
api/routers/health.py - Health Route → Health Schema: returns
api/routers/health.py - Serving State → Configuration: gets settings
api/dependencies.py - Serving State → Serving Artifacts: reads manifest
api/dependencies.py - Configuration → Market Data Files: defines data paths
src/roboadvisor/config.py - Configuration → Serving Artifacts: defines serving path
src/roboadvisor/config.py - Market Data → Market Data Files: uses data
- Trading Environment → Market Data: consumes market data
README.md - PPO Allocation → Trading Environment: trains against
README.md - Evaluation → PPO Allocation: evaluates
README.md - Evaluation → Portfolio Baselines: compares
README.md - RAG Research Agent → Risk Analysis: adds risk tags
README.md - PPO Allocation → RAG Research Agent: combines with
README.md - Integration Services → PPO Allocation: integrates
- Integration Services → RAG Research Agent: integrates
- Decision Contracts → PPO Allocation: structures decisions
README.md - Decision Contracts → RAG Research Agent: structures evidence
README.md - Persistence → Market Data Files: persists data
- RL Performance → Evaluation: presents results
README.md - SHAP Explain → PPO Allocation: explains allocations
README.md - Research Page → RAG Research Agent: presents research
README.md - Risk Monitor → Risk Analysis: presents risks
README.md - Portfolio Page → PPO Allocation: presents allocation
README.md - ANOVA Results → Evaluation: presents validation
README.md