Explorer
/proc/124/root/tmp/aa045_enrich_current.py
← Zurück ↓ Download
"""AA-045 compatibility facade; persistence is owned by sma_core."""

from __future__ import annotations

import sqlite3
from datetime import datetime, timezone

from published_at_normalizer import normalize_published_at
from sma_core.signal_enrichment import SignalEnrichmentRepository
from sma_core.signal_intelligence import SignalIntelligenceRepository


def enrich_signal_row(conn: sqlite3.Connection, signal_id: str, data: dict):
    """Delegate technical metadata writes to the authorized core port."""
    SignalEnrichmentRepository(conn).enrich(signal_id, data)


def find_by_external_id(conn: sqlite3.Connection, platform: str, external_id: str):
    if not external_id:
        return None
    row = conn.execute(
        "SELECT signal_id FROM signals WHERE external_id=? AND (source_platform=? OR ?='')",
        (external_id, platform, platform),
    ).fetchone()
    return row["signal_id"] if row else None


def update_cluster_meta(conn, cluster_id: str, signal_ids: list, bonus: float):
    """Compatibility facade for the authorized intelligence port."""
    SignalIntelligenceRepository(conn).apply_cluster(cluster_id, signal_ids, bonus)
    return datetime.now(timezone.utc).isoformat()