string (rule identifier) * - 'score' => int (score contribution) * - 'reason' => string (human-readable reason) * - 'links' => array (matched URLs, if any) * - 'domains' => array (matched domains, if any) * - 'keywords' => array (matched keywords, if any) * * @param string $content The raw text content to analyze * @param string $normalized Lowercase/trimmed version for matching * @param array $context Optional metadata (user_id, artwork_id, content_type, etc.) * @return array */ public function analyze(string $content, string $normalized, array $context = []): array; }