feat: competitive intelligence & historical pattern matching layer

This commit is contained in:
Celes Renata
2026-04-14 19:42:48 +00:00
parent b478022ba3
commit f7a11d14ea
203 changed files with 20155 additions and 97 deletions
+21
View File
@@ -124,6 +124,27 @@ TABLE_SCHEMAS: dict[str, pa.Schema] = {
"model_performance": MODEL_PERFORMANCE_SCHEMA,
}
# Lazily register schemas defined in worker.py to avoid circular imports.
# These are added after the initial dict definition.
def _register_worker_schemas() -> None:
from services.lake_publisher.worker import (
COMPETITOR_RELATIONSHIPS_SCHEMA,
COMPETITIVE_SIGNALS_SCHEMA,
GLOBAL_EVENTS_SCHEMA,
MACRO_IMPACTS_SCHEMA,
TREND_PROJECTIONS_SCHEMA,
)
TABLE_SCHEMAS["competitor_relationships"] = COMPETITOR_RELATIONSHIPS_SCHEMA
TABLE_SCHEMAS["competitive_signals"] = COMPETITIVE_SIGNALS_SCHEMA
TABLE_SCHEMAS["global_events"] = GLOBAL_EVENTS_SCHEMA
TABLE_SCHEMAS["macro_impacts"] = MACRO_IMPACTS_SCHEMA
TABLE_SCHEMAS["trend_projections"] = TREND_PROJECTIONS_SCHEMA
try:
_register_worker_schemas()
except ImportError:
pass # worker.py not available in minimal test environments
@dataclass(frozen=True)
class IcebergTableDef: