value = round(max(0.0, min(100.0, $value)), 2); } public function getValue(): float { return $this->value; } public function getReadinessLevel(): string { if ($this->value < 25) return self::DRAFT; if ($this->value < 45) return self::BASIC; if ($this->value < 65) return self::GOOD; if ($this->value < 80) return self::PROFESSIONAL; if ($this->value < 92) return self::MARKETPLACE_READY; return self::ENTERPRISE_READY; } }