## MVP-Readiness-Report — FinanceManager Zwischenstand

Sir, hier ist der strukturierte Zwischenbericht. Ich habe den aktuellen Repo-/Runtime-Zustand frisch geprüft und gebe bewusst nur Counts und qualitative Einschätzungen aus — keine Mengen, Preise, Kontostände oder Portfolio-Werte.

---

# 1. Aktueller technischer Stand

## Git / Version

- Lokaler aktueller Commit: `943c424`
  - `feat: extend equity ETF management UI`
- Remote HEAD `origin/main`: `3aa67d8`
  - `feat: add crypto price refresh command`
- Lokaler Branch: `main`
- Git-Status:
  - Working Tree: sauber
  - Branch: `main...origin/main [voraus 2]`
- Lokale Commits noch nicht gepusht:
  - `1b5028d` — `feat: harden crypto price refresh`
  - `943c424` — `feat: extend equity ETF management UI`

## Tests

- Testlauf: erfolgreich
- Anzahl Tests: `110`
- Ergebnis: `110 passed`

## Git-Safety

- Ergebnis: `GIT_SAFETY_OK`
- Nach Testlauf wurden `.pytest_cache` und `__pycache__` entfernt, bevor Git-Safety lief.
- Keine Runtime-/Cache-/Finanzdaten im Git Working Tree gefunden.

## Runtime-DB Status

- Runtime-DB vorhanden: ja
- Runtime liegt außerhalb des Repos:
  - `/home/agent/jarvis_runtime/finance-system/data/finance.sqlite3`
- Tabellen vorhanden u.a.:
  - `crypto_assets`
  - `crypto_wallets`
  - `crypto_holdings`
  - `crypto_prices`
  - `alerts`
  - `audit_log`
  - `import_sessions`
  - `reports`
  - `transactions`
  - `instruments`
  - `market_prices`
  - `fx_rates`
  - `watchlist`
  - `decision_journal`

## Welche echten Daten bereits lokal in der Runtime-DB liegen

Echte produktive Runtime-Daten, aggregate-only:

- Crypto Assets: `20`
- Crypto Assets mit CoinGecko-ID: `20`
- Crypto Wallets: `8`
- Crypto Holdings: `27`
- BTC-Holdings: `2`
- Crypto CHF-Preise mit Status `fresh`: `20` Assets
- Import-Sessions: `3`
  - Crypto Wallets: committed
  - Crypto Holdings: committed
- Audit-Logs: `56`
- Reports: `1`
  - Crypto Inventory Report, lokal/runtime
- Alerts: `14` aktive Warnungen
  - Kategorie: Market Data
  - Regel: `crypto_price_stale`

Wichtiger Hinweis:
Obwohl aktuell für alle `20` aktiven Crypto Assets frische CHF-Preise vorhanden sind, existieren noch `14` aktive Stale-Price-Alerts aus vorherigen Läufen. Das ist kein Preisproblem mehr, sondern ein Alert-Lifecycle-/Resolution-Thema. Klassischer Fall von: „Der Patient lebt, aber die Krankenakte behauptet noch etwas anderes.“

## Welche echten Daten noch nicht importiert wurden

Noch nicht produktiv importiert:

- PostFinance Aktien-/ETF-Daten
- True Wealth Aktien-/ETF-Daten
- Raiffeisen Aktien-/ETF-Daten
- echte Broker-/Bank-Transaktionshistorie
- echte Cash-Balances
- echte Aktien-/ETF-Instrumente
- echte Aktien-/ETF-Positionen
- echte Aktien-/ETF-Market-Prices
- historische FX-Kurse
- Watchlist-Einträge
- Decision-Journal-Einträge
- Gesamtportfolio-Snapshots
- Rebalancing-Zielgewichte
- Scoring-/Ampel-Daten

## Produktiv nutzbare Module

Mit Vorsicht produktiv nutzbar:

- Runtime-/Settings-Safety
- Git-Safety-Scan
- SQLite Runtime außerhalb Git
- Crypto Wallet Import / Holding Import — bereits produktiv genutzt
- Crypto Asset Inventory
- Crypto Preis-Update via CoinGecko mit:
  - Batch Requests
  - Retry/Backoff
  - Dry-Run
  - local cache
  - kein Live-API-Call im Dashboard/Report
