'use client'; import { taxonomy } from '@/lib/taxonomy/data'; const DIMENSION_COLORS: Record = { valence: { bg: 'bg-green-500/10', border: 'border-green-500/30', text: 'text-green-400' }, intensity: { bg: 'bg-orange-500/10', border: 'border-orange-500/30', text: 'text-orange-400' }, specificity: { bg: 'bg-blue-500/10', border: 'border-blue-500/30', text: 'text-blue-400' }, actionability: { bg: 'bg-purple-500/10', border: 'border-purple-500/30', text: 'text-purple-400' }, temporal: { bg: 'bg-cyan-500/10', border: 'border-cyan-500/30', text: 'text-cyan-400' }, evidence: { bg: 'bg-pink-500/10', border: 'border-pink-500/30', text: 'text-pink-400' }, comparative: { bg: 'bg-amber-500/10', border: 'border-amber-500/30', text: 'text-amber-400' }, }; export default function MetadataSection() { const dimensions = Object.entries(taxonomy.metadata_dimensions); return (
{/* Header */}

Metadata Dimensions

7 dimensions with 24 values for enriching classifications

{/* Dimension Cards */}
{dimensions.map(([dimKey, dimension]) => { const colors = DIMENSION_COLORS[dimKey] || { bg: 'bg-gray-500/10', border: 'border-gray-500/30', text: 'text-gray-400', }; const valueCount = Object.keys(dimension.values).length; return (
{/* Dimension Header */}

{dimension.name}

{dimension.code}

{dimension.description}

{/* Values */}
{Object.entries(dimension.values).map(([valueKey, value]) => (
{valueKey}
{value.label} {value.markers && value.markers.length > 0 && (
{value.markers.slice(0, 3).map((marker, idx) => ( "{marker}" ))}
)} {value.example && (

e.g., {value.example}

)}
))}
{/* Default indicator */} {dimension.default && (
Default: {dimension.default}
)}
); })}
{/* Usage note */}

Usage

Metadata dimensions enrich each classification span. Required dimensions vary by profile: URT-Lite requires only Valence, while URT-Full requires all 7 dimensions. Dimensions like Comparative (CR) and Evidence (E) have defaults when not applicable.

); }