root and Claude Sonnet 5
74b45c64ba
CUT-02: Einstiegspunkt cutover-generalprobe und End-to-End-Integrationstests
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-10-14 22:45:25 +00:00
patrick and Claude Sonnet 5
8f75ab3b37
CUT-01: trockenlauf-1-entwicklung - orchestrator erster entwurf
...
Orchestrator (internal/cutoverorchestrator, cmd/cutover-dryrun) fuer den
Trockenlauf aller Migrationspakete gegen eine vollstaendig synthetische
Testkopie: Ablaufplan mit Abhaengigkeitspruefung, Abbruch beim ersten
Fehler, JSON-/Textprotokoll mit Redigierung von Zugangsdaten, Generator
und Anonymisierungsnachweis der Testkopie.
Modulstufen (dms/mail/archive/workflow cmd/cutover-stage) liefern die
Quell-Adapter und rufen die bestehenden Migratoren der jeweiligen Module
auf, da deren internal-Pakete aus dem Root-Modul nicht importierbar sind.
migrationdocument.DocumentID macht die DOK-01-Ziel-ID fuer TAR-01/TAR-02
im Archive-Modul verfuegbar.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-10-14 20:45:03 +00:00
patrick
a49d73cbb0
Merge pull request 'VAL-01: Zeilenzahl-Abgleich je Kerntabelle' ( #274 ) from feature/val-01-zeilenzahl-abgleich-kerntabelle into main
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
2026-10-14 22:10:12 +02:00
patrick and Claude Sonnet 5
628be89c9a
VAL-01: zeilenzahl-abgleich-kerntabelle
...
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
Core-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
RBAC-Rollenhierarchie-Pflichtgate / rbac-policy-invariant (pull_request) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (pull_request) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (pull_request) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-10-14 20:07:29 +00:00
patrick and Claude Sonnet 5
8b87e97183
MAP-03: user-export-email-abgleich-tenant
...
Export der users-Tabellen aus archivmail/archivdms (internal/usermatch)
und E-Mail-Abgleich ausschliesslich innerhalb bereits per MAP-02
freigegebener Tenants (tenantapproval.Store.Approved()). Kandidatenliste
als CSV, kein automatischer Merge -- Freigabe bleibt MAP-04.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-10-14 20:03:57 +00:00
patrick
10a305b4cf
Merge pull request 'MAP-01: Tenant-Export und Slug/Domain-Abgleich' ( #254 ) from feature/map-01-tenant-export-slug-domain-abgleich into main
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
2026-10-13 13:37:54 +02:00
patrick and Claude Sonnet 5
3083a6cff1
MAP-01: Export- und Matching-Logik fuer Tenant-Slug-/Domain-Abgleich
...
Generischer SQL-Export der tenants-Tabellen (slug/name/domain), automatischer
Abgleichsvorschlag per Slug- (hart) und Domain-Matching (weicher Fallback) mit
Konfidenzwert, uebersteuerbar durch eine manuell gepflegte CSV-Zuordnungsliste.
Konflikte zwischen automatischem Vorschlag und manueller Liste werden sichtbar
markiert, nie still aufgeloest. Ausgabe als Kandidatenliste (CSV), direkt
nutzbar als Eingabe fuer die menschliche Freigabe in tenant_migration_map
(COR-01/MAP-02).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-10-13 11:00:41 +00:00
patrick and Claude Sonnet 5
dace71e6a9
COR-02: benutzer-migration inkl-passwort-hashes
...
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (pull_request) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (pull_request) Canceled after 0s
Core-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
RBAC-Rollenhierarchie-Pflichtgate / rbac-policy-invariant (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (pull_request) Canceled after 0s
Uebernahme freigegebener Benutzer aus user_migration_map in Core IAM-01,
bcrypt-Hashes 1:1 ohne Rehash, analog zu COR-01s Tenant-Migration-Pattern.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-10-13 10:52:12 +00:00
root and Claude Sonnet 5
3903544d11
COR-01: tenant-datenmodell-migration
...
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
Core-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
RBAC-Rollenhierarchie-Pflichtgate / rbac-policy-invariant (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (pull_request) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (pull_request) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
Uebernahme freigegebener tenant_migration_map-Eintraege (MAP-02) als
Core-Tenants (TEN-01), tenants.id folgt der bereits freigegebenen
nexarch_tenant_id. Idempotent, kein Import ohne Freigabe.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-28 06:11:06 +00:00
patrick and Claude Sonnet 5
b2bd1c4c1a
API-22: modul endpunkt discovery
...
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (pull_request) Canceled after 0s
RBAC-Rollenhierarchie-Pflichtgate / rbac-policy-invariant (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (pull_request) Canceled after 0s
Core-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-28 04:56:41 +00:00
patrick and Claude Sonnet 5
45ecd69ee9
INT-21: native android erfassungs app
...
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
Core-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
RBAC-Rollenhierarchie-Pflichtgate / rbac-policy-invariant (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (pull_request) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (pull_request) Canceled after 0s
Backend (kleinstmoeglich, wie im Ticket vorgesehen):
- internal/auth: TokenIssuer.IssueWithTTL, LoginService.LoginWithTTL
(additiv, bestehende Issue/Login unveraendert)
- internal/totp: LoginWithTOTPTTL (durchlaeuft denselben 2FA-Ablauf)
- cmd/account-api: neue Route POST /auth/mobile-login (JSON-Token statt
Cookie, 90 Tage TTL statt 30 Minuten)
Android-App (android/dms-capture, Kotlin, Gradle-Projekt):
- CameraX-Erfassung mit Live-Vorschau, erneuter Aufnahme, Mehrseiten-
Sammlung (AC2)
- Ruft ausschliesslich die bestehende DOC-01-Upload-API auf, kein neuer
Backend-Uploadpfad (AC3) -- echter Architektur-Fund dabei: dms-app
erwartet ein audience-gebundenes Modul-Token (aud=dms), kein rohes
Sitzungstoken; App tauscht ueber den bereits bestehenden Endpunkt
POST /auth/module-token (Cookie-Header), dokumentiert im Pruefprotokoll
- Room-basierte Offline-Warteschlange mit sichtbarem Status, WorkManager
fuer automatische Nachreichung ohne Nutzeraktion (AC4)
- Verstaendliche Fehlermeldungen bei Groessen-/Typ-Ablehnung statt nur
Fehlercode (AC5)
- Internes APK, kein Play-Store-Zwang (AC6)
Real getestet: Ende-zu-Ende-Auth-Kette (Login -> Modul-Token -> Bearer
gegen echten dms-app) auf Host 204, 13/13 Kotlin-Unit-Tests gruen, echter
APK-Build auf Host 236 (Android-SDK dort vorhanden, kein Install auf der
Entwicklungsmaschine, Gradle projektlokal nachgezogen statt System-Install).
Offen (Pruefprotokoll): Kamera-/Offline-/Smoke-Install-Pruefungen
brauchen einen Android-Emulator; kein System-Image auf Host 236
installiert, Nachinstallation bewusst nicht ohne Rueckfrage vorgenommen.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-26 14:34:46 +02:00
Claude and Claude Sonnet 5
f07fe4c596
INT-14: fehlenden Core-Endpunkt GET /tenants/{slug} ergaenzen
...
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
DMS' und Archives internal/tenantregistryclient (INT-14) riefen bereits
GET /tenants/{slug} mit X-Service-Token gegen Core auf, aber Core
registrierte diese Route nirgends -- jeder Aufruf schlug mit 404 fehl.
Beim Rollout-131-Versuch entdeckt.
Neuer Handler tenant.ConfirmHandler nutzt die bestehende Registry.GetBySlug,
dieselbe svcauth.Require-Absicherung wie TEN-12s Import-Verzeichnis-Routen
(kein neues Auth-Schema). 200 mit Slug/Status bei bekanntem Mandanten, 404
bei unbekanntem, 500 nur bei echtem DB-Fehler -- der bestehende Client
wertet ausschliesslich den Statuscode aus.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-26 01:36:46 +02:00
patrick and Claude Sonnet 5
637998a322
TEN-12: import-verzeichnisse-je-tenant-in-der-registry-fuehren
...
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-23 00:17:27 +02:00
patrick
2cb48e6e73
Merge PR #122 (OPS-08/09/10 Haertungsbuendel)
2026-09-22 11:22:43 +02:00
patrick and Claude Sonnet 5
1e3fa43229
AUD-08: audit-export ohne token in der url
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-22 10:29:26 +02:00
patrick
8bdc0f13c2
gofmt
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
2026-09-22 10:25:25 +02:00
patrick and Claude Sonnet 5
74c052a3e4
OPS-10: F-25 Neuverpackung der Modul-Signaturschluessel bei Schluesselwechsel (RewrapAll, -rewrap-module-keys)
...
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-22 10:24:50 +02:00
patrick and Claude Sonnet 5
17988c53c9
IAM-23: sitzungssignatur asymmetrisch (Ed25519), HS256-Mindestlaenge, Uebergangs-Dualmodus
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-22 10:22:49 +02:00
patrick and Claude Sonnet 5
8327a25278
OPS-10: F-24 einheitliche Lauschadressen (127.0.0.1), F-22 Webhook-Ziel-Pruefung (SSRF) und verschluesseltes Signaturgeheimnis
...
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (push) Canceled after 0s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-22 10:21:25 +02:00
patrick and Claude Sonnet 5
052d63aadb
QA-15 F-06: TOTP-Secrets verschluesselt speichern, Replay-Schutz, Sitzungswiderruf bei Passwortaenderung
...
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-22 08:55:54 +02:00
patrick
e5516ee213
Merge remote-tracking branch 'origin/feature/qa-15-phase2b-sicherheitsbehebung' into integration/gesamtprojekt
2026-09-22 02:50:47 +02:00
patrick
641940d06c
Merge remote-tracking branch 'origin/feature/qa-15-phase2a-sicherheitsbehebung' into integration/gesamtprojekt
...
# Conflicts:
# cmd/policy-api/main.go
2026-09-22 02:50:43 +02:00
patrick and Claude Sonnet 5
d4c92dd0a8
QA-15 F-07: aud und iss im Modul-JWT ausstellen und im DMS pruefen
...
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-22 00:57:09 +02:00
patrick and Claude Sonnet 5
b52f46ca15
QA-15 Phase 2a: gofmt handler.go, Testzaehler je Pfad
...
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-22 00:54:03 +02:00
patrick and Claude Sonnet 5
e53aaa06c7
IAM-21: Kontosperre und Quelladressen-Limit im Login, Passwort vor zweitem Faktor (QA-15 F-04)
...
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-22 00:49:27 +02:00
patrick and Claude Sonnet 5
9aa69d3801
TEN-13/LIC-07: Dienst-Token fuer interne Admin-Endpunkte, Loopback-Standard, CORS-Ursprungsliste, Proxy in den Admin-Oberflaechen (QA-15 F-01..F-03)
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-22 00:49:27 +02:00
patrick and Claude Sonnet 5
c5fddad8a5
API-17: gehaertete HTTP-Server (Timeouts, Body-Limit) in allen Diensten (QA-15 F-05)
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-22 00:49:27 +02:00
patrick
72381818a4
Merge #108 RBAC-10: Mandant und Modulaktivierung in authorize
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
2026-09-21 23:56:19 +02:00
patrick and Claude Sonnet 5
e57b0d23b6
API-16: persistente modul-signaturschlüssel und rotation
...
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (push) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
Signaturschluessel der Modul-JWTs liegen verschluesselt in der Mandanten-Datenbank
(module_signing_keys), werden von mehreren Instanzen geteilt und rotieren mit
Ueberlappung; nicht lesbarer Speicher ergibt 503 statt Token/JWKS.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-21 23:42:00 +02:00
patrick and Claude Sonnet 5
824e2d8b10
RBAC-10: imports in policy-api, struktur des EnforceConfig
...
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-21 23:38:40 +02:00
patrick and Claude Sonnet 5
b3ba0fdfa6
RBAC-10: mandant und modulaktivierung in authorize
...
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
POST /authorize nimmt optional den Mandanten entgegen und wertet modulgebundene Rechte ueber AuthorizeForTenant aus (fail closed). Mandant ist Pflicht fuer Rechte mit Modul-Bindung, das Service-Token laesst sich auf Mandanten einschraenken. Migration 0012 bindet die dms.*-Rechte an das Flag dms. Der DMS-policyclient sendet den Mandanten mit und trennt den Cache je Mandant.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-21 23:38:02 +02:00
patrick and Claude Sonnet 5
1fac08f341
API-15: modul-jwt mit rollen-claim und token-austausch
...
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (push) Canceled after 0s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-21 22:31:20 +02:00
patrick and Claude Sonnet 5
ec883a9bb0
API-14: jwks-endpunkt im core-kontodienst
...
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-21 22:30:10 +02:00
patrick and Claude Sonnet 5
6c68ac3526
Gesamtprojekt: account-api an IAM-17-Signatur von auth.NewHandler angepasst (Admin-Widerruf deaktiviert)
...
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-21 13:54:41 +02:00
patrick
0418c5f579
Merge remote-tracking branch 'origin/feature/qa-01-teststrategie-core' into integration/gesamtprojekt
...
# Conflicts:
# DEVLOG.md
# go.sum
2026-09-21 13:52:00 +02:00
patrick
6a555957da
Merge remote-tracking branch 'origin/feature/api-12-kek-bezugsdienst-starten' into integration/gesamtprojekt
2026-09-21 13:51:53 +02:00
patrick
087fd1464e
Merge remote-tracking branch 'origin/feature/api-11-wiederanlauf-nachsynchronisierungs-endpunkt-starten' into integration/gesamtprojekt
...
# Conflicts:
# go.sum
# scripts/reset-test-env.sh
2026-09-21 13:51:53 +02:00
patrick
73e4e1580f
Merge remote-tracking branch 'origin/feature/iam-16-login-account-dienst-starten' into integration/gesamtprojekt
2026-09-21 13:51:39 +02:00
patrick
1694a82914
Merge remote-tracking branch 'origin/feature/cfg-06-benachrichtigungs-einstellungen-dienst-starten' into integration/gesamtprojekt
2026-09-21 13:51:39 +02:00
patrick
bfbd7a7738
Merge remote-tracking branch 'origin/feature/cfg-05-modulübergreifender-http-endpunkt-für-benachrichtigungs-ereignisse' into integration/gesamtprojekt
...
# Conflicts:
# scripts/reset-test-env.sh
2026-09-21 13:51:39 +02:00
patrick
b19192fc22
Merge remote-tracking branch 'origin/feature/rbac-07-rechte-administrations-dienst-starten' into integration/gesamtprojekt
2026-09-21 13:51:24 +02:00
patrick
5ce5a3c763
Merge remote-tracking branch 'origin/feature/ten-09-registry-h-rtung-zugriffsschutz' into integration/gesamtprojekt
...
# Conflicts:
# internal/opsdocs/opsdocs.go
2026-09-21 13:51:24 +02:00
patrick and Claude Sonnet 5
8b467d4ef5
AUD-08: REST-Ingest-Endpunkt fuer Audit-Ereignisse externer Module
...
Supply-Chain-Scan (Go) / govulncheck (pull_request) Failing after 1m54s
RBAC-Rollenhierarchie-Pflichtgate / rbac-policy-invariant (pull_request) Successful in 1m27s
Supply-Chain-Scan (Go) / govulncheck (push) Failing after 51s
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Successful in 1m31s
Supply-Chain-Scan (npm) / npm-audit (pull_request) Failing after 1m16s
Core exponierte bislang nur GET /audit/export (AUD-03) - physisch
getrennte Module (Archive, DMS, Mail) hatten keinen Weg, eigene
sicherheitsrelevante Vorgaenge im zentralen Audit-Log zu vermerken.
IngestHandler (POST /audit/ingest, X-Service-Token) ruft denselben
alleinigen Schreibpfad wie core-interne Aufrufer auf (audit.Log.Record) -
kein zweiter, laxerer Validierungspfad ueber REST.
Notwendige Grundlage fuer Archive CMP-04 (Audit-Trail-Kopplung an
Core-Audit-Log), das per REST an dieses Modul anbindet.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-17 16:40:27 +02:00
patrick and Claude Sonnet 5
4fc361b462
TEN-09: registry-h-rtung-zugriffsschutz
...
Supply-Chain-Scan (Go) / govulncheck (push) Failing after 41s
Haertet die Control-Plane-Registry als eigene Schutzzone:
- Dedizierte Postgres-Rolle nexarch_registry (ohne CREATEDB) fuer
NEXARCH_REGISTRY_DSN, getrennt von der Provisioning-Rolle nexarch_core
(deploy/install.sh). Neu angelegte Tenant-Datenbanken entziehen PUBLIC
explizit das CONNECT-Recht (internal/tenant/provisioner.go), damit die
Registry-Rolle unter keinen Umstaenden Zugriff auf eine Tenant-Datenbank
erhaelt (Akzeptanzkriterium 1).
- Auditierte Zugriffsmethoden (*AsActor) fuer Superadmin-Konten
(internal/user.SuperadminStore) und Verbindungsinformationen
(internal/tenant.Registry) — jeder lesende/schreibende Zugriff erzeugt
einen Audit-Event mit Akteur und Zeitstempel, verdrahtet in
internal/tenantadmin (TEN-05-Konsole) und cmd/core (Akzeptanzkriterium 2).
- Betriebsanleitung docs/TEN-09-REGISTRY-BETRIEB.md dokumentiert
Rollentrennung und den auf den Core-Dienst beschraenkten Netzwerkzugriff
(pg_hba.conf, listen_addresses, Firewall-Default-Policy), abgesichert
durch internal/opsdocs/registry_hardening_test.go (Akzeptanzkriterium 3).
Automatisierte Tests je Akzeptanzkriterium: internal/tenant/isolation_test.go
(negativer Zugriffstest), internal/audit/wiring_test.go
(TestWiring_SuperadminReadIsAudited, TestWiring_RegistryConnectionInfoReadIsAudited),
internal/opsdocs/registry_hardening_test.go.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01QPsyieCYwvbUBsnN598SbP
2026-09-17 01:37:40 +02:00
sysops
1e8a6c22cd
API-12: kek-bezugsdienst-starten
...
- cmd/kek-api: startet internal/kek.Handler.TenantKEKHandler (API-10),
tenantResolverAdapter bildet tenant.Registry.GetBySlug auf
kek.TenantResolver ab (nur Signatur-Anpassung)
- reines Wiring, kein Diff an internal/kek|moduleregistry|tenant
(verifiziert)
- real deployed auf 131, end-zu-ende bewiesen: echtes Modul
registriert+provisioniert, echter Tenant-KEK erzeugt, curl gegen
laufenden Dienst liefert exakt denselben KEK zurueck (byte-fuer-byte
verglichen), falsches Credential -> 403
- reale Grant-Luecke gefunden und behoben (nexarch_core auf
tenant_keks), verifiziert
Pruefungen siehe docs/API-12-PRUEFPROTOKOLL.md
2026-08-30 23:54:07 +02:00
sysops
4be7853611
CFG-06: benachrichtigungs-einstellungen-dienst-starten
...
- cmd/notifyprefs-api: startet internal/notifyprefs.Handler (CFG-04),
hinter auth.RequireAuth mit demselben JWT-Secret wie IAM-16
- reines Wiring, kein Diff an internal/notifyprefs/ (verifiziert)
- real deployed auf 131, cross-service-Session real bewiesen: Login
gegen account-api, dasselbe Cookie gegen notifyprefs-api verwendet ->
echtes Setzen und Lesen einer Praeferenz, ohne Cookie -> 401
- nutzt dieselbe nexarch_registry-DB wie CFG-05, Grants bereits
vorhanden
Pruefungen siehe docs/CFG-06-PRUEFPROTOKOLL.md
2026-08-30 21:48:09 +02:00
sysops
bc46c3e320
RBAC-07: rechte-administrations-dienst-starten
...
- cmd/rbac-admin-api: startet internal/rbac.Handler (RBAC-05), hinter
auth.RequireAuth mit demselben JWT-Secret wie IAM-16 (account-api)
- reines Wiring, kein Diff an internal/rbac/ (verifiziert)
- real deployed auf 131, cross-service-Session real bewiesen: Login
gegen account-api (Port 8099), dasselbe Session-Cookie gegen
rbac-admin-api (Port 8100) verwendet -> echte Rollenliste, ohne
Cookie -> 401
- Migrationen (role_assignments/groups) real auf tenant_acme
angewendet, reale Grant-Luecke behoben und verifiziert
- Bootstrap-Erkenntnis dokumentiert: ListRoles selbst verlangt bereits
eine Rolle mit PermManageUsers, Testnutzer daher mit direkter
DB-Bootstrap-Rolle angelegt (wie Ersteinrichtung)
Pruefungen siehe docs/RBAC-07-PRUEFPROTOKOLL.md
2026-08-30 21:24:35 +02:00
sysops
3b3991f54f
IAM-16: login-account-dienst-starten
...
- cmd/account-api: tenant-gescopter Login/Account-Dienst, setzt die
fertigen IAM-08-Handler zusammen (auth, authtoken, totp) - Login ueber
totp.Handler.Login (deckt 2FA optional mit ab), Passwort-Reset ueber
authtoken.LogNotifier (IAM-08s eigene Uebergangsloesung)
- reines Wiring, kein Diff an internal/auth|authtoken|totp|user
(verifiziert)
- real deployed auf 131, end-zu-ende per curl: falsches Passwort->401,
korrektes Passwort->echte Session-Cookie, geschuetzter Endpunkt mit
Cookie->200 (echte Nutzerdaten), ohne Cookie->401
- Migrationen (users/totp/password_tokens) real auf tenant_acme
angewendet, reale Grant-Luecke behoben und verifiziert
- RBAC-05s Board-dependsOn um IAM-16 ergaenzt (RBAC-05 braucht dieselbe
Auth-Middleware, bei Sichtpruefung festgestellt)
Pruefungen siehe docs/IAM-16-PRUEFPROTOKOLL.md
2026-08-30 21:18:57 +02:00
sysops
d6e9412043
API-11: wiederanlauf-nachsynchronisierungs-endpunkt-starten
...
- Merge API-02 (bereits Vorfahre), AUD-01, LIC-03 in API-06-Branch, um
echte Produktionsimplementierungen fuer resync.Handler zu erhalten
(moduleregistry.Registry, audit.Log, usage.Store) - go.mod/go.sum/
scripts/reset-test-env.sh additiv zusammengefuehrt, keine Logikkonflikte
- cmd/resync-api: startet internal/resync.Handler (API-06) als
eigenstaendigen HTTP-Dienst, kleiner auditAdapter fuer Signatur-
Anpassung (kein neuer Fachcode)
- reines Wiring, kein Diff an internal/resync|audit|usage|moduleregistry
(verifiziert)
- real deployed auf 131, end-zu-ende per curl mit echtem, ueber
moduleregistry.Registry.Provision ausgestelltem Service-Credential:
angewendetes usage-delta real in usage_counters bestaetigt, falsches
Credential -> 401
- reale Grant-Luecke gefunden und behoben (nexarch_core auf modules/
module_credentials/audit_events/feature_flags/usage_counters/
resync_*_buffer), ueber information_schema verifiziert
Pruefungen siehe docs/API-11-PRUEFPROTOKOLL.md
2026-08-30 20:14:07 +02:00
sysops
23a3cc1a62
CFG-05: modulübergreifender-http-endpunkt-für-benachrichtigungs-ereignisse
...
- internal/notifyapi.Mount (POST /notify/enqueue), reiner Wrapper um
notifyprefs.EnqueueIfAllowed (CFG-04)
- Reuse von internal/policyapi.RequireServiceToken (RBAC-06), kein
neues Provisorium, eigener Service-Token pro Endpunkt
- Tests: 401 ohne Token, Aequivalenz HTTP vs. direkter Aufruf
(aktiviert/deaktiviert), realer Fremd-Modul-Client mit echter
notification_jobs-Zeile
- real deployed auf 131 (notify-api, Port 8094), Grant-Nachverfolgung
fuer nexarch_core auf notification_preferences/notification_jobs,
end-zu-ende per curl nachgewiesen (401, job_id+skipped:false)
Pruefungen siehe docs/CFG-05-PRUEFPROTOKOLL.md
2026-08-30 09:04:31 +02:00