Files
felhom.eu/documentation/audits/update-arc-gaps-2026-09-21/03-drill-commit-and-badges.txt
T
admin c85262111c
gates / gates (push) Successful in 23s
The update arc's two missing measurements, the lock, and the floor to 0.260.0
Part 0 — floor raised to 0.260.0, MinAgent 0.131.0 declared. 3 boxes below, all
down or blocked; both demo boxes SERVED.

Part 1 (R-610) — the DANGEROUS power cut, measured three times with three apps and
two cut mechanisms. All ended honest: resumed, completed, and pinned/installed/live
compose/docker inspect all agreed. vikunja's 2.6.0 migration had ALREADY run 0.64 s
after the cut decision and the seeded data read back intact — so the branch that is
one step from old-binary-on-migrated-database is now evidence, not argument.
Instrument limit stated: `starting` lasts under a second; all three landed in
`verifying`, which RecoverUpdates handles in the same branch.

Part 3 (R-611) — the night the previous session skipped without saying so. An app
updated with nobody pressing anything; a terminally-refused app was pressed exactly
once and never again over three passes. The unattended HOLD was NOT produced: the
within-a-major rule correctly refused the broken edge before it was attempted, so
Q4 still rests on the attended hold from slice 4. Said plainly rather than implied.

Rows: closed R-608/609/610/611; opened R-612 (P1 wishlist unusable on a fresh
install, and its error is a lie), R-613 (uptime-kuma healthy on its setup wizard),
R-614 (stale update phase survives a redeploy). R-520's pointer corrected.

Catalog: two drill pairs, both reverted; every image line byte-identical to
ff9717d3. The alpine:3.20 negative control a security review flagged is cleared.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-09-21 15:00:09 +02:00

106 lines
5.4 KiB
Plaintext

# 03 — DRILL commit pushed, catalog synced, all four read 'update available'
# 2026-09-21T12:27:11Z
## catalog commit
573e41f DRILL: move four app pins for the power-cut update-arc measurement
573e41f DRILL: move four app pins for the power-cut update-arc measurement
templates/glance/.felhom.yml | 2 +-
templates/glance/docker-compose.yml | 2 +-
templates/uptime-kuma/docker-compose.yml | 2 +-
templates/vikunja/.felhom.yml | 2 +-
templates/vikunja/docker-compose.yml | 2 +-
templates/wishlist/.felhom.yml | 2 +-
templates/wishlist/docker-compose.yml | 2 +-
7 files changed, 7 insertions(+), 7 deletions(-)
## the box's catalog clone after POST /api/sync
573e41f DRILL: move four app pins for the power-cut update-arc measurement
## POST /api/sync said: Sablonok frissitve - frissitve: glance, vikunja, wishlist
## (uptime-kuma NOT listed - its .felhom.yml was already at catalog_since 2026-09-21 from the
## earlier session, and the syncer names only files whose content it rewrote. R-607 trap:
## a POST /api/stacks/rescan was run straight after, and only then were the badges read.)
## POST /api/stacks/rescan said: Rescan completed: 55 stacks found
## the four observables per app, AFTER sync+rescan
== read at 2026-09-21T12:27:12.574916Z
glance state=running deployed=True deploying=False updating=False phase=- label=-
update_error=-
hold_reason =-
pinned ={"glance": "glanceapp/glance:v0.8.5"}
installed={"glance": {"ref": "glanceapp/glance:v0.8.5", "digest": "sha256:32ab73d80f2b8b5fb0735b0431deb36b93fbb6b2fb43592449b0178c8b83e350", "at": "2026-09-21T12:11:56Z"}}
template ={"glance": "glanceapp/glance:v0.8.5"}
catalog ={"glance": "glanceapp/glance:v0.8.6"}
health =healthy=True
uptime-kuma state=running deployed=True deploying=False updating=False phase=done label=Frissítve
update_error=-
hold_reason =-
pinned ={"uptime-kuma": "louislam/uptime-kuma:2.4.0"}
installed={"uptime-kuma": {"ref": "louislam/uptime-kuma:2.4.0", "digest": "sha256:91e963bfda569ba115206e843febb446f473ab525add4e08b2b9e3beffa16985", "at": "2026-09-21T12:11:45Z"}}
template ={"uptime-kuma": "louislam/uptime-kuma:2.4.0"}
catalog ={"uptime-kuma": "louislam/uptime-kuma:2.5.0"}
health =healthy=True
vikunja state=running deployed=True deploying=False updating=False phase=- label=-
update_error=-
hold_reason =-
pinned ={"vikunja": "vikunja/vikunja:2.3.0"}
installed={"vikunja": {"ref": "vikunja/vikunja:2.3.0", "digest": "sha256:f6b80393c1998cd5cd0dc38d24762c59ab4c10000a6f1032ef5b554e262cab93", "at": "2026-09-21T12:11:44Z"}}
template ={"vikunja": "vikunja/vikunja:2.3.0"}
catalog ={"vikunja": "vikunja/vikunja:2.6.0"}
health =healthy=True
wishlist state=running deployed=True deploying=False updating=False phase=- label=-
update_error=-
hold_reason =-
pinned ={"wishlist": "ghcr.io/cmintey/wishlist:v0.66.0"}
installed={"wishlist": {"ref": "ghcr.io/cmintey/wishlist:v0.66.0", "digest": "sha256:073ab4de0f27a93a79410172bedfa3947bed4718f050396547516def790f1f49", "at": "2026-09-21T12:12:17Z"}}
template ={"wishlist": "ghcr.io/cmintey/wishlist:v0.66.0"}
catalog ={"wishlist": "ghcr.io/cmintey/wishlist:v0.67.0"}
health =healthy=True
## the badge, both languages — ASCII-only fragments, with a negative control
vikunja[hu] http=200 size=43698 | fragments hit: ['Friss'] | NEGATIVE CONTROL ZZZ-NOT-IN-ANY-PAGE-ZZZ hit: False
BADGE: 'Fut'
BADGE: '~50M RAM'
BADGE: 'productivity'
BADGE: 'Pi kompatibilis'
vikunja[en] http=200 size=42909 | fragments hit: ['Update available'] | NEGATIVE CONTROL ZZZ-NOT-IN-ANY-PAGE-ZZZ hit: False
BADGE: 'Running'
BADGE: '~50M RAM'
BADGE: 'productivity'
BADGE: 'Runs on Pi'
uptime-kuma[hu] http=200 size=43881 | fragments hit: ['Friss'] | NEGATIVE CONTROL ZZZ-NOT-IN-ANY-PAGE-ZZZ hit: False
BADGE: 'Fut'
BADGE: '~50M RAM'
BADGE: 'dashboard'
BADGE: 'Pi kompatibilis'
uptime-kuma[en] http=200 size=43092 | fragments hit: ['Update available'] | NEGATIVE CONTROL ZZZ-NOT-IN-ANY-PAGE-ZZZ hit: False
BADGE: 'Running'
BADGE: '~50M RAM'
BADGE: 'dashboard'
BADGE: 'Runs on Pi'
wishlist[hu] http=200 size=43666 | fragments hit: ['Friss'] | NEGATIVE CONTROL ZZZ-NOT-IN-ANY-PAGE-ZZZ hit: False
BADGE: 'Fut'
BADGE: '~30M RAM'
BADGE: 'home'
BADGE: 'Pi kompatibilis'
wishlist[en] http=200 size=42878 | fragments hit: ['Update available'] | NEGATIVE CONTROL ZZZ-NOT-IN-ANY-PAGE-ZZZ hit: False
BADGE: 'Running'
BADGE: '~30M RAM'
BADGE: 'home'
BADGE: 'Runs on Pi'
glance[hu] http=200 size=43734 | fragments hit: ['Friss'] | NEGATIVE CONTROL ZZZ-NOT-IN-ANY-PAGE-ZZZ hit: False
BADGE: 'Fut'
BADGE: '~20M RAM'
BADGE: 'dashboard'
BADGE: 'Pi kompatibilis'
glance[en] http=200 size=42966 | fragments hit: ['Update available'] | NEGATIVE CONTROL ZZZ-NOT-IN-ANY-PAGE-ZZZ hit: False
BADGE: 'Running'
BADGE: '~20M RAM'
BADGE: 'dashboard'
BADGE: 'Runs on Pi'
## the exact sentence, verbatim (vikunja)
HU: <span class="tag tag-warn" title="Ujabb valtozat erheto el ehhez az alkalmazashoz. A frissites inditasahoz nyomd meg a Frissites gombot.">Frissites elerheto — ma</span>
(accents intact in the page; transliterated here only to keep this file ASCII-searchable)
EN: <span class="tag tag-warn" title="A newer version of this app is available. Select the Update button to start it.">Update available — today</span>