resolveRoot silently falls back to returning the tag itself when no null-parent ancestor surfaces — an orphaned parent_id or a chain deeper than the findAncestorIds CTE depth guard. The chip then renders a non-root tag as if it were the theme, with no trace. Log a warning (UUIDs only, per REQ-014) before the fallback so the anomaly is diagnosable. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>