fix(pipeline): send individual Telegram notifications for quality gate rejections

- Add individual Telegram message when an article is rejected by quality
  gate (too short raw content or rewritten text), so users see each
  rejection in real time instead of only in the bulk summary
- Add quality_gate_rejected counter to PipelineStats and result dict
- Show quality gate rejections separately in pipeline-done summary
  (✂️ Qualitätsprüfung: N) distinct from score-based rejections

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
OliverGiertz 2026-04-09 07:02:03 +00:00
parent 09dcf6ce36
commit 2d1dd14e45
2 changed files with 18 additions and 2 deletions

View file

@ -289,6 +289,7 @@ def notify_pipeline_done(stats: dict[str, Any]) -> None:
processed = stats.get("processed", 0)
drafts = stats.get("drafts_created", 0)
rejected = stats.get("rejected", 0)
quality_gate_rejected = stats.get("quality_gate_rejected", 0)
no_image = stats.get("no_image", 0)
warnings = stats.get("warnings", 0)
errors = stats.get("errors", 0)
@ -300,7 +301,9 @@ def notify_pipeline_done(stats: dict[str, Any]) -> None:
f"📝 Drafts erstellt: {drafts}",
]
if rejected:
lines.append(f"🚫 Abgelehnt: {rejected}")
lines.append(f"🚫 Abgelehnt (Score): {rejected}")
if quality_gate_rejected:
lines.append(f"✂️ Qualitätsprüfung: {quality_gate_rejected}")
if no_image:
lines.append(f"🖼️ Kein Bild: {no_image}")
if warnings: