from pathlib import Path
p=Path('/opt/struktur/social-media-agent/publish_ready.py'); s=p.read_text()
old='''def _relevant(signal: dict) -> bool:
    sys.path.insert(0, str(RADAR_DIR))
    from mas_relevance import content_eligibility
    eligible, _ = content_eligibility(signal)
    return eligible
'''
new='''def _relevant(signal: dict) -> bool:
    sys.path.insert(0, str(RADAR_DIR))
    from mas_relevance import content_eligibility, assess_mas_relevance
    # Ephemere interne Evergreen-/Transformationskandidaten besitzen keine
    # signals-DB-Spalte. Persistierte Signalzeilen müssen dagegen ausdrücklich
    # mas_relevant=1 tragen; fehlend/NULL bleibt dort fail-closed.
    if "mas_relevant" not in signal:
        result = assess_mas_relevance(
            " ".join(str(signal.get(k) or "") for k in ("topic", "short_summary")),
            fields={"topic": signal.get("topic"), "short_summary": signal.get("short_summary")},
        )
        return result.relevant
    eligible, _ = content_eligibility(signal)
    return eligible
'''
assert old in s
p.write_text(s.replace(old,new))
