diff --git a/ai-compliance-sdk/internal/iace/store_production_lines.go b/ai-compliance-sdk/internal/iace/store_production_lines.go index 32bc107..9f8afdf 100644 --- a/ai-compliance-sdk/internal/iace/store_production_lines.go +++ b/ai-compliance-sdk/internal/iace/store_production_lines.go @@ -256,10 +256,12 @@ func (s *Store) buildStationDashboard(ctx context.Context, st ProductionLineStat mitigations, _ := s.ListMitigationsByProject(ctx, st.ProjectID) sd.MitigationCount = len(mitigations) - // Compute risk summary and max SIL/PL from latest assessments + // Batch-load all latest assessments in ONE query (not N+1) + latestByHazard, _ := s.GetLatestAssessmentsByProject(ctx, st.ProjectID) + for _, h := range hazards { - latest, _ := s.GetLatestAssessment(ctx, h.ID) - if latest == nil { + latest, ok := latestByHazard[h.ID] + if !ok { continue }