# Sprint 14 — Performanceumfang und Coverage-Vertrag

Stand der read-only Inventur: 2026-07-27. Branchbasis: `9f2102ae25407dec1d8800e976186a112aea7825`.

## Verbindlicher Scope v1

`investment_performance_scope_v1` umfasst ausschliesslich:

- PostFinance `etrading_depot` als autoritative Depot-/Gesamtbewertung;
- PostFinance `etrading_cash` als zugehöriges Settlement-Cash und Quelle relevanter Cashflows;
- das durch einen verifizierten TrueWealth-Snapshot gebundene kanonische Totalwertkonto;
- Crypto als eigener erforderlicher Performancebaustein.

`efinance`, normale AKB-/Raiffeisenkonten und leere oder duplizierte Manual-/TrueWealth-Konten bleiben fachlich und historisch unverändert erhalten, sind aber keine Anlageperformance-Konten. Neue Konten starten technisch mit `performance_included=0`; eine Aufnahme erfordert eine explizite, auditgebundene Klassifikation. Das Konto-Flag ist eine DB-seitig geschützte Projektion dieser Klassifikation und kann nicht davon abweichen.

## Cashflow- und Renditevertrag

- Externe Einzahlung: positiver Cashflow von ausserhalb des gewählten Scopes.
- Externe Auszahlung: negativer Cashflow nach ausserhalb des Scopes.
- Transfers zwischen Konten desselben Scopes sind intern und beeinflussen weder TTWROR noch XIRR.
- TTWROR: Einzahlungen werden am Periodenanfang im Nenner, Auszahlungen am Periodenende im Zähler neutralisiert; jeder Cashflowtag benötigt eine gespeicherte Bewertung.
- XIRR: annualisierte persönliche Rendite mit tatsächlichen Kalendertagen; Anfangswert negativ, externe Einzahlungen negativ, externe Auszahlungen positiv, Endwert positiv.
- Unvollständige oder mehrdeutige Cashflowklassifikation führt zu `unavailable`, niemals zu einer Berechnung unter Weglassen der fraglichen Bewegung.
- Pro Performancekonto muss eine auditierte `performance_cashflow_coverage` den gesamten angefragten Zeitraum als `complete` bestätigen. Fehlende Transaktionen allein gelten nicht als Beleg für null externe Cashflows; ohne vollständige Evidenz bleiben TTWROR und XIRR `unavailable`.
- Kumulierte TTWROR und annualisierte TTWROR sind unterschiedliche Kennzahlen; unter einem Jahr wird TTWROR nicht annualisiert.

## Coverage-Matrix vor Sprint 14

| Scope | Verlässlicher Beginn | Bewertungen | Externe Cashflows | Positionsebene | TTWROR | XIRR | Zerlegung | Offene Lücke |
|---|---|---|---|---|---|---|---|---|
| PostFinance inkl. Settlement-Cash | noch nicht beurteilbar; Bewertungsanker ab 2026-05-14 | Account-Total 2026-05-14 und 2026-07-27; Instrumentwerte nur 2026-07-24 | Settlement-Historie vorhanden, aber ältere `external_cashflow`-Zeilen nicht durchgehend als Einzahlung/Auszahlung klassifiziert | nur ein belastbarer Stichtag | noch nicht beurteilbar | noch nicht beurteilbar | teilweise verfügbar | Cashflowklassifikation und Bewertungen an Cashflowgrenzen fehlen |
| TrueWealth kanonisches Total | 2026-06-30 | manueller Totalwert 2026-06-30, verifizierter offizieller Totalwert 2026-07-27 | keine belastbare vollständige externe Cashflowhistorie | nein, Totalwertkonto | teilweise verfügbar ab 2026-06-30 | noch nicht beurteilbar | teilweise verfügbar | persönliche Cashflows und Positionseffekte fehlen |
| Crypto | noch nicht beurteilbar | Preis-/Bestandsdaten existieren, aber keine reproduzierbare historische Portfoliobewertungsreihe | keine belastbare vollständige Ein-/Auszahlungshistorie | keine zeitlich konsistente Positionshistorie | noch nicht beurteilbar | noch nicht beurteilbar | noch nicht beurteilbar | Anfangsbestand, Folgewerte und Cashflows fehlen |
| Globaler Anlageumfang | noch nicht beurteilbar | kein gemeinsamer vollständiger Bewertungszeitraum aller drei Bausteine | unvollständig | unvollständig | noch nicht beurteilbar | noch nicht beurteilbar | noch nicht beurteilbar | Crypto und PostFinance-Cashflowgrenzen blockieren die Gesamtrechnung |

## Coverage nach Scope-Normalisierung

Die Metadatenmigration verändert keine fachliche Historie und erzeugt daher keine zusätzliche Rendite-Coverage. Sie beseitigt ausschliesslich falsche Erwartungen an Haushalts-/Cashkonten:

- Erwartete accountbasierte Performancekonten: PostFinance Depot, PostFinance Settlement-Cash und kanonisches TrueWealth-Totalwertkonto.
- Crypto bleibt ein erforderlicher nicht-accountbasierter Scopebestandteil.
- Zehn Konten werden von `performance_included=1` auf `0` normalisiert.
- Die Cash-Seite und ihre acht Positionen bleiben unverändert; ein Test auf einer Produktionskopie ergab vor/nach der Migration denselben Response-Digest.
- Wiederholtes Anwenden der Migration ist ein No-op; Schema bleibt Version 46 und `PRAGMA integrity_check` ergibt `ok`.

## Attribution-Vertrag `performance_attribution_chf_v1`

`Anlageergebnis = Endwert − Anfangswert − Netto externe Cashflows`.

Das Anlageergebnis wird in CHF übergeleitet auf:

1. Markt-/Preiseffekt;
2. Währungseffekt, inklusive Preis/FX-Interaktion;
3. Ausschüttungen und Zinsen;
4. Gebühren mit negativem Vorzeichen;
5. Steuern mit negativem Vorzeichen;
6. andere belegte Effekte;
7. offen ausgewiesenen, nicht zugeordneten Rest.

Preis und FX werden nur bei gleichen, zeitlich belegten Positionen und ohne ungeklärte Mengenbewegung getrennt. Andernfalls bleiben beide `null`; die bekannte Differenz steht sichtbar im Rest. Eine vollständige Zerlegung reconciliiert auf CHF 0.01.

## Preview-/Auditnachweis

Die privacy-sichere Preview vor der Metadatenänderung liegt ausserhalb von Git unter:

`/home/agent/jarvis_runtime/finance-system/sprint14-evidence/performance-scope-preview-20260727T212853+0200.json`

SHA-256: `1a23f0512ac468d82fca047d3b8a130970af361833295207298666ce1166cb2e`.
