# MODEL GOVERNANCE — Bayesian Risk Projection

> **Σκοπός:** Να είναι το μοντέλο **documented, versioned, monitored και
> εγκρινόμενο** — ώστε ένας institutional client / model validator να μπορεί
> να το ελέγξει (SR 11-7-style λογική, προσαρμοσμένη σε early-warning use case).
> **Αρχή:** Καμία αλλαγή στο μοντέλο χωρίς version bump, backtest και αρχείο.

---

## 1. Ρόλοι

| Ρόλος | Ευθύνη | Πρόσωπο (v1) |
|---|---|---|
| **Model Owner** | Σχεδιασμός/αλλαγές μοντέλου, documentation | Πάνος (Infosphere) |
| **Validator** | Ανεξάρτητος έλεγχος μεθοδολογίας/αποτελεσμάτων | Σταύρος (νομικός/εξωτερικός σύμβουλος) ή client-side validator |
| **Approver** | Έγκριση νέας version για production | Model Owner + Validator sign-off |
| **Operator** | Backtests, monitoring, incidents | Dev/ops (scheduler + scripts) |
| **Auditor** | Πρόσβαση σε reports/versions | Πελάτης (κατόπιν NDA) — endpoint + docs |

## 2. Διαδικασία αλλαγής (Change Management)

1. **Πρόταση**: τι αλλάζει (prior/LR/indicator/outcome), γιατί, αναμενόμενη επίδραση.
2. **Backtest**: `scripts/backtest_risk_model.py` πριν και μετά (ίδιο dataset).
3. **Review**: Validator ελέγχει μεθοδολογία + calibration/Brier + limitations.
4. **Έγκριση + Version bump** (`bayes-risk-v1.x`) — καταχώριση στο MODEL_CARD §7.
5. **Deploy** (md5-verified) + **post-deploy check** (endpoint report).
6. **Αρχείο**: η απόφαση και τα νούμερα μένουν στο `model_governance_runs`.

**Απαγορεύεται:** αλλαγή LR/prior χωρίς version bump· «γρήγορο fix» χωρίς backtest·
αλλαγή ορισμού outcome χωρίς re-run όλων των ιστορικών συγκρίσεων.

## 3. Monitoring (συνεχές)

| Μετρική | Συχνότητα | Όριο/ενέργεια |
|---|---|---|
| Resolved predictions | μηνιαία | <50 → calibration/challenger = «not ready» (δηλώνεται) |
| Brier vs baseline | μηνιαίο backtest | skill < 0 επί 2 κύκλους → review |
| Calibration error ανά bin | μηνιαία | >0.15 σε bin με n≥20 → σήμα recalibration |
| Coverage κατανομή | μηνιαία | αύξηση missing → δεδομένα (backfill) |
| Drift (κατανομή probability) | μηνιαία | απότομη μετατόπιση → investigation |

Το live report: `GET /api/investsense/model-governance` (spec, usage, Brier,
calibration, challenger, last run).

## 4. Incidents

- **Αποτυχία backtest/ασυνέπεια** → freeze αλλαγών, root cause, επανάληψη.
- **Outcome bug** (π.χ. λάθος resolution) → διόρθωση + re-resolve + re-backtest
  + καταχώριση incident.
- **Data gap** (π.χ. ΓΕΜΗ 429) → δεν αλλάζει το μοντέλο· δηλώνεται ως coverage.

## 5. Escalation

1. Operator → Model Owner (τεχνικό).
2. Model Owner → Validator (μεθοδολογία/αποτέλεσμα).
3. Validator → Approver (κρίσιμη αλλαγή/απόκλιση).
4. Πελάτης → Auditor access (reports/versions) κατόπιν NDA.

## 6. Τεκμήρια (audit trail)

- `docs/model_governance/MODEL_CARD_BAYESIAN_RISK.md` — προδιαγραφή/version.
- `model_governance_runs` (Mongo) — κάθε backtest με timestamp/μετρικές.
- `invest_risk_predictions` — κάθε πρόβλεψη + Brier όταν ωριμάσει.
- `model_registry` — challenger model (coefficients, trained_at, metrics).
- Git history — κάθε αλλαγή κώδικα με μήνυμα + tests.

## 7. Όρια χρήσης (ρητά)

- Το μοντέλο είναι **early warning**, όχι credit decision/rating.
- Δεν χρησιμοποιείται για αυτόματη απόρριψη πελατών/χρηματοδοτήσεων.
- Κάθε εξωτερική χρήση συνοδεύεται από το disclaimer και την version.
