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))