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>
This commit is contained in:
2026-09-14 11:49:21 +02:00
co-authored by Claude Opus 5
parent 1701db0a62
commit bf4456718e
21 changed files with 2670 additions and 12 deletions
+28
View File
@@ -94,6 +94,34 @@ const TENANT_MODELS = new Set<string>([
"AuthToken",
"TenantSettings",
"TenantModule",
// Craftvia domain (0002_craftvia_domain)
"NumberSequence",
"OrderType",
"ChecklistTemplate",
"Customer",
"Contact",
"Site",
"Team",
"TeamMember",
"WorkOrder",
"WorkOrderAssignee",
"WorkOrderStatusChange",
"ChecklistItem",
"PhotoRequirement",
"MaterialPlan",
"MaterialUsage",
"WorkSession",
"TimeEntry",
"ActivityNote",
"Document",
"Photo",
"VoiceNote",
"Report",
"Signature",
"ImportJob",
"Notification",
"SyncOperation",
"AiGeneration",
// WebAuthnCredential/Identity sind identitäts-global (kein tenant_id) → NICHT hier.
// Craftvia-Fachmodelle hier ergänzen — UND in src/server/backup/topology.ts
// (TENANT_MODELS) sowie per `SELECT enable_tenant_rls('<table>')` in der Migration