From c319cab1ec3c1310d860665feb58afeb9be3da83 Mon Sep 17 00:00:00 2001 From: muena Date: Wed, 20 May 2026 08:11:54 +0200 Subject: [PATCH] fix(summarize): require explicit status marker on every action item MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Action Items section in the email summary sometimes omitted whether an item was open, in progress, or done — leaving the reader to guess. Force a leading [ ] / [x] / [~] marker on every entry, define how to derive the status from the conversation, and lock down the per-entry format so verantwortlich + deadline land in predictable slots. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/summarize.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/summarize.ts b/src/summarize.ts index 61fbc2c..e724841 100644 --- a/src/summarize.ts +++ b/src/summarize.ts @@ -21,7 +21,13 @@ 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.", - "- **Offene Punkte / Action Items**: Was ist noch zu tun, von wem, bis wann.", + "- **Action Items**: Was ist zu tun, von wem, bis wann. Jeder Eintrag MUSS einen Status haben.", + "", + "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: — 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.`", "", "Antworte ausschließlich in Markdown, ohne einleitende Floskeln.", extra,