# Extension-Readiness (ohne Architektur-Festlegung) Letzte Aktualisierung: 2026-03-09 ## Ziel Verbindliche Vorbedingungen fuer spaetere eigenstaendige Module festhalten, ohne jetzt eine konkrete Extension-Mechanik (Hooks/Lifecycle/Loader) zu standardisieren. ## Readiness-Checkliste vor neuem Modul 1. **Modulgrenzen klarziehen** - Betroffene Schichten benoennen (`pages -> Service -> Repository`). - Keine SQL-/Business-Logik in Templates oder `pages/*.phtml`. 2. **Contracts definieren** - Oeffentliche API-/UI-Contracts dokumentieren (Inputs, Outputs, Fehlerfaelle). - Bei API-Aenderungen `docs/openapi.yaml` im selben Merge pflegen. 3. **Security + Scope absichern** - AuthZ/RBAC serverseitig pruefen. - Tenant-Scope serverseitig pruefen. - POST-Mutationen mit CSRF absichern. 4. **Testbarkeit und Gates** - Architektur- und Domain-Tests fuer neue Logik ergaenzen. - Relevante Quality Gates (`QG-*`) im Merge reporten. 5. **Daten- und Betriebsfaehigkeit** - Schema-/Datenaenderungen fuer Bestandsinstallationen idempotent in `db/updates/*.sql`. - Logs/Audit ohne unredacted PII/Secrets. ## Bewusst Out of Scope in diesem Stand - Kein standardisierter Extension-Loader. - Kein Hook-/Plugin-Lifecycle. - Keine verbindlichen Modul-Ablageorte ausserhalb bestehender Schichten. ## Entscheidungslog fuer spaetere Standardisierung Wenn die Extension-Mechanik spaeter konkretisiert wird, muss die Entscheidung mindestens diese Punkte mitliefern: 1. Aktivierung/Deaktivierung und Reihenfolge von Modulen. 2. Versionierung und Migrationsstrategie pro Modul. 3. Sicherheits- und Tenant-Isolation pro Erweiterung. 4. Test- und Rollback-Strategie fuer Modul-Deployments.