TenantAtlas/apps/platform/app/Support/ReviewPacks/CustomerOutputGateDecision.php
Ahmed Darrazi 59b45becc1
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 1m35s
feat: enforce Spec392 customer output gating
2026-06-20 22:52:43 +02:00

31 lines
839 B
PHP

<?php
declare(strict_types=1);
namespace App\Support\ReviewPacks;
final class CustomerOutputGateDecision
{
/**
* @param array<string, mixed> $readiness
* @param array<string, mixed> $guidance
*/
public function __construct(
public readonly string $state,
public readonly string $guidanceState,
public readonly bool $hasReadyArtifact,
public readonly bool $canStreamCustomerOutput,
public readonly bool $canStreamInternalPreview,
public readonly string $reason,
public readonly array $readiness = [],
public readonly array $guidance = [],
) {}
public function canStream(bool $internalPreview): bool
{
return $internalPreview
? $this->canStreamInternalPreview
: $this->canStreamCustomerOutput;
}
}