From 459766cb16395fd1d1a66282f5cc6da59ead5924 Mon Sep 17 00:00:00 2001 From: kisfenyo Date: Thu, 6 Aug 2026 11:03:02 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20R-168=20is=20CLOSED=20=E2=80=94=20the?= =?UTF-8?q?=20"CI=20is=20still=20owed"=20sentence=20was=20stale=20(R-229?= =?UTF-8?q?=20part=202)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Corrected in all four instruction files across all four repos. Found while confirming this session own push by run ID, which is precisely the check that catches it. In felhom-agent/CLAUDE.md the sentence contradicted the same file release section, which already said R-168 mails the failure -- a contradiction inside one instruction file, the exact class the R-229 work exists to find. REPORT.md deliberately NOT overwritten in the sibling repos: a one-line docs correction must not destroy the record of their last real implementation. --- CHANGELOG.md | 13 +++++++++++++ CLAUDE.md | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 63bfbc6..7ef509c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## docs — the "CI is still owed" claim was stale; corrected (2026-08-06, R-229 part 2) — no version bump + +**One sentence, no code.** This file asserted that continuous integration was still owed +(`felhom.eu` `OPEN-ITEMS.md` R-168). **R-168 was CLOSED on 2026-08-02** — a Gitea Actions runner +re-runs each repo's gate entry point on every push and emails the operator on failure. Found while +confirming this session's own push by run ID, which is the check that caught it. + +The same stale sentence was in four instruction files across all four repos and is corrected in all +four. In `felhom-agent/CLAUDE.md` it **contradicted the same file's release section**, which already +said R-168 mails the failure — a contradiction inside one instruction file, which is the exact class +the R-229 work exists to find. + + ### papra — the volume is mounted where the app actually writes (2026-08-03, R-156, last leg) **The third and last of the three apps that kept their data where backups never looked.** papra diff --git a/CLAUDE.md b/CLAUDE.md index 28296b7..022da95 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -45,7 +45,8 @@ deployed `app.yaml` (customer secrets) is never overwritten. Full deploy details runtime and take minutes per app, and a push that pulls images and starts containers gets bypassed within a week, after which the bypass is the habit. They stay deliberate periodic runs. The hook is per-clone (`git config core.hooksPath .githooks`) and `git push --no-verify` bypasses it, which is - why R-161's automatic half is still owed — it is now tracked as `felhom.eu` `OPEN-ITEMS.md` R-168. + why gate 1 alone cannot be the whole story — CI re-runs the entry point on every push and **emails + on failure** (`felhom.eu` `OPEN-ITEMS.md` R-168, CLOSED 2026-08-02), which is what notices a bypass. - **Never `:latest` or untagged images in templates** — pin a concrete version tag; an app deployed anywhere in the fleet is pinned to the digest it is currently running (a pin must never cause a version jump). Digest pins (`@sha256:`) also count. Gate: `python scripts/check-image-pins.py`