// lib/signalRegistry.ts export type SignalType = 'trajectory' | 'headwind' | 'neutral'; export interface SignalMetadata { id: string; name: string; type: SignalType; tier: number; weight: number; color: string; tooltip: string; source: string; missingReason: string; } export const SIGNAL_REGISTRY: SignalMetadata[] = [ { id: 'building_permit_momentum', name: 'Permit Momentum', type: 'trajectory', tier: 1, weight: 0.15, color: '#0D9488', tooltip: 'Acceleration in new residential and commercial construction permits.', source: 'Nashville Open Data', missingReason: 'No permits filed in this tract recently.' }, { id: 'zillow_zhvi_momentum', name: 'Home Price Momentum', type: 'trajectory', tier: 1, weight: 0.20, color: '#0D9488', tooltip: 'Month-over-month home price appreciation velocity.', source: 'Zillow ZHVI', missingReason: 'Insufficient transaction volume.' }, // Add more as needed. ]; export const TRAJECTORY_SIGNAL_COUNT = SIGNAL_REGISTRY.filter(s => s.type === 'trajectory').length; export const HEADWIND_SIGNAL_COUNT = SIGNAL_REGISTRY.filter(s => s.type === 'headwind').length;