msolarczek
a8fedc390f
Merge lane/testphase in feature/craftvia-mvp
...
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
# Conflicts:
# prisma/schema.prisma
# scripts/test-e2e-tenant-isolation.ts
# src/server/backup/topology.ts
# src/server/db.ts
# src/server/dsgvo/pii-fields.ts
2026-09-15 19:16:19 +02:00
msolarczek and Claude Opus 5
d9290a187c
L15 Testphase & Onboarding: Selbstanmeldung mit Double-Opt-in, Plattform-Wizard, Nur-Lesen-Sperre, Export, Lebenszyklus-Job
...
- Datenmodell: Testphasen-Lebenszyklus am Mandanten (plan, trialEndsAt, readOnlySince, deletionDueAt,
Versandmarker), TrialSignup (Plattform, Hashes statt Klartext), TenantExport (RLS), Onboarding-Status
- /testen: 5-Schritte-Wizard (Betrieb, Admin-Konto, Enddatum, Einrichtung, Zusammenfassung),
Bestätigung per POST, direkte Anmeldung über login-ticket; Rate-Limit je IP/E-Mail, Honeypot,
Enumeration-Schutz, Slug-Kollisionen
- Plattform: Wizard „Testmandant anlegen“ mit Einladung, Badges/Filter, Enddatum ändern,
umwandeln, beenden, Löschung vormerken/abbrechen (Bestätigung + Audit)
- Schreibsperre nach Ablauf zentral in moduleGuard und requireApiContext (non-GET über withApi),
Upload-Routen, Einstellungen/Nutzerverwaltung, Worker-Jobs; Banner Backoffice + mobil
- Datenexport (ZIP mit CSV/JSON + Dateien) als Worker-Job, auch im Nur-Lesen-Zustand
- Täglicher Job trial-lifecycle: Erinnerungen 7/3/1, Ablauf, Löschhinweis, Löschung über das Offboarding
- Erste-Schritte-Checkliste im Dashboard, Mail-Vorlagen de/en, Tests + Smoke, Betriebsdoku
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-15 19:01:47 +02:00
msolarczek and Claude Opus 5
2f46552970
L16 Lotse-Chat für Monteure: Tests für Chat-Schleife und Bestätigen, Isolation und Smoke
...
Fake-Provider mit geskripteten Tool-Aufrufen: Zuordnung, Vorschlag ohne Schreibzugriff,
Ausführung über Services, Blocker, Einmaligkeit/Ablauf/fremder Nutzer, Scope,
Mandantentrennung, Datenminimierung, Einstellung aus, Budget- und Rundengrenze.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-15 18:57:20 +02:00
msolarczek and Claude Opus 5
9b087168d1
L14 Abrechnungsübersicht: Demo-Seed auf frischer Datenbank lauffähig
...
Seit L12 darf ein Nutzer nur eine laufende Uhr haben. DEMO-06/DEMO-07 (laufende Uhren) werden deshalb nach den vergangenen Einsätzen derselben Monteure angelegt; Inhalte unverändert.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-15 10:35:07 +02:00
msolarczek and Claude Opus 5
565cd4ef5c
L10a Qualität & Abnahmetests: Authentifizierter Durchstich aller Kernseiten je Rolle, Last-Seed (5 000 Aufträge) mit Performance-Messung, Demo-Import für die Prüfmaske
...
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 18:43:47 +02:00
msolarczek and Claude Opus 5
4507862375
L10a Qualität & Abnahmetests: E2E-Prozesstests (regulärer Auftrag, mehrtägig, Notdienst, Offline-Sync, Pflichtfotos/Unterschrift, Dubletten, Mandantentrennung systematisch)
...
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 18:16:11 +02:00
msolarczek and Claude Opus 5
1a75c28bb4
L10a Qualität & Abnahmetests: Demo-Seed (Teams, Kunden, Objekte, 20 Aufträge, Berichte, Notdienst, demo2)
...
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-14 17:58:22 +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