msolarczek and Claude Opus 5
9a3d472682
L9 Lotse – KI-Assistent: UI im Berichtseditor, Auftragsdetail, Sprachnotizen und Einstellungen
...
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 17:19:38 +02:00
msolarczek and Claude Opus 5
ff5c57f276
L9 Lotse – KI-Assistent: Transkription, Berichtsentwurf, Vollständigkeitsprüfung, Freigabeprinzip (Services)
...
- OpenAI-kompatible Transkription + Processor transcription (done/failed/disabled, AiGeneration, Notiz aus Sprachnotiz)
- Claude-Lotse (strukturierte Ausgabe, Refusal/Fallback), Datenminimierung, Vorschläge in content.lotse
- Vollständigkeitsprüfung (Regeln + KI-Hinweise mit Deep-Link), Einstellungen, KI-Protokoll
- Freigabeprinzip: Submit eines Lotse-Entwurfs nur mit Prüfbestätigung (serverseitig)
- Migration lotse_address_form (TenantSettings)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 17:19:38 +02:00
msolarczek and Claude Opus 5
2984cc18d3
Merge lane/stammdaten in feature/craftvia-mvp
...
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 12:38:34 +02:00
msolarczek and Claude Opus 5
d9476d324b
Merge lane/auftraege in feature/craftvia-mvp
...
Konflikte gelöst: Header mit Suche (L2) und Glocke (L6), Audit-Labels vereinigt
(ohne doppeltes sync_operation), Navigation mit Benachrichtigungen und Auftragsvorlagen.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 12:36:21 +02:00
msolarczek and Claude Opus 5
024ec5e3ab
Merge lane/einsatz in feature/craftvia-mvp
...
Konflikte gelöst: processors/index.ts (report-pdf + image-derivatives),
(app)/layout.tsx (Logo, Glocke, AccountInactiveNotice). L5-Mobilseiten
report/sign nach src/app/(field)/m/(core)/orders/[id]/ verschoben.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 12:32:35 +02:00
msolarczek and Claude Opus 5
b49d14bab3
L2 Aufträge & Backoffice: Einzeiler Navigation, Header-Suche, Audit-Entity-Labels
...
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 12:30:44 +02:00
msolarczek and Claude Opus 5
95f41b29f5
L4 Einsatz mobil: Mobile Shell und Einsatz-Oberfläche
...
- /m in eigene Route-Group (field)/m verschoben (emergency-Platzhalter mit),
Zugriffsprüfungen aus (app)/layout.tsx nach server/app-access.ts extrahiert
und von Backoffice- und Mobile-Shell gemeinsam genutzt
- Mobile Shell mit Bottom-Nav (Heute · Aufträge · Notdienst · Sync · Profil)
und Online/Offline-Badge; Startseite rollenabhängig (Feldrollen → /m),
Login-Default-Redirect auf /
- Heute, Auftragsliste mit Tabs, Auftragsdetail mit einer Primäraktion je
Zustand, Unterseiten Fotos (Kamera, Kompression, Upload-Fortschritt),
Notizen + Sprachaufnahme, Material mit Stepper, Checkliste, Zeiten mit
Korrektur, Profil; Sync-Platzhalter für L7
- Client-Wrapper submitOp (lib/field/client-ops.ts), Upload mit Fortschritt,
Bildkompression, Formatierung; Texte in messages/{de,en}/field.json
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 12:30:03 +02:00
msolarczek and Claude Opus 5
952e74cddd
L4 Einsatz mobil: Field-Services, Sync-API, Uploads und Tests
...
- services/field: Einsatz-Sessions (Anfahrt/Arbeit/Pause als TimeEntry-Segmente,
eine aktive Session je User+Auftrag), Zeitkorrektur mit Recht + Grund + Audit,
Checkliste, Material (Abweichung nur mit Begründung, Zusatzmaterial), Notizen,
Fotos, Sprachnotizen (ohne Transkriptions-Processor Status disabled), Uploads
(idempotent je Mandant), autorisierte Dokument-Auslieferung, Lesemodelle + Bundle
- services/sync: applyOperations mit Idempotenz, baseVersion-Konfliktprüfung,
Registry für Ops anderer Lanes, lane-lokaler requireApiContext
- /api/v1/sync, /api/v1/uploads, /api/v1/field/bundle, /api/v1/field/documents/[id]
- lib/sync/ops.ts (Zod-Payloads je opType), lib/field/material-rules.ts
- Stubs mit Vertragssignatur: transitionWorkOrder (L2), storeFile (§4.3),
getSiteHistory (L1)
- Processor image-derivatives + Registrierung, Audit-Entity-Labels
- Tests: test-einsatz-field (48 Prüfungen), test-einsatz-sync (38 Prüfungen)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 12:29:48 +02:00
msolarczek and Claude Opus 5
2311b35d8c
L2 Aufträge & Backoffice: Service-Schicht Aufträge + Tests
...
Statusmaschine (transitionWorkOrder inkl. eventData), Zuweisung, Completion-Guards,
Materialvorgabe, Checklisten/Pflichtfotos, Liste/Dashboard-Presets, Suche,
Sync-Konflikte, Einstellungen (Auftragsarten, Vorlagen, Nummernkreise).
Tests: Übergangsmatrix je Rolle, Kernlogik, Scope/Mandantentrennung, Nummernkreis-Parallelität.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 12:29:15 +02:00
msolarczek and Claude Opus 5
1f8e6413fe
L1 Stammdaten: Services, Dublettenprüfung, Server Actions und API v1
...
Kunden (Nummernkreis, Ansprechpartner, vorläufig bestätigen, Zusammenführen mit
Bestätigung), Objekte inkl. Historie, Teams mit Mitgliedschaften, Dublettenlogik
(lib + Service), API-Kontext/Antwortformat unter src/server/api und die Endpunkte
/api/v1/customers, /api/v1/sites, /api/v1/sites/[id]/history.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 12:26:07 +02:00
msolarczek and Claude Opus 5
3e16689b2f
Merge lane/berichte in feature/craftvia-mvp
...
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 12:23:34 +02:00
msolarczek and Claude Opus 5
8a6fdd8f7a
L5 Berichte & Unterschrift: Berichtsinhalt, Services, Unterschrift und PDF
...
ReportContent-Vertrag, Content-Builder mit Tagesfilter, Services für Tages-/Abschlussbericht,
Bearbeiten, Absenden, Freigabe, Zurückweisen, neue Version, Unterschrift und PDF-Erzeugung
(playwright-core, Worker-Processor, Dockerfile-Stage worker). Stubs für L2-Transition/Blocker
und Dokumenten-Store.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 12:22:40 +02:00
msolarczek and Claude Opus 5
f532ba9a96
Merge lane/import in feature/craftvia-mvp
...
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 12:22:07 +02:00
msolarczek and Claude Opus 5
12a764786a
L3 Auftragsimport: Extraktion, Plausibilität, Dubletten, Bestätigung (Services + Tests)
...
- Claude-Extraktion (PDF nativ/Bild, Structured Output, Konfidenzen, Volltext), FakeProvider
- Plausibilitätsprüfung, Mapping Extraktion → Formular, Korrektur-Diff
- Services Upload/Verarbeitung/Bestätigung/Verwerfen/Neu verarbeiten, Processor import-extraction
- Stubs: storeFile (§4.3), findDuplicateCustomers (L1), createWorkOrder (L2)
- Tests test-import-rules/-flow/-live, Beispiel-PDFs + Generator
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 12:17:13 +02:00
msolarczek and Claude Opus 5
879012415e
L6 Benachrichtigungen & Audit: Glocke, Posteingang, Nutzer-Einstellungen, Mailkonfiguration
...
- Glocke im Backoffice-Header (ungelesen-Zähler, letzte 10, alle gelesen), mobil
einbindbar über variant="mobile".
- /notifications mit Filter gelesen/ungelesen/Art, Öffnen markiert gelesen (nur
relative Links), Pagination.
- /account Abschnitt Benachrichtigungen: E-Mail-Opt-out je Typ, Notdienst Pflicht.
- /settings/email (tenant:manage): Absendername, Antwortadresse, Empfänger Notdienst
und Abrechnung; Validierung gegen Header-Injection, max. 20 Adressen, Audit.
- Actions unter actions/notifications mit moduleGuard + guard; Navigation ergänzt.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 12:12:21 +02:00
msolarczek and Claude Opus 5
bf4456718e
Architektur: Craftvia-Domänenmodell, Verträge und Team-Schnitte
...
- Migration 0002_craftvia_domain: 27 Fachtabellen inkl. RLS (enable_tenant_rls)
- TENANT_MODELS (db.ts, backup/topology.ts) um alle Fachmodelle ergänzt
- moduleGuard liefert DB-autoritative Rechte; ServiceCtx für Domänen-Services
- Verträge: Statusmaschine, Events, Nummernkreise, Sichtbarkeits-Scopes,
Job-Queues + Worker, KI-Provider-Interfaces, Sync-Envelope
- docs/craftvia/ARCHITEKTUR.md mit Lanes, Ownership und DoD
Gate: tsc, lint, build, 22/22 Tests grün.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 11:49:21 +02:00
msolarczek and Claude Opus 5
9ec7fa5356
Fundament: Branding Craftvia
...
- Farb-Tokens laut Brandbook §11.4 (Lotsenblau, Signalorange, Graphit, Hafengrau,
Stahlgrau, Zink, Funktionsfarben) in globals.css + src/lib/brand.ts; helles Theme
- Inline-SVG-Logo src/components/brand/craftvia-logo.tsx (horizontal/signet,
color/mono/reversed, App-Icon-Kachel, optionale Tagline); Certvia-/GEFIM-Logos entfernt
- Favicon/PWA-Icons aus dem Signet erzeugt (scripts/generate-brand-icons.ts),
site.webmanifest (Craftvia, theme_color #082E5B)
- Inter selbst gehostet (next/font/local, lokale OFL-Datei), Open Sans/Poppins entfernt
- Metadaten, WebAuthn-RP-Name, Mail-/Dokument-CD auf Craftvia umgestellt
- docs/craftvia/BRANDING.md ersetzt docs/BRANDING-CERTVIA.md
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 11:39:52 +02:00
msolarczek and Claude Opus 5
8491c7f173
Fundament: ISMS-Module entfernt; Craftvia-Rollen, Module, Navigation, i18n-Split
...
- ISMS-Routen, Actions, Server-/Lib-Code, Komponenten, Prisma-Modelle, Seeds,
Importer, Skripte und ISMS-Tests entfernt (Fundament bleibt: Auth, Identity,
MFA/WebAuthn, RBAC, Audit, Mail, Storage, Backup/DSGVO, Plattform-Admin)
- Schema auf Fundament-Modelle reduziert; TenantSettings generisch (+phone/email)
- TENANT_MODELS (db.ts, backup/topology.ts) und PII-Felder ausgedünnt
- RBAC: Rollen tenant-admin/backoffice/team-lead/technician + Craftvia-Permissions
- Modul-Katalog (customers, sites, teams, work_orders, imports, field, reports,
emergency, documents, notifications, lotse) + Navigation aus src/lib/nav.ts
- Modul-Routen mit requireModule-Layout und Platzhalterseite
- Message-Katalog je Namespace (messages/<locale>/<namespace>.json), fs-Loader
- check-module-guards: Modul-Key aus src/server/actions/<moduleKey>/
- Provisionierung, Admin-Konsole, Einstellungen, Files-Route, Mail entkoppelt
- Seed minimal (demo/demo2, Nutzer je Rolle); Fundament-Tests auf Role/
NotificationPreference-Fixtures umgestellt
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 11:35:44 +02:00
msolarczek and Claude Opus 5
c8e6f30a27
Basis: Certvia dev@a48c5fb als Fundament für Craftvia
...
CI / build-and-check (push) Canceled after 0s
CI / audit (push) Canceled after 0s
CI / sbom (push) Canceled after 0s
Unveränderter Stand von certvia/dev (a48c5fb) plus Craftvia-Spezifikation
und Brandbook unter docs/craftvia/. ISMS-Module werden im Folgecommit entfernt.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 11:05:39 +02:00