- Crypto Inventory Report lokal/runtime
- Audit Log grundsätzlich
- Alert-Dedupe grundsätzlich

## Nur vorbereitet / synthetisch getestet

Vorbereitet oder synthetisch getestet, aber noch nicht produktiv mit echten Aktien-/ETF-Daten genutzt:

- Aktien-/ETF Manage UI
- Equity Initial Snapshot
- Buy / Partial Sell / Full Sell
- Dividend / ETF Distribution
- Fee
- Manual Adjustment
- Equity Audit-Log
- Ledger-/Cash-/WAC-Logik
- FX-Logik
- generische CSV-Import-Pipeline
- Watchlist
- Decision Journal
- Gesamtportfolio Dashboard
- Reports über Gesamtportfolio
- Risikoanalyse
- Rebalancing
- Scoring/Ampeln

---

# 2. Umsetzung gegen ursprüngliche Zielarchitektur

## Investment Command Center

Status: **teilweise umgesetzt**

- Dashboard-Shell vorhanden.
- Navigation mit mehreren Seiten vorhanden.
- Runtime-Safety vorhanden.
- Aber: noch kein vollständiges operatives Cockpit für Gesamtportfolio, Allokation, Performance, Risiko und Entscheidungen.

## Transaktionshistorie

Status: **vorbereitet**

- Tabellen und Import-/Ledger-Struktur vorhanden.
- Equity-Transaktionslogik synthetisch getestet.
- Crypto-Transaktionen noch nicht produktiv genutzt.
- Echte Broker-Transaktionshistorie fehlt.

## Cash/Ledger

Status: **vorbereitet**

- Ledger-Module existieren.
- Cash-/WAC-/Position-Logik vorbereitet.
- Runtime-DB enthält aktuell keine echten Cash-/Ledger-Records.
- Für MVP-Gesamtportfolio noch nicht praktisch nutzbar.

## CHF-/FX-Logik

Status: **vorbereitet**

- Base Currency CHF fest verankert.
- FX-Module vorhanden.
- Fremdwährungsvalidierung in Equity-Logik vorbereitet.
- Runtime-DB enthält aktuell keine echten FX-Rates.
- Historische FX-Kurse fehlen.

## Aktien/ETF-Portfolio

Status: **vorbereitet**

- Equity/ETF Manage UI existiert.
- Initial Snapshot / Buy / Sell / Dividend / Fee / Manual Adjustment vorbereitet.
- Full Sell ergänzt.
- Tests vorhanden.
- Aber: keine echten Aktien-/ETF-Daten importiert.

## Crypto-Inventory

Status: **teilweise umgesetzt bis nahe MVP-fertig**

- Echte Crypto Assets / Wallets / Holdings liegen in Runtime.
- CoinGecko-ID-Abdeckung vollständig für aktive Assets.
- Lokale CHF-Preise frisch für alle aktiven Crypto Assets.
- Report vorhanden.
- Audit vorhanden.
- Offene Lücke: aktive alte Stale-Alerts müssen sauber resolved werden.

## Watchlist

Status: **vorbereitet**

- Tabellen/Importer-Struktur vorhanden.
- Dashboard-Seite vorhanden.
- Keine echten Watchlist-Daten produktiv erfasst.
- Keine Pipeline für Scores, Preise, Trend, Fit.

## Reports

Status: **teilweise umgesetzt**

- Crypto Inventory Report vorhanden.
- Report-Metadaten vorhanden.
- Gesamtportfolio-Report fehlt.
- Equity/ETF-Report fehlt.
- Performance-/Risk-/Decision-Report fehlt.

## Alerts

Status: **teilweise umgesetzt**

- Alert-Tabelle vorhanden.
- Alert-Dedupe vorhanden.
- Market-Data-Alerts vorhanden.
- Problem: Alert-Lifecycle ist noch nicht sauber genug; alte Stale-Alerts bleiben aktiv, obwohl frische Preise vorhanden sind.
- Für MVP braucht es Resolve-/Mute-/Review-Workflow.

## Audit/History

Status: **teilweise umgesetzt**

- Audit-Logs vorhanden.
- Crypto-Importe/Aktionen auditierbar.
- Equity-Manage-Logik auditierbar vorbereitet.
- Noch kein komfortabler Review-/History-Workflow für Nicht-Entwickler.

