UX-11: Verwaltungsoberflächen für Regeln, Postfächer, Klärungskorb und E-Rechnung #125

Closed
patrick wants to merge 0 commits from feature/ux-11-verwaltungsoberflaechen-regeln-postfaecher-dms into integration/gesamtprojekt
pull from: feature/ux-11-verwaltungsoberflaechen-regeln-postfaecher-dms
Owner

UX-11: Verwaltungsoberflächen für Auto-Regeln (MET-05), Postfächer/Klärungskorb (INT-03/INT-04) und E-Rechnung-Ergebnis (MET-06/MET-07), aus der Lücke in VERGLEICHSANALYSE-QUELLSYSTEME.md.

Basis: integration/gesamtprojekt (Head 44ba59a). Kein Merge, kein Deploy.

Umsetzung

  • Neue Pakete dms/internal/mailimportapi, dms/internal/einvoiceapi, dms/internal/mailimport/manage.go (Store.List/Update/TestConnection, ApplyClarification).
  • apiwiring erweitert (MailStore/EinvoiceEnqueuer), 11 neue Operationen in openapi.json mit x-permission.
  • Migration 0014_dms_mail_einvoice_policy_rules (Core Registry): 12 neue dms.mail.*-Rechte, RBAC-10-Modulbindung.
  • Vier Oberflächen in web/dms-browser: /mail-accounts, /mail-rules, /clarification, /documents/{id}/einvoice. Bearer-Token-Anmeldung (UX-10-Muster).

Prüfungen (Details: dms/docs/UX-11-PRUEFPROTOKOLL.md)

  1. Rechtematrix: 401/403 negativ getestet, Postfachpasswort nie in Antworten — bestanden.
  2. Ende-zu-Ende (Regel-CRUD, Klärungskorb-Zuordnung mit DB-Nachweis, E-Rechnung-Ergebnis/Neuprüfung) — bestanden.
  3. Tastatur/axe/Reflow — offen (kein Chrome auf Entwicklungshost 204, bekannte Lücke wie UX-10).

Läufe auf 204

  • go build/vet/gofmt: sauber. go test ./... (gesamtes DMS-Modul): 0 FAIL.
  • scripts/migrations-fresh-check.sh (Wegwerf-Cluster): PASS, 89 Tabellen ohne Kollision.
  • web/dms-browser: tsc, vitest (190/195, 5 vorbestehende Skips, 0 neue Fehlschläge), next build — alle grün.

8 QA-Iterationen dokumentiert (u.a. Schema-Mismatch in Testfixtur, fehlerhafter Testhelfer der Listen-Antworten stillschweigend falsch dekodierte, granted_by-NOT-NULL in der Migration — real gegen den Core-Registry-Wegwerf-Cluster gefunden).

Offen

  • Browserlauf (Tastatur/axe) im Token-Modus.
  • Ordner-/Typ-/Tag-Auswahl im Klärungskorb ist ein ID-Eingabefeld, kein Picker-Widget.

🤖 Generated with Claude Code

UX-11: Verwaltungsoberflächen für Auto-Regeln (MET-05), Postfächer/Klärungskorb (INT-03/INT-04) und E-Rechnung-Ergebnis (MET-06/MET-07), aus der Lücke in `VERGLEICHSANALYSE-QUELLSYSTEME.md`. Basis: `integration/gesamtprojekt` (Head 44ba59a). Kein Merge, kein Deploy. ## Umsetzung - Neue Pakete `dms/internal/mailimportapi`, `dms/internal/einvoiceapi`, `dms/internal/mailimport/manage.go` (Store.List/Update/TestConnection, ApplyClarification). - `apiwiring` erweitert (MailStore/EinvoiceEnqueuer), 11 neue Operationen in `openapi.json` mit x-permission. - Migration `0014_dms_mail_einvoice_policy_rules` (Core Registry): 12 neue `dms.mail.*`-Rechte, RBAC-10-Modulbindung. - Vier Oberflächen in `web/dms-browser`: `/mail-accounts`, `/mail-rules`, `/clarification`, `/documents/{id}/einvoice`. Bearer-Token-Anmeldung (UX-10-Muster). ## Prüfungen (Details: dms/docs/UX-11-PRUEFPROTOKOLL.md) 1. Rechtematrix: 401/403 negativ getestet, Postfachpasswort nie in Antworten — bestanden. 2. Ende-zu-Ende (Regel-CRUD, Klärungskorb-Zuordnung mit DB-Nachweis, E-Rechnung-Ergebnis/Neuprüfung) — bestanden. 3. Tastatur/axe/Reflow — **offen** (kein Chrome auf Entwicklungshost 204, bekannte Lücke wie UX-10). ## Läufe auf 204 - `go build`/`vet`/`gofmt`: sauber. `go test ./...` (gesamtes DMS-Modul): 0 FAIL. - `scripts/migrations-fresh-check.sh` (Wegwerf-Cluster): PASS, 89 Tabellen ohne Kollision. - `web/dms-browser`: `tsc`, `vitest` (190/195, 5 vorbestehende Skips, 0 neue Fehlschläge), `next build` — alle grün. 8 QA-Iterationen dokumentiert (u.a. Schema-Mismatch in Testfixtur, fehlerhafter Testhelfer der Listen-Antworten stillschweigend falsch dekodierte, granted_by-NOT-NULL in der Migration — real gegen den Core-Registry-Wegwerf-Cluster gefunden). ## Offen - Browserlauf (Tastatur/axe) im Token-Modus. - Ordner-/Typ-/Tag-Auswahl im Klärungskorb ist ein ID-Eingabefeld, kein Picker-Widget. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
patrick added 10 commits 2026-09-22 12:19:46 +02:00
UX-11: verwaltungsoberflächen für regeln, postfächer, klärungskorb und e-rechnung
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
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
de374d0986
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
UX-11: pgconn.CommandTag statt pgx.CommandTag (build-fehler)
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Web (shl) (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
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
a82a3c7ffe
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
UX-11: testfixtur an mail_messages-schema angepasst (uid_validity/uid statt message_id)
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (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) (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
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
6b1d4fac9e
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
UX-11: doRequest-Testhelfer decodiert Listen korrekt (any statt map[string]any)
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
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
5254851d10
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
UX-11: test erwartet 422 statt 404 fuer nicht mehr im klaerungskorb befindliche nachricht
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (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 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
b938634d2f
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
UX-11: 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 (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
2fe1e8479d
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
UX-11: jest-dom-matcher entfernt (nicht global registriert), t()-interpolation manuell ersetzt
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
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
76efbc981f
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
UX-11: TLS/STARTTLS-Optionstexte uebersetzt (i18n-Abdeckungstest)
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
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
1be63f91f5
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
UX-11: migration 0014 an policy_rules-Schema angepasst (granted_by, policy_rule_changes-Protokoll wie 0011)
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
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
2381058ffd
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
UX-11: prüfprotokoll
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / Web (shl) (pull_request) 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
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 (Lint/Build/Test/Coverage/Artefakt) (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 (pdf-viewer) (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
Supply-Chain-Scan (npm) / npm-audit (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
df47332901
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
patrick closed this pull request 2026-09-25 23:30:36 +02:00

Pull request closed

This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: scripte/nexarch#125