Gesamtprojekt: Nachtrag 22 — erste Bausteine von AI (ENG-01) und Workflow (ENG-01) gemergt und verifiziert
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-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
Archive-Schnittstellen-Vertragstests / contract-tests (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
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (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 / Core-Modul (Build/Vet/Test) (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
Mail-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (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
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (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 / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
Archive-Schnittstellen-Vertragstests / contract-tests (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
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (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 / Core-Modul (Build/Vet/Test) (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
Mail-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (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
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (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
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
325e153ebe
commit
fdf4c8c19b
1 file changed
+22
@@ -535,3 +535,25 @@ Merge von #141 (UX-07, Barrierefreiheit WCAG 2.1 AA für `web/mail-search`) und
|
||||
**Nicht angefasst in dieser Sitzung — vollständig unbebaute Boards:** AI-Kanban (46 Tickets), Workflow-Kanban (36), Connect-Kanban (32), Migration-Kanban (34) haben nach wie vor keinen Code. Das ist der mit Abstand größte verbleibende Umfang für ein vollständiges NEXARCH-Gesamtprodukt und würde jeweils eigene Grundlagen-Tickets (Datenmodell, Job-Runtime, API-Grundgerüst nach dem FDN-01..04-Muster) brauchen, bevor Fachtickets sinnvoll sind.
|
||||
|
||||
Commits (Worktree `code-mergefinal7`): Merge UX-07, Merge UX-08, Protokoll-Nachtrag dieser Abschnitt.
|
||||
|
||||
## Nachtrag 22: erste Bausteine von AI und Workflow
|
||||
|
||||
Merge von #143 (AI ENG-01, Provider-Interface) und #144 (Workflow ENG-01, Zustandsmodell) — beide führen NEUE Top-Level-Go-Module ein (`ai/`, `workflow/`), beide konfliktfrei (`git merge --no-ff`, keine überlappenden Dateien mit dem bestehenden Stand).
|
||||
|
||||
**Korrektur in beiden Tickets:** Der Ticket-Text nannte "Multi-Tenancy Modell A", das ist veraltet. Die tatsächliche Projektentscheidung ist Modell C (eine Datenbank je Mandant, siehe SICHERHEITSKONZEPT.md/PRODUKTARCHITEKTUR.md). Beide neuen Module folgen Modell C, nicht dem alten Ticket-Text — im jeweiligen `docs/ENG-01-PRUEFPROTOKOLL.md` vermerkt.
|
||||
|
||||
**`ai/` (neu):** `internal/provider` — Interface für Chat, Completion, Embedding mit einheitlichem Fehlerformat. Zwei Implementierungen: `ollama` (echter Client gegen die externen Ollama-Server) und `mock` (für Fehlerfall-Tests). Contract-Test prüft beide Implementierungen gegen denselben Vertrag.
|
||||
|
||||
- **Geprüft auf 204:** `go build`/`vet`/`gofmt` sauber, `go test ./...` grün (`internal/provider` `ok`, `ollama`/`mock` ohne eigene Tests). Ollama-Erreichbarkeit von 204 aus bestätigt: `office.sysops.de:11434` und `:11435` beide HTTP 200.
|
||||
- **Bekannte Lücke, dokumentiert im Ticket-Protokoll, nicht behoben:** Beide externen Ollama-Server laufen ohne `--embeddings`-Flag (fremde Infrastruktur, außerhalb unserer Kontrolle). Der Embedding-Teil des Vertrags ist deshalb nur über den Mock-Provider strukturell geprüft, nicht gegen einen echten Provider.
|
||||
|
||||
**`workflow/` (neu):** `internal/statemachine` — `ProcessDefinition` (Zustände/Übergänge als Go-Wert; ein dateibasiertes, deklaratives Format ist ENG-03, noch nicht gebaut), `Engine` mit `Start`/`Transition`/`Get`/`History`. Instanz-Persistenz in Postgres mit optimistischem Sperren (`FOR UPDATE` + Versionsspalte). `internal/migrate` und `internal/testdb` sind eigenständige Kopien der DMS-Muster (Go-Module teilen keine `internal/`-Pakete).
|
||||
|
||||
- **Geprüft auf 204** (Wegwerf-DB, `TEST_TENANT_DSN` aus der bestehenden Dev-Umgebung): `go build`/`vet`/`gofmt` sauber, `go test ./...` grün — inklusive 20 gleichzeitiger Übergänge ohne Fehlzustand (genau einer gewinnt) und einem echten Neustart-Test (zweite unabhängige Engine-Instanz übernimmt eine laufende Instanz korrekt).
|
||||
- **Kein HTTP-Dienst in diesem Ticket** (ENG-02 Modul-Adapter-Schnittstelle folgt), nur die Go-Bibliothek plus Migrationen. Entsprechend noch kein Eintrag in `deploy/ports.tsv` nötig — vorgemerkt für ENG-02.
|
||||
|
||||
**Regression, alle vier bestehenden Module unbetroffen:** `/` (Core), `dms/`, `archive/`, `mail/` bauen unverändert. `scripts/e2e-core-dms.sh`: 10/10. `scripts/gesamt-token-smoke.sh`: 45/45, Rückbau-Snapshot `IDENTISCH`. `check-port-defaults.sh`/`check-route-prefixes.sh`: ok.
|
||||
|
||||
**Für später vorgemerkt:** Sobald ENG-02 (AI) bzw. ENG-02 (Workflow) einen HTTP-Dienst einführen, brauchen beide Module einen eigenen Port-Bereich in `deploy/ports.tsv` nach demselben Muster wie DMS (8600–8699) — noch nicht vergeben, weil in diesem Ticket kein Dienst entstand.
|
||||
|
||||
Head jetzt `325e153` (von `8a935a4`), gepusht, PR #104 aktualisiert. Kein Merge nach `main`. Worktree `code-mergefinal8` entfernt nach Abschluss.
|
||||
Reference in new issue
Block a user