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).",
"- **Anliegen**: Worum geht es im Kern?",
"- **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:",
"- Jeder Eintrag beginnt mit einem Status-Marker: `[ ]` offen, `[x]` erledigt, `[~]` in Arbeit.",
"- Status ableiten: explizit erledigt/zugesagt/bestätigt → `[x]`; explizit in Arbeit/laufend → `[~]`; sonst → `[ ]` (Default bei Unklarheit).",
"- 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.`",
"Regeln für die Action-Items-Tabelle:",
"- Exakt diese Kopfzeile verwenden:",
" | Aufgabe | Verantwortlich | Deadline | Status |",
" | --- | --- | --- | --- |",
"- 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.",
extra,