From d9c80e2a4947f57ac429253f43ebb3dfd4730d65 Mon Sep 17 00:00:00 2001 From: Timothy Date: Tue, 11 Aug 2026 18:58:27 +0200 Subject: [PATCH 1/2] docs(720): name all three Komodo stacks and the label-based resolution rule MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A live Komodo stack literally named `ersatztv` exists, but it owns the TEST channel (`ersatztv-test`, tracks `:latest`, auto_update true) — not prod. `DeployStack ersatztv` succeeds and looks healthy while promoting nothing. Extend the existing jazz-media/media-servers callout with this third stack and the rule that resolves the trap: identify the prod stack by the container's `com.docker.compose.project.config_files` label, not by stack name. Verified live against jazz (192.168.1.29) on 2026-08-11. fixes #720 --- docs/ci-cd.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/ci-cd.md b/docs/ci-cd.md index 3bc241a9f..a90ff31b6 100644 --- a/docs/ci-cd.md +++ b/docs/ci-cd.md @@ -114,6 +114,21 @@ commit in the range (see the `decisions.md` header) — routine lifecycle metada > `DeployStack media-servers` silently targets the **dead** stack. Confirm with > `/read ListStacks` before deploying. > +> **A third stack, literally named `ersatztv`, is also live and is NOT prod** (verified 2026-08-11): +> it owns `ersatztv-test`, tracks the floating `:latest` tag, and runs with `auto_update: true`. +> `DeployStack ersatztv` succeeds and looks healthy — it just promotes nothing to prod. Three names, +> one target: +> +> | Stack name | project_name | auto_update | owns | +> |---|---|---|---| +> | `jazz-media` | `media-servers` | `false` | `ersatztv` (**prod**, tracks `:prod`) | +> | `ersatztv` | `ersatztv` | `true` | `ersatztv-test` (tracks `:latest`) | +> | `media-servers` | — | — | dead stack on bumblebee, `unhealthy` | +> +> Don't resolve the prod stack by name at all — resolve it by the **container's** +> `com.docker.compose.project.config_files` label (e.g. via `docker inspect`), which points at the +> actual compose file path and can't be confused by a same-named stack. +> > **There is no Global Auto Update fallback anymore**: `jazz-media` has `auto_update: false` > (`poll_for_updates: true` only), so nothing promotes `:prod` on a timer — promotion is manual, > full stop. The old "don't cut a tag near the 03:00 run" caveat no longer applies. -- 2.47.3 From de69364376313f79acc40f179bad5e39189e0811 Mon Sep 17 00:00:00 2001 From: Timothy Date: Tue, 11 Aug 2026 21:19:39 +0200 Subject: [PATCH 2/2] docs(720): scope the verification date to what was actually re-measured MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cold review: the "(verified 2026-08-11)" stamp sat on a paragraph whose auto_update flags and bumblebee-unhealthy status were NOT re-checked that day — only the container labels (stack name, compose project, config_files path, image tag) were. A freshness claim that covers more than was measured is the shape that later reads as a checked fact and talks the next reader out of verifying. Refs: #720 --- docs/ci-cd.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/ci-cd.md b/docs/ci-cd.md index a90ff31b6..ccc0f69f7 100644 --- a/docs/ci-cd.md +++ b/docs/ci-cd.md @@ -114,8 +114,11 @@ commit in the range (see the `decisions.md` header) — routine lifecycle metada > `DeployStack media-servers` silently targets the **dead** stack. Confirm with > `/read ListStacks` before deploying. > -> **A third stack, literally named `ersatztv`, is also live and is NOT prod** (verified 2026-08-11): -> it owns `ersatztv-test`, tracks the floating `:latest` tag, and runs with `auto_update: true`. +> **A third stack, literally named `ersatztv`, is also live and is NOT prod**: it owns +> `ersatztv-test`, tracks the floating `:latest` tag, and runs with `auto_update: true`. (Stack +> name, compose project, config-file path and image tag re-confirmed from the container labels on +> jazz 2026-08-11; the `auto_update` flags and the bumblebee `unhealthy` status are carried from +> the earlier checks noted above, not re-measured that day.) > `DeployStack ersatztv` succeeds and looks healthy — it just promotes nothing to prod. Three names, > one target: > -- 2.47.3