## Decision Journal

Status: **fehlt / bewusst später**

- Tabelle vorhanden.
- Keine produktive UI/Pipeline.
- Keine Verknüpfung mit Portfolio-Entscheidungen, Watchlist, Alerts oder Rebalancing.

## Risikoanalyse

Status: **fehlt / bewusst später**

- Noch keine Portfolio-Risiko-Engine.
- Keine Konzentrations-, Währungs-, Plattform-, Assetklassen- oder Drawdown-Auswertung produktiv.

## Rebalancing

Status: **fehlt / bewusst später**

- Keine Zielgewichte.
- Keine Abweichungslogik.
- Keine Vorschläge.
- Keine Order-Vorbereitung.

## Scoring/Ampeln

Status: **fehlt / bewusst später**

- Noch keine deterministische Scoring-Engine.
- Keine Trend-/Risk-/Portfolio-Fit-Scores.
- Keine Ampeln.

## Data Quality

Status: **teilweise umgesetzt**

- Alerts vorhanden.
- Missing/Stale Crypto Prices erkannt.
- Git-/Runtime-Safety vorhanden.
- Aber:
  - kein echtes Data Quality Center
  - alte Alerts werden nicht automatisch resolved
  - FX-/ISIN-/Market-Price-/History-Lücken für Aktien/ETFs noch nicht produktiv sichtbar

## Privacy/Git-Safety

Status: **fertig für MVP-Basis**

- Runtime außerhalb Git.
- Git-Safety läuft grün.
- `.gitignore`/Safety-Konzept grundsätzlich sauber.
- Keine echten Finanzdaten im Repo festgestellt.
- Backup/Restore ist aber noch nicht MVP-fertig.

---

# 3. MVP-1-Readiness

## Crypto-Verwaltung

Bewertung: **praktisch fast nutzbar**

Stark:

- echte Crypto-Basisdaten in Runtime
- alle aktiven Crypto Assets mit CoinGecko-ID
- frische lokale CHF-Preise für alle aktiven Crypto Assets
- Wallet-/Holding-Struktur vorhanden
- Audit vorhanden
- Report vorhanden
- kein Dashboard-Live-API-Call

Noch offen:

- Alert-Lifecycle bereinigen
- Data Quality Center für Crypto fehlt
- manuelle Review Queue noch nicht vollständig
- Crypto-Transaktionen / Buy/Sell/Transfer noch nicht produktiv genutzt
- Cost Basis / Steuerlogik bewusst später

## Aktien-/ETF-Verwaltung

Bewertung: **noch nicht praktisch produktiv nutzbar**

Stark:

- UI- und Domainlogik vorbereitet
- synthetische Tests vorhanden
- Audit-Ansatz sauber
- Initial Snapshot und Transaktionen konzeptionell richtig modelliert

Noch offen:

- echte Datenimports fehlen
- Instrument-Mapping fehlt
- ISIN-normalisierte Asset-Master-Daten fehlen
- Market Data fehlt
- FX fehlt
- Broker-spezifische Importlogik fehlt

## Gesamtportfolio

Bewertung: **noch nicht MVP-nutzbar**

Grund:

- Crypto-Seite ist deutlich weiter als Aktien/ETFs.
- Gesamtwert CHF kann ohne Aktien-/ETF-Preise, FX und Positionen nicht seriös berechnet werden.
- Allokation nach Assetklasse/Plattform/Währung ist noch nicht vollständig.

## Dashboard-Bedienung

Bewertung: **technisch nutzbar, UX noch nicht MVP-reif**

- Dashboard startet gegen lokale Runtime.
- Seitenstruktur vorhanden.
- Crypto-Seiten sind am nächsten an echter Nutzung.
- Equity Manage UI ist funktional vorbereitet.
- Für Nicht-Entwickler fehlen noch:
  - klare Workflows
  - Review-Screens
  - Bestätigungsdialoge
  - Such-/Filterfunktionen
  - Safe Mode
  - Import-Assistenten

## Reports

Bewertung: **Crypto teilweise nutzbar, Gesamtportfolio fehlt**

- Crypto Inventory Report vorhanden.
- Gesamtportfolio-Reports fehlen.
- Keine Performance-/Risk-/Decision-Reports.

## Datenqualität

Bewertung: **Basis vorhanden, MVP noch nicht vollständig**

- Crypto-Preisqualität ist technisch gut.
- Alert-Dedupe vorhanden.
- Problem: Alert-Resolution fehlt/ungenügend.
- Aktien-/ETF-/FX-Datenqualität noch nicht operationalisiert.

## Sicherheit

Bewertung: **technisch stark, Backup/Restore offen**

- Runtime/Git-Trennung sauber.
- Git-Safety grün.
- Keine echten Daten im Git.
- Backup/Restore noch nicht umgesetzt.
- Read-only/Safe Mode noch nicht umgesetzt.

## Tägliche Nutzbarkeit

Bewertung: **noch nicht täglich als Gesamtportfolio-Tool nutzbar**

- Als Crypto-Inventar: bald ja.
- Als Gesamtportfolio-Bewirtschaftungstool: noch nein.
- Für tägliche Nutzung fehlen:
  - Aktien-/ETF Import
  - Market Data
  - FX
  - Gesamtportfolio Dashboard
  - Data Quality Center
  - Backup/Restore
  - klare UI-Workflows

---

# 4. Funktionslücken für ein echtes Portfolio-Bewirtschaftungstool

## Aktien-/ETF-Datenimport

Status: **kritische Lücke**

Fehlt:

- PostFinance Import
- True Wealth Import
- Raiffeisen Import
- Mapping auf ISIN / Ticker / Exchange
- Initial Snapshot je Depot
- Import-Dry-Run
- Import-Review
- Import-Commit mit Audit
- Duplicate Protection

## Market Data für Aktien/ETFs

Status: **kritische Lücke**

Fehlt:

- Provider-Auswahl
- Symbol-/ISIN-Mapping
- Kursabruf
- lokale Preis-Caches
- Stale-/Missing-Price-Alerts
- kein Live-API im Dashboard

## Aktuelle Bewertung Aktien/ETFs

Status: **fehlt**

Abhängig von:

- echten Instrumenten
- Positionen
- aktuellen Kursen
- FX-Rates
- Datenqualitätsstatus

## Historische FX-Kurse

Status: **fehlt**

Kritisch für:

- Käufe/Verkäufe in USD/EUR
- Dividenden
- Gebühren
- Total Return CHF
- Performance-Zerlegung Preis vs. FX

## Gesamtportfolio-Wert CHF

Status: **fehlt als seriöse Funktion**

Crypto kann lokal bewertet werden.
Gesamtportfolio nicht, weil Aktien/ETFs und FX fehlen.

## Assetklassen-/Währungs-/Plattform-Allokation

Status: **fehlt / vorbereitet**

Struktur ist angelegt, aber echte Datenbasis fehlt.

## Performance / Total Return

Status: **fehlt**

Fehlt:

- vollständige Transaktionshistorie oder sauber deklarierte Initial Snapshots
- Cashflows
- Gebühren
- Dividenden
- historische FX
- aktuelle Preise

## Rebalancing

Status: **fehlt**

Fehlt:

- Zielallokation
- Toleranzbänder
- Drift-Berechnung
- Vorschlagslogik

## Watchlist Pipeline

Status: **fehlt / vorbereitet**

Fehlt:

- Import/Erfassung echter Watchlist Items
- Preise
- Scores
- Alerts
- Entscheidungslogik

## Trend/Risk/Portfolio-Fit Scores

Status: **fehlt**

Sollte bewusst später kommen, nach sauberer Datenbasis.

## Alerts

Status: **teilweise**

Vorhanden:

- technische Alerts
- Market-Data-Stale-Alerts

Fehlt:

- Data Quality Center
- Alert Resolution
- Alert Review
- Muting
- Portfolio-/Risk-/Rebalancing-Alerts

## Decision Journal

Status: **fehlt**

Fehlt:

- UI
- Einträge
- Verknüpfung mit Assets/Watchlist/Transaktionen
- Review Historie

## Reports über Gesamtportfolio

Status: **fehlt**

Fehlt:

- Gesamtportfolio-Report
- Assetklassenreport
- Plattformreport
- Währungsreport
- Performancebericht
- Datenqualitätsbericht

---

# 5. Nächste sinnvolle Implementierungsreihenfolge

Ich würde ab jetzt nicht breit weiterbauen, sondern entlang einer klaren MVP-Reihenfolge.

## Phase A — Abschluss Crypto MVP

### Ziel

Crypto-Bereich als ersten wirklich nutzbaren Produktiv-Teil abschließen.

### Konkrete Tasks

- Alert-Lifecycle fixen:
  - alte Stale-Price-Alerts automatisch resolved setzen, wenn frischer Preis vorhanden ist
- Crypto Data Quality Summary bauen:
  - missing CoinGecko-ID
  - missing price
  - stale price
  - duplicate holdings
  - negative holdings
  - orphan holdings
- Crypto Dashboard kritisch testen:
  - keine Live-API
  - keine echten Werte im Log
  - klare Warnungen
- Crypto Report erneut erzeugen:
  - nur Runtime
  - keine Git-Artefakte
  - Data-Quality-Status korrekt

### Akzeptanzkriterien

- `20` aktive Crypto Assets mit frischem CHF-Preis
- `0` aktive stale-price Alerts, sofern Preise frisch sind
- Git-Safety grün
- Tests grün
- Report lokal/runtime erzeugt
- keine Mengen/Werte im Chat oder Git

### Danach nutzbar

- Crypto-Inventar
- Crypto-Wallet-Struktur
- lokale Crypto-Bewertung
- Crypto-Qualitätsstatus
- Crypto-Report

### Weiterhin nicht enthalten

- Crypto Tax
- FIFO/LIFO
- DeFi
- automatisierte Exchange APIs
- Portfolio-weite Performance

---

## Phase B — Aktien/ETF Initial Snapshot

### Ziel

Echte Aktien-/ETF-Bestände als kontrollierte Initial Snapshots erfassen.

### Konkrete Tasks

- Import-Format je Quelle analysieren:
  - PostFinance
  - True Wealth
  - Raiffeisen
- Broker-Dateien nur in Runtime/temp lesen
- Dry-Run Import bauen:
  - ISIN
  - Ticker
  - Name
  - Währung
  - Depot/Konto
  - Menge als Decimal/Text
  - Snapshot-Datum
- Review-Ausgabe aggregate-only
- Commit-Modus mit:
  - Audit Log
  - Import Session
  - Duplicate Protection
  - keine stillen Überschreibungen

### Akzeptanzkriterien

- echte Aktien-/ETF-Instrumente in Runtime
- echte Positionen als Initial Snapshot in Runtime
- keine Broker-Dateien im Git
- Git-Safety grün
- Import re-run-safe
- ISIN/Ticker-Validierung vorhanden

### Danach nutzbar

- Dashboard kann echte Aktien-/ETF-Bestände anzeigen
- Depots/Konten sichtbar
- initiale Portfolio-Struktur vorhanden

### Weiterhin nicht enthalten

- aktuelle Kurse
- Performance
- historische Käufe/Verkäufe
- vollständige Steuer-/Dividendenlogik

---

## Phase C — Aktien/ETF Market Data + FX

### Ziel

Aktien/ETFs lokal bewerten können.

### Konkrete Tasks

- Market-Data-Provider auswählen
- ISIN/Ticker/Exchange-Mapping
- Kursabruf als CLI/Scheduled Job
- lokale `market_prices` füllen
- FX Provider für USD/EUR/CHF
- lokale `fx_rates` füllen
- stale/missing Alerts
- keine API-Calls im Dashboard

### Akzeptanzkriterien

- aktive Aktien/ETFs haben lokale Preise oder Data-Quality-Alert
- Fremdwährungspositionen haben FX oder Missing-FX-Alert
- Dashboard liest nur lokale DB
- Tests für Provider-Mocking, Staleness und Rate-Limits

### Danach nutzbar

- aktuelle Bewertung Aktien/ETFs
- CHF-Gegenwert je Position
- Datenqualitätswarnungen

### Weiterhin nicht enthalten

- echte Performance
- vollständige historische Total-Return-Analyse

---

## Phase D — Gesamtportfolio Dashboard

### Ziel

Aus Crypto + Aktien/ETFs ein echtes Investment Command Center machen.

### Konkrete Tasks

- Gesamtwert CHF aggregieren
- Assetklassen-Allokation
- Plattform-/Depot-Allokation
- Währungsallokation
- Datenqualitätsampel
- fehlende Preise/FX sichtbar machen
- Cashquote vorbereiten

### Akzeptanzkriterien

- Dashboard zeigt Gesamtportfolio ohne Live-API
- unvollständige Werte werden klar als unvollständig markiert
- keine Scheingenauigkeit bei fehlenden Daten
- Filter nach Plattform/Assetklasse/Währung

### Danach nutzbar

- erste echte Gesamtportfolio-Übersicht
- Entscheidungsgrundlage auf Bestandsebene

### Weiterhin nicht enthalten

- Rebalancing
- Scoring
- tiefe Performanceanalyse

---

## Phase E — Watchlist und Alerts

### Ziel

Von Bestandsverwaltung zu Entscheidungsunterstützung wechseln.

### Konkrete Tasks

- Watchlist UI
- Watchlist Import
- Preis-/Trend-Status
- Data Quality Alerts
- Portfolio-Fit Flags
- manuelle Notizen

### Akzeptanzkriterien

- Watchlist Items erfassbar
- Alerts dedupliziert
- offene Alerts reviewbar
- Watchlist beeinflusst keine Bestände ohne explizite Aktion

### Danach nutzbar

- Investment-Ideen verwalten
- Watchlist systematisch verfolgen

### Weiterhin nicht enthalten

- automatische Kaufempfehlungen
- Trading API

---

## Phase F — Scores und Rebalancing

### Ziel

Portfolio-Steuerung ermöglichen.

### Konkrete Tasks

- Zielallokationen
- Drift-Berechnung
- Rebalancing-Vorschläge
- Konzentrationsrisiko
- Währungsrisiko
- Plattformrisiko
- einfache Ampeln

### Akzeptanzkriterien

- Scores deterministisch
- Regeln sichtbar
- keine Blackbox
- Vorschläge sind nicht automatisch ausführbar

### Danach nutzbar

- strukturierte Portfolio-Steuerung
- Priorisierung von Handlungsbedarf

### Weiterhin nicht enthalten

- automatisches Trading
- steueroptimierte Verkaufslogik
- vollständige institutionelle Risikoengine

---

## Phase G — Reports und Decision Journal

### Ziel

Nachvollziehbarkeit und regelmäßige Entscheidungsdokumentation.

### Konkrete Tasks

- Gesamtportfolio-Report
- Monats-/Quartalsbericht
- Data-Quality-Report
- Decision Journal UI
- Entscheidungen mit Assets/Watchlist/Alerts verknüpfen
- Export HTML/PDF/Markdown lokal/runtime

### Akzeptanzkriterien

- Reports lokal erzeugt
- keine echten Reports in Git
- Entscheidungen nachvollziehbar
- Audit und Decision Journal getrennt, aber verknüpfbar

### Danach nutzbar

- Portfolio-Governance
- Review-Rhythmus
- nachvollziehbare Investment-Historie

### Weiterhin nicht enthalten

- Steuerberatung
- automatisches Filing
- Broker-Ausführung

---

# 6. Bedienbarkeit / UX

## Kann ein Nicht-Entwickler das Dashboard bedienen?

Bewertung: **noch nicht zuverlässig**

Ein technisch versierter Nutzer kann es bedienen.
Ein Nicht-Entwickler würde vermutlich an folgenden Stellen unsicher werden:

- Welche Daten sind echt vs. synthetisch?
- Was ist nur Anzeige, was schreibt in die DB?
- Welche Warnungen sind kritisch?
- Was passiert bei Import/Commit?
- Wie werden Fehler korrigiert?
- Wo ist der Undo-/Review-Prozess?

## Schon brauchbare Seiten/Formulare

Relativ brauchbar:

- Command Center / Dashboard Shell
- Crypto-Seite
- Wallet-/Crypto-Inventory-Anzeigen
- Alerts-Seite als technische Basis
- Audit-Seite als technische Basis
- Crypto Manage UI
- Equity/ETF Manage UI synthetisch

## Wo fehlen Buttons, Filter, Suche, Bestätigungen?

Fehlt oder muss verbessert werden:

- globale Suche nach Asset / ISIN / Symbol / Wallet
- Filter nach Plattform, Depot, Assetklasse, Währung
- Data Quality Filter:
  - nur fehlende Preise
  - nur stale prices
  - nur fehlende FX
  - nur fehlende ISIN
- Import-Assistent mit Stufen:
  - Datei wählen
  - Dry Run
  - Review
  - Commit
  - Ergebnis
- klare Confirm-Dialoge bei Writes
- Preview vor Manual Adjustment
- Undo/Correction Workflow
- Export-/Report-Buttons mit Runtime-Zielanzeige
- Safe Mode Toggle
- Read-only Mode sichtbar

## Risiko für Fehlbedienung

Bestehende Risiken:

- Manual Adjustment könnte fachlich falsch genutzt werden.
- Equity Initial Snapshot könnte mit echter Historie verwechselt werden.
- Fremdwährungspositionen könnten ohne FX fälschlich als vollständig interpretiert werden.
- Aktive alte Alerts könnten Verwirrung erzeugen.
- Synthetische und echte Daten müssen UI-seitig klar getrennt werden.
- Ohne Backup/Restore ist produktives Schreiben riskanter als nötig.

## Pflicht-UI-Verbesserungen vor echter Nutzung

Vor echter täglicher Nutzung Pflicht:

1. Safe Mode / Read-only Mode
2. Import-Dry-Run-/Review-/Commit-Wizard
3. Data Quality Center
4. Alert Resolve/Mute/Review Workflow
5. klare Anzeige:
   - echte Runtime-Daten
   - synthetische Demo-Daten
   - unvollständige Historie
   - fehlende Preise/FX
6. Bestätigungsdialoge bei allen Writes
7. Audit-Detailansicht pro Asset/Position
8. Backup-Hinweis vor produktiven Imports

---

# 7. Datenqualität und Sicherheit

## Echte Daten nur Runtime?

Bewertung: **ja, aktueller Stand sauber**

- echte Daten liegen in Runtime außerhalb Repo.
- Git-Safety grün.
- keine echten Runtime-Dateien im Git Working Tree.

## Keine echten Daten Git?

Bewertung: **ja, nach aktuellem Scan**

- `GIT_SAFETY_OK`
- Working Tree clean
- keine Runtime-/Cache-/Finanzdateien erkannt

## Git-Safety ausreichend?

Bewertung: **für MVP-Basis ja**

Aber ergänzen sollte man später:

- explizite Tests für neue Broker-Dateiformate
- Excel-/PDF-/CSV-Blockregeln für Runtime-Leaks
- Report-Dateien
- Backup-Dateien
- Credential-Dateien

## Backups vorhanden?

Bewertung: **nicht als FinanceManager-Funktion**

Aus Systemkontext existieren allgemeine Health-/Drive-Backup-Regeln, aber für diese Runtime-Finance-DB ist noch kein explizites Backup/Restore-Modul implementiert.

## Restore noch fehlend?

Bewertung: **ja, kritische Lücke vor breiter produktiver Nutzung**

Vor echten Aktien-/ETF-Imports sollte mindestens vorhanden sein:

- Runtime-DB Backup vor Import
- Restore-Test
- optional verschlüsselte Backup-Datei
- Backup-Metadaten/Audit

## Preis-/FX-Datenqualität

Crypto:

- frische CHF-Preise für alle aktiven Crypto Assets vorhanden.
- Aber: alte aktive Stale-Alerts müssen resolved werden.

Aktien/ETFs:

- keine Market Prices vorhanden.
- keine FX Rates vorhanden.
- Datenqualität daher noch nicht ausreichend für Gesamtportfolio-Bewertung.

## Fehlende Werte

Aktuell fehlen produktiv:

- Aktien-/ETF-Kurse
- FX-Kurse
- Cash-Balances
- Aktien-/ETF-Positionen
- Broker-Transaktionen
- Watchlist-Daten
- Decision-Journal-Daten
- Gesamtportfolio-Performance

## Alerts ausreichend?

Bewertung: **Grundlage ja, operativ nein**

Gut:

- Dedupe vorhanden
- aktive Warnungen vorhanden
- Market-Data-Alerts möglich

Fehlt:

- Resolution bei behobenem Zustand
- UI für Mute/Resolve
- Data Quality Center
- Alert-Kategorien für Equity/FX/ISIN/History

## Scheingenauigkeitsrisiken

Hoch, wenn man jetzt zu früh Gesamtportfolio-Werte anzeigen würde.

Risiken:

- Aktien/ETFs ohne aktuelle Kurse
- Fremdwährungen ohne FX
- Initial Snapshots ohne echte Kaufhistorie
- fehlende Gebühren
- fehlende Dividendenhistorie
- fehlende historische FX
- Crypto aktuelle Bewertung vorhanden, aber ohne Cost Basis
- Gesamtperformance wäre aktuell nicht seriös

Regel:
Solange historische FX, Fees und vollständige Historie fehlen, dürfen Performance und Total Return nur eingeschränkt oder als „unvollständig“ gezeigt werden.

---

# 8. Klare Empfehlung

## Weiterbauen wie geplant?

Ja — aber kontrolliert und nicht mit neuen Fancy-Features.

Die Architektur ist solide.
Der Fortschritt ist echt.
Aber der aktuelle Stand ist noch eher: **Crypto-MVP plus Portfolio-Grundgerüst**, nicht vollständiges Portfolio-Bewirtschaftungstool.

## Zuerst technische Schulden beheben?

Ja, eine kleine gezielte technische Schuld zuerst:

- Alert-Lifecycle fixen.
- Alte Stale-Price-Alerts müssen automatisch resolved werden, wenn Preise wieder frisch sind.

Das ist klein, aber wichtig, weil sonst die Data-Quality-Anzeige Vertrauen verliert.

## Zuerst Dashboard testen?

Teilweise ja.

Nach Alert-Fix sollte das Crypto Dashboard kritisch als Nutzer getestet werden:

- Was sieht man?
- Sind Warnungen korrekt?
- Keine Live-API?
- Keine echten Werte in Logs?
- Ist der Report verständlich?

## Zuerst echte Aktien-/ETF-Daten mappen?

Noch nicht als allererster Schritt.

Vorher sollte kommen:

1. Alert-Lifecycle fixen
2. Backup/Restore minimal einbauen
3. Import-Dry-Run-Wizard für Equity/ETF vorbereiten

Dann echte Aktien-/ETF-Daten mappen.

## Zuerst Backup/Restore einbauen?

Ja, vor produktivem Aktien-/ETF-Import unbedingt.

Minimalversion reicht:

- `backup-runtime-db`
- `restore-runtime-db --from ...`
- Backup vor Import automatisch oder per CLI
- Restore-Test
- Git-Safety danach

## Der nächste eine Schritt

Meine klare Empfehlung:

**Nächster Schritt: Phase A abschließen — Alert-Lifecycle für Crypto Data Quality fixen und verifizieren.**

Warum genau dieser Schritt?

- Crypto ist am nächsten an produktiver Nutzbarkeit.
- Aktuell gibt es fachlich widersprüchlichen Status:
  - Preise frisch
  - aber alte Stale-Alerts aktiv
- Das muss vor echten Dashboard-/Report-Entscheidungen sauber sein.
- Es ist begrenzt, testbar und verbessert direkt Vertrauen ins System.

Danach:

1. Minimal Backup/Restore
2. Equity/ETF Initial Snapshot Import Dry-Run
3. Erst dann echte PostFinance/True Wealth/Raiffeisen-Daten kontrolliert mappen.

Explanation:
**Clarifying data quality**

I need to count tests accurately, and pytest shows I have 110 tests. Do I need more tools? Maybe not, and I don't need the current date for this. I want to create a structured final report that mentions the remote HEAD and local HEAD details.

There's a contradiction in my data: I have fresh prices but stale alerts. The price table contains stale entries that aren't yet resolved. The user asked for the status, so I should mention the true asset values, like BTC holdings.
**Assessing missing data**

I need to identify which data hasn’t been imported, like equities, ETFs, accounts, market prices, FX rates, transactions, cash, watchlist, and decision journal. The usable modules include runtime config, git safety, and crypto management. I won’t need price values now.

I’m considering an MVP evaluation for crypto management, but I need to address the 14 active stale alerts before trusting the data quality. In chapter 2, I’ll list statuses using bullet points since tables don't work on Telegram. I'll keep it concise but detailed!