<?php

declare( strict_types=1 );

namespace Brightfern\Validation;

/**
 * One finding from a validation/pre-flight check, with a stable machine code, a
 * human-readable message and (where relevant) the EN 16931 business term or
 * Peppol rule id it relates to. The admin surfaces `message`; logs use `code`.
 */
final class ValidationIssue {
	public const ERROR   = 'error';
	public const WARNING = 'warning';
	public const INFO    = 'info';

	public function __construct(
		public string $severity,
		public string $code,
		public string $message,
		public string $location = '',
	) {}
}
