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 be4afbbe..34bf8253 100644 --- a/admin-compliance/app/sdk/iace/[projectId]/benchmark/_components/HazardComparisonTable.tsx +++ b/admin-compliance/app/sdk/iace/[projectId]/benchmark/_components/HazardComparisonTable.tsx @@ -143,8 +143,14 @@ function DetailComparison({ gt, engine }: { gt: GroundTruthEntry; engine: Hazard + {engine.lifecycle_phase && ( + + )} + {engine.affected_person && ( + + )} {engine.mitigations && engine.mitigations.length > 0 ? ( ) : ( diff --git a/admin-compliance/app/sdk/iace/[projectId]/benchmark/_hooks/useBenchmark.ts b/admin-compliance/app/sdk/iace/[projectId]/benchmark/_hooks/useBenchmark.ts index 74bad256..e690ddd7 100644 --- a/admin-compliance/app/sdk/iace/[projectId]/benchmark/_hooks/useBenchmark.ts +++ b/admin-compliance/app/sdk/iace/[projectId]/benchmark/_hooks/useBenchmark.ts @@ -33,6 +33,7 @@ export interface HazardSummary { component?: string; zone?: string; risk_level?: string description?: string; scenario?: string possible_harm?: string; trigger_event?: string + affected_person?: string; lifecycle_phase?: string mitigations?: string[] } diff --git a/ai-compliance-sdk/internal/iace/benchmark_matcher.go b/ai-compliance-sdk/internal/iace/benchmark_matcher.go index 80b2784f..d99de1f8 100644 --- a/ai-compliance-sdk/internal/iace/benchmark_matcher.go +++ b/ai-compliance-sdk/internal/iace/benchmark_matcher.go @@ -68,15 +68,17 @@ func CompareBenchmark(gt *GroundTruth, hazards []Hazard, mitigations []Mitigatio engineSummaries := make([]HazardSummary, len(hazards)) for i, h := range hazards { engineSummaries[i] = HazardSummary{ - ID: h.ID.String(), - Name: h.Name, - Category: h.Category, - Zone: h.HazardousZone, - Description: h.Description, - Scenario: h.Scenario, - PossibleHarm: h.PossibleHarm, - TriggerEvent: h.TriggerEvent, - Mitigations: mitNamesByHazard[h.ID.String()], + ID: h.ID.String(), + Name: h.Name, + Category: h.Category, + Zone: h.HazardousZone, + Description: h.Description, + Scenario: h.Scenario, + PossibleHarm: h.PossibleHarm, + TriggerEvent: h.TriggerEvent, + AffectedPerson: h.AffectedPerson, + LifecyclePhase: h.LifecyclePhase, + Mitigations: mitNamesByHazard[h.ID.String()], } } diff --git a/ai-compliance-sdk/internal/iace/benchmark_types.go b/ai-compliance-sdk/internal/iace/benchmark_types.go index b3d56461..16ffc7ef 100644 --- a/ai-compliance-sdk/internal/iace/benchmark_types.go +++ b/ai-compliance-sdk/internal/iace/benchmark_types.go @@ -92,17 +92,19 @@ type HazardMatchPair struct { // HazardSummary is a hazard representation for benchmark results with detail fields. type HazardSummary struct { - ID string `json:"id"` - Name string `json:"name"` - Category string `json:"category"` - Component string `json:"component,omitempty"` - Zone string `json:"zone,omitempty"` - RiskLevel string `json:"risk_level,omitempty"` - Description string `json:"description,omitempty"` - Scenario string `json:"scenario,omitempty"` - PossibleHarm string `json:"possible_harm,omitempty"` - TriggerEvent string `json:"trigger_event,omitempty"` - Mitigations []string `json:"mitigations,omitempty"` + ID string `json:"id"` + Name string `json:"name"` + Category string `json:"category"` + Component string `json:"component,omitempty"` + Zone string `json:"zone,omitempty"` + RiskLevel string `json:"risk_level,omitempty"` + Description string `json:"description,omitempty"` + Scenario string `json:"scenario,omitempty"` + PossibleHarm string `json:"possible_harm,omitempty"` + TriggerEvent string `json:"trigger_event,omitempty"` + AffectedPerson string `json:"affected_person,omitempty"` + LifecyclePhase string `json:"lifecycle_phase,omitempty"` + Mitigations []string `json:"mitigations,omitempty"` } // CategoryScore shows coverage per ISO 12100 hazard group.