diff --git a/admin-compliance/app/sdk/iace/[projectId]/benchmark/_components/HazardComparisonTable.tsx b/admin-compliance/app/sdk/iace/[projectId]/benchmark/_components/HazardComparisonTable.tsx index 34bf8253..303647f9 100644 --- a/admin-compliance/app/sdk/iace/[projectId]/benchmark/_components/HazardComparisonTable.tsx +++ b/admin-compliance/app/sdk/iace/[projectId]/benchmark/_components/HazardComparisonTable.tsx @@ -114,6 +114,21 @@ function MatchedTable({ pairs }: { pairs: HazardMatchPair[] }) { ) } +const LIFECYCLE_LABELS: Record = { + startup: 'Hochfahren', homing: 'Referenzfahrt', automatic_operation: 'Automatikbetrieb', + manual_operation: 'Handbetrieb', teach_mode: 'Einrichtbetrieb', maintenance: 'Wartung', + cleaning: 'Reinigung', emergency_stop: 'Not-Halt', recovery_mode: 'Wiederanlauf', + normal_operation: 'Automatikbetrieb', setup: 'Einrichten', changeover: 'Umruesten', + fault_clearing: 'Fehlersuche/Stoerungsbeseitigung', commissioning: 'Inbetriebnahme', + decommissioning: 'Demontage/Ausserbetriebnahme', transport: 'Transport', + assembly: 'Montage/Installation', inspection: 'Inspektion/Pruefung', +} + +function formatLifecycles(raw: string): string { + if (!raw) return '-' + return raw.split(',').map(s => s.trim()).map(s => LIFECYCLE_LABELS[s] || s).join(', ') +} + /** Side-by-side detail comparison of GT entry vs. Engine hazard */ function DetailComparison({ gt, engine }: { gt: GroundTruthEntry; engine: HazardSummary }) { return ( @@ -144,7 +159,7 @@ function DetailComparison({ gt, engine }: { gt: GroundTruthEntry; engine: Hazard {engine.lifecycle_phase && ( - + )} diff --git a/ai-compliance-sdk/internal/api/handlers/iace_handler_init.go b/ai-compliance-sdk/internal/api/handlers/iace_handler_init.go index e14823a2..30d944b6 100644 --- a/ai-compliance-sdk/internal/api/handlers/iace_handler_init.go +++ b/ai-compliance-sdk/internal/api/handlers/iace_handler_init.go @@ -3,6 +3,7 @@ package handlers import ( "fmt" "net/http" + "strings" "github.com/breakpilot/ai-compliance-sdk/internal/iace" "github.com/gin-gonic/gin" @@ -204,11 +205,8 @@ func (h *IACEHandler) InitializeProject(c *gin.Context) { } } - // Join applicable lifecycles for the LifecyclePhase field - lifecycleStr := "" - if len(mp.ApplicableLifecycles) > 0 { - lifecycleStr = mp.ApplicableLifecycles[0] - } + // Join all applicable lifecycles as comma-separated string + lifecycleStr := strings.Join(mp.ApplicableLifecycles, ",") hz, cerr := h.store.CreateHazard(ctx, iace.CreateHazardRequest{ ProjectID: projectID,