From 76b215d016c081591a7fc12834f58d98ce49c7e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20S=C3=A4nger?= <20968534+dsnger@users.noreply.github.com> Date: Mon, 27 Jul 2026 18:14:25 +0200 Subject: [PATCH] Add a context canary to the root CLAUDE.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Address the user as "Daniel" at the start of every conversational response, so a missing address signals that CLAUDE.md has fallen out of context. Scoped to conversational responses only: never in file contents, commit messages, code, or gate artifacts — §5's findings file admits no line that is not a finding or the terminator, so a canary reaching into artifacts would produce malformed passes. Root CLAUDE.md only. AGENTS.md is untouched and nothing under plugins/ changes, so no version bump and no propagation into scaffolded templates. Gate B: skipped — behaviourally trivial. One prose subsection in this repo's own discipline file; it changes no hook, checker, skill, command or template, and ships nothing. Unprofiled story (none cited), judgement call per §5, authorized by the user in the request. Battery green: shellcheck (6 files), hook tests, invariant tests + check (123 assertions), version-bump tests + check (36 assertions), and `claude plugin validate . --strict` — all pass. --- CLAUDE.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 74691a9..a2675b9 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -401,6 +401,20 @@ like the rest of §5; the detection is a reader comparing the pass against the s any other pass. Counter and workspace state persist in `.context/`; the *pass* does not. +## 6. Context Canary + +Begin every response to the user by addressing him as "Daniel." + +**Why:** it is a context canary. These guidelines are only in force while this file is in +context, and nothing signals when it falls out. The address is a per-response marker: if +it disappears, CLAUDE.md is gone from context and the user knows to reload rather than +discovering it through work that quietly stopped following §1–§5. + +**Scope: conversational responses only.** Never in file contents, commit messages, code, +or gate artifacts. §5's findings file admits no line that is not a finding line or the +terminator, and its reply is exactly one line per branch — a greeting there is a malformed +pass, so a canary that reached into artifacts would break the protocol it sits beside. + --- **These guidelines are working if:** fewer unnecessary changes in diffs, fewer rewrites due to overcomplication, and clarifying questions come before implementation rather than after mistakes.