fix(summarize): switch action items to a strict 2-state table

Replace the checkbox-style bullet format with a Markdown table matching
the extract-action-items command. Status is binary now —
"abgeschlossen" only when the conversation explicitly confirms it,
otherwise "offen". Deadline cells are left blank unless a concrete date
appears in the text, so the model can't fabricate due dates.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
muena
2026-05-20 08:18:04 +02:00
parent d97e636259
commit 7f3f26534c

View File

@@ -21,13 +21,16 @@ export function buildSummaryPrompt(
"- **Teilnehmer**: Liste der beteiligten Platzhalter, ggf. mit Rolle (Absender/Empfänger).", "- **Teilnehmer**: Liste der beteiligten Platzhalter, ggf. mit Rolle (Absender/Empfänger).",
"- **Anliegen**: Worum geht es im Kern?", "- **Anliegen**: Worum geht es im Kern?",
"- **Verlauf**: Chronologische Kurzfassung der wichtigsten Punkte.", "- **Verlauf**: Chronologische Kurzfassung der wichtigsten Punkte.",
"- **Action Items**: Was ist zu tun, von wem, bis wann. Jeder Eintrag MUSS einen Status haben.", "- **Action Items**: Markdown-Tabelle aller Aufgaben.",
"", "",
"Regeln für Action Items:", "Regeln für die Action-Items-Tabelle:",
"- Jeder Eintrag beginnt mit einem Status-Marker: `[ ]` offen, `[x]` erledigt, `[~]` in Arbeit.", "- Exakt diese Kopfzeile verwenden:",
"- Status ableiten: explizit erledigt/zugesagt/bestätigt → `[x]`; explizit in Arbeit/laufend → `[~]`; sonst → `[ ]` (Default bei Unklarheit).", " | Aufgabe | Verantwortlich | Deadline | Status |",
"- Format pro Eintrag: `- [x] Aufgabe — Verantwortlich: <PERSON_N> — Deadline: …`. Wenn etwas fehlt (z. B. Deadline), schreibe „—“ statt es zu raten.", " | --- | --- | --- | --- |",
"- Wenn die Konversation keine Action Items enthält, schreibe genau eine Zeile: `- Keine Action Items.`", "- Status MUSS für jeden Eintrag gesetzt sein und ist genau einer von: „abgeschlossen“, „offen“. „abgeschlossen“ nur wenn der Text die Erledigung/Zusage/Bestätigung explizit beschreibt; sonst „offen“.",
"- Verantwortlich als Platzhalter (z. B. <PERSON_1>); wenn aus dem Text nicht ableitbar, schreibe „—“.",
"- Deadline nur eintragen, wenn ein konkretes Datum oder Zeitraum im Text genannt ist. Sonst die Zelle leer lassen (`| |`). Niemals Deadlines raten.",
"- Wenn die Konversation keine Action Items enthält, gib statt der Tabelle eine einzige Zeile aus: „Keine Action Items.“",
"", "",
"Antworte ausschließlich in Markdown, ohne einleitende Floskeln.", "Antworte ausschließlich in Markdown, ohne einleitende Floskeln.",
extra, extra,