globalScore = $globalScore; $this->dimensions = $dimensions; $this->recommendations = array_values(array_filter($recommendations, static fn ($item): bool => $item instanceof QualityRecommendation)); $this->missingFields = array_values(array_unique($missingFields)); $this->criticalIssues = array_values(array_unique($criticalIssues)); $this->warnings = array_values(array_unique($warnings)); $this->strengths = array_values(array_unique($strengths)); } public function getGlobalScore(): QualityScore { return $this->globalScore; } public function getReadinessLevel(): string { return $this->globalScore->getReadinessLevel(); } public function getDimensions(): array { return $this->dimensions; } public function getDimension(string $name): ?QualityDimension { $value = $this->dimensions[$name] ?? null; return $value instanceof QualityDimension ? $value : null; } public function getRecommendations(): array { return $this->recommendations; } public function getMissingFields(): array { return $this->missingFields; } public function getCriticalIssues(): array { return $this->criticalIssues; } public function getWarnings(): array { return $this->warnings; } public function getStrengths(): array { return $this->strengths; } }