refactor: weitere identische Pakete nach common/ (Batch 2) #377

Closed
patrick wants to merge 1 commits from refactor/common-batch-2 into refactor/common-modul-pilot
pull from: refactor/common-batch-2
Owner

Stackt auf #376 (Pilot common/), Base-Branch refactor/common-modul-pilot. Nach Merge von #376 auf main umstellen.

Änderung

Weitere Pakete nach common/, jeweils nur dort, wo der Code ohne Kommentare und Importpfade byte-gleich ist (per normalisierter Prüfsumme belegt, nicht nur nach Paketnamen):

Paket zusammengeführt aus bleibt lokal
httpclient ai, connect Root (strengerer Wächtertest http.Client{}), dms/mail/archive schon in #376
svcauth archive, ai, workflow Root (anderes Paket)
auditclient ai, connect, archive –
tenantregistryclient dms, ai, workflow archive (nutzt httpclient.Default())
policyclient mail, connect dms (eigene, größere Variante)
httpharden Root, archive dms (ohne Normalize, hängt an #375)
loadtest mail, ai archive, connect (abweichend)
  • go.mod (require + replace) für ai, connect, workflow
  • Sicherheit: svcauth (Konstantzeit-Vergleich) und tenantregistryclient waren in den Pflichttest-Gates von ai/workflow als sicherheitskritisch gelistet. Die Gates kennen jetzt zusätzlich common/svcauth/ und common/tenantregistryclient/, die CI-Pfadfilter common/**, sonst fiele die Absicherung beim Verschieben still weg
  • reine Import-Sortierung per gofmt in 34 berührten Dateien (je 1 Zeile)

Bewusst nicht zusammengeführt

notifyclient (87/85/83 Zeilen, verschiedene Fassungen), pflichttestgate (modulspezifische Pfadlisten, müsste parametrisiert werden), migrate und testdb (brauchen pgx in common, also externe Abhängigkeit + go.sum; bei testdb zusätzlich Schema-Präfix-Kollisionsgefahr zwischen Modulen), policyclient/tenantregistryclient/httpharden jeweils die abweichende Variante.

Verifikation (Host 131, frisches Wurfverzeichnis)

  • go build ./... sauber in common, Root, dms, mail, archive, ai, connect, workflow
  • go test grün in common, dms, archive, ai, connect
  • Rot, wie auf main: internal/archtest (ai-Fixture ruft ListenAndServe direkt), mail/internal/mailapi (OpenAPI), workflow/internal/contracttest (Signatur, behoben in #374), mail/internal/qa09gate (nur wegen fehlendem .git im Wurfverzeichnis)
  • Nicht geprüft: DB-abhängige Tests (kein TEST_ADMIN_DSN)

🤖 Generated with Claude Code

Stackt auf #376 (Pilot `common/`), Base-Branch `refactor/common-modul-pilot`. Nach Merge von #376 auf `main` umstellen. ## Änderung Weitere Pakete nach `common/`, jeweils nur dort, wo der Code ohne Kommentare und Importpfade byte-gleich ist (per normalisierter Prüfsumme belegt, nicht nur nach Paketnamen): | Paket | zusammengeführt aus | bleibt lokal | |---|---|---| | `httpclient` | ai, connect | Root (strengerer Wächtertest `http.Client{}`), dms/mail/archive schon in #376 | | `svcauth` | archive, ai, workflow | Root (anderes Paket) | | `auditclient` | ai, connect, archive | – | | `tenantregistryclient` | dms, ai, workflow | archive (nutzt `httpclient.Default()`) | | `policyclient` | mail, connect | dms (eigene, größere Variante) | | `httpharden` | Root, archive | dms (ohne `Normalize`, hängt an #375) | | `loadtest` | mail, ai | archive, connect (abweichend) | - `go.mod` (`require` + `replace`) für ai, connect, workflow - **Sicherheit:** `svcauth` (Konstantzeit-Vergleich) und `tenantregistryclient` waren in den Pflichttest-Gates von ai/workflow als sicherheitskritisch gelistet. Die Gates kennen jetzt zusätzlich `common/svcauth/` und `common/tenantregistryclient/`, die CI-Pfadfilter `common/**`, sonst fiele die Absicherung beim Verschieben still weg - reine Import-Sortierung per `gofmt` in 34 berührten Dateien (je 1 Zeile) ## Bewusst nicht zusammengeführt `notifyclient` (87/85/83 Zeilen, verschiedene Fassungen), `pflichttestgate` (modulspezifische Pfadlisten, müsste parametrisiert werden), `migrate` und `testdb` (brauchen `pgx` in `common`, also externe Abhängigkeit + `go.sum`; bei `testdb` zusätzlich Schema-Präfix-Kollisionsgefahr zwischen Modulen), `policyclient`/`tenantregistryclient`/`httpharden` jeweils die abweichende Variante. ## Verifikation (Host 131, frisches Wurfverzeichnis) - `go build ./...` sauber in `common`, Root, dms, mail, archive, ai, connect, workflow - `go test` grün in `common`, dms, archive, ai, connect - Rot, **wie auf `main`**: `internal/archtest` (ai-Fixture ruft `ListenAndServe` direkt), `mail/internal/mailapi` (OpenAPI), `workflow/internal/contracttest` (Signatur, behoben in #374), `mail/internal/qa09gate` (nur wegen fehlendem `.git` im Wurfverzeichnis) - Nicht geprüft: DB-abhängige Tests (kein `TEST_ADMIN_DSN`) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
patrick added 1 commit 2026-10-27 14:06:11 +01:00
refactor: weitere identische Pakete nach common/ (svcauth, auditclient, tenantregistryclient, policyclient, httpharden, loadtest, httpclient)
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) Canceled after 0s
Archive-Schnittstellen-Vertragstests / contract-tests (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 / 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 / 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
AI-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
Archive-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
Archive-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
Connect-Schnittstellen-Vertragstests / contract-tests (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
Workflow-Schnittstellen-Vertragstests / contract-tests (push) Canceled after 0s
Connect-Schnittstellen-Vertragstests / contract-tests (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
Mail-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
Mail-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
Workflow-Pflichttest-Gate / pflichttest-gate (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 (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
CI / Web (shl) (pull_request) Canceled after 0s
Mail-Schnittstellen-Vertragstests / contract-tests (push) 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
Workflow-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
7515b8db4d
Nur Pakete, deren Code ohne Kommentare/Importpfade byte-gleich ist:
- httpclient: ai, connect (Root behaelt eigene Kopie wegen strengerem Waechtertest)
- svcauth: archive, ai, workflow
- auditclient: ai, connect, archive
- tenantregistryclient: dms, ai, workflow (archive weicht ab, bleibt)
- policyclient: mail, connect (dms weicht ab, bleibt)
- httpharden: Root, archive (dms weicht ab, bleibt)
- loadtest: mail, ai (archive, connect weichen ab, bleiben)

go.mod (require + replace) fuer ai, connect, workflow; Pflichttest-Gates
von ai/workflow und CI-Pfadfilter um common/ erweitert, damit die
sicherheitskritischen Pakete (svcauth, tenantregistryclient) weiter
gegated werden.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Author
Owner

Geschlossen: replace => ../common bricht Einzel-Builds (Docker nur mit Modul-Ordner, eigene Repos, Partner-Builds). Wird neu aufgesetzt als versioniertes Modul common per Git-Tag. Code wird wiederverwendet.

Geschlossen: `replace => ../common` bricht Einzel-Builds (Docker nur mit Modul-Ordner, eigene Repos, Partner-Builds). Wird neu aufgesetzt als versioniertes Modul `common` per Git-Tag. Code wird wiederverwendet.
patrick closed this pull request 2026-10-27 14:37:38 +01:00

Pull request closed

Please reopen this pull request to perform a merge.
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#377