# TrueWealth Replacement Boundary: FinanceManager vs JARVIS Portal

## Durable lesson

When implementing the user's TrueWealth replacement / Portfolio Advisor, keep the full product surface inside the dedicated FinanceManager / Finanzdashboard. The JARVIS overview portal is only an entry gate and complementary command-center summary.

## Correct split

### FinanceManager / Finanzdashboard owns

- Portfolio Advisor / TrueWealth replacement cockpit
- Exact local portfolio values and protected finance details
- Asset allocation, source allocation, Ist/Ziel/Drift
- Donut/drilldown UX down to positions and future ETF/TrueWealth lookthrough
- Strategy editor target model, tolerance bands, sector/region/currency limits
- Risk & return tabs: performance, contribution, benchmarking, projected return, simulated history, risk
- Rebalancing suggestions as Preview -> Confirm -> Audit
- API/view models such as a `/api/portfolio/advisor` snapshot contract

### JARVIS overview portal owns

- Safe status/health/data-quality summary only
- Link-only handoff to FinanceManager
- Complementary notes about what needs attention
- No exact values, accounts, transactions, position tables, reports, PDFs/CSV/XLSX paths, or full portfolio cockpit
- No order execution or finance actions

## Pitfall to avoid

Do not build TrueWealth-style UI directly into the JARVIS overview portal just because that is the visible command dashboard. If the user says "Finanzdashboard", confirm whether they mean the dedicated FinanceManager workspace. For this user, TrueWealth functionality belongs there by default.

## Verification pattern

- JARVIS portal tests should assert entry-gate behavior and absence of Portfolio Advisor terms/widgets such as Asset Allocation, Strategy Editor, and rebalancing controls.
- FinanceManager tests should assert exact local advisor snapshot behavior, source allocations (TrueWealth / own ETFs-stocks / cash / crypto), Preview-Confirm-Audit workflow, and `execution_allowed=False`.
- Browser-smoke the JARVIS `/finance` route for no JS errors and visible handoff only.
