From 6d94fa582695564b586b644bb94fc7c814bd225b Mon Sep 17 00:00:00 2001 From: Brummel Date: Mon, 11 May 2026 09:01:04 +0200 Subject: [PATCH] process: user-facing WhatsNew.md changelog + done-state notify protocol MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Done-state notifications now produce two synchronised outputs sharing one text: an entry appended to docs/WhatsNew.md and the same string sent via notify.sh. The text is written in German for the user-as- reader who did not watch the session — no technical internals, no iteration codes, lead with the change-in-the-project. WhatsNew.md is the only file in the repo intentionally not in English; the exception is documented in CLAUDE.md (Roles of docs/...) so a future reader does not "correct" it back. Bounce-back notifications stay Notify-only. --- CLAUDE.md | 48 +++++++++++++++++++++++++++++++++++++++++++++++- docs/WhatsNew.md | 15 +++++++++++++++ 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 docs/WhatsNew.md diff --git a/CLAUDE.md b/CLAUDE.md index 7429593..1cd7332 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -181,6 +181,43 @@ and likely respond by returning to the session. By default, you act autonomous. The notification is the exception, not the rule. +### Done-state notifications: WhatsNew.md + +When the trigger is **done-state** (autonomous work has wrapped +up, nothing left to do for the user to react to), the procedure +is two-step and the two outputs share one text: + +1. Append a new entry to `docs/WhatsNew.md` (newest at the bottom, + append-only — same chronological convention as `JOURNAL.md`). +2. Send the same text via `~/.claude/notify.sh`. + +The text must be written for the **user-as-reader who did not +watch me work**: + +- **Language: German.** This is a deliberate exception to the + English-only project rule, because WhatsNew is user-facing + communication, the same role German plays in our live chat. +- **No technical internals.** Don't name crates, function + identifiers, type names, agent names, or iteration codes + (`ct.1.7`, `18a`, etc.). Describe the *change in the project* + — what is now possible, fixed, or visible — not the mechanics. +- **No assumption of context.** The user is on his phone and has + not seen this session. Lead with the result; the *why* is fine + if it fits in one short clause. +- **Length: Telegram-pragmatic.** No hard cap, but a few sentences, + not an essay. If the work covered multiple unrelated things, + bullet them. +- **Tone: factual, not performative.** No celebration, no "I have + successfully…". Just "X geht jetzt, Y ist behoben, Z ist neu". + +**Bounce-backs** (asking the user for a design judgement or +checkpoint) are *not* done-state and do **not** produce a +WhatsNew entry — they stay as Notify-only. + +Format of a WhatsNew entry: a `## YYYY-MM-DD — ` +heading followed by the message body. The body must match the +Notify text verbatim. + ## Bug fixes — TDD, always Bug fixes are RED-first, autonomous, no orchestrator gate. See @@ -232,6 +269,15 @@ Existing entries are not retroactively renamed. bite-sized executable plan produced by `skills/plan`, consumed by `skills/implement`. +- **`docs/WhatsNew.md`** (since 2026-05-11): the user-facing + changelog, written in German for the user-as-reader who does + not watch the implementation. Entries are appended at done-state + notifications and mirror the Notify text verbatim. See the + "Done-state notifications" subsection above for the editorial + rules. This is the only file in the repo that is intentionally + not in English. + Together these answer three questions: "what is the language right now?" (DESIGN), "how did we get here?" (JOURNAL, specs, plans), -and "what's next?" (roadmap). +and "what's next?" (roadmap). `WhatsNew.md` is the user-facing +mirror of the JOURNAL — the same history, told without internals. diff --git a/docs/WhatsNew.md b/docs/WhatsNew.md new file mode 100644 index 0000000..92472ba --- /dev/null +++ b/docs/WhatsNew.md @@ -0,0 +1,15 @@ +# Was ist neu in AILang + +Dies ist das benutzerlesbare Änderungsprotokoll. Es läuft parallel +zum technischen `JOURNAL.md` und ist in der gleichen Sprache verfasst, +in der wir uns unterhalten — Deutsch. + +Jeder Eintrag entspricht einer Done-State-Notify, die ich an den +Benutzer geschickt habe, wenn er nicht am Rechner war. Der Text ist +identisch mit dem, was auf dem Handy ankam. Neue Einträge werden +unten angehängt. + +Beschrieben wird, **was sich im Projekt geändert hat** — nicht, wie +es technisch umgesetzt wurde. Für Interna gibt es das `JOURNAL.md`. + +---