da20722e76
gates / gates (push) Successful in 27s
INTERIM CHECKPOINT — evidence off the machine at the end of the phase that produced it (R-320), not at the end of the session. Phases 2-5 follow in a later commit. Phase 0, all three mechanisms proven with their controls: - the fleet floor to 0.261.0 with its declared MinAgent — both demo boxes in 13 s, the hub logging `managed floor SERVED ... from declared (golden 0.258.0)`. - a PRIVATE DRILL CATALOG (admin/app-catalog-drill), so that broken, dummy, cross-repo and engine-major edges can be measured without the live catalog ever carrying one. Positive control quoted, and two negative controls: the live catalog's main and both real boxes' caches unchanged. - a throwaway image store on the scratch guest, which is what makes an UNATTENDED HOLD measurable at all: an edge that PASSES the within-a-major test and still fails. CompareImageRefs was proven to order host:port/ references by RUNNING it (4 positive cases + 1 negative control), not by reading it. Phase 1: real within-a-major upstream edges walked on guest 9202 through the product's own guarded Update, each app seeded and read back through its OWN front door (R-156), with a per-edge verdict record in 09's shape. `inconclusive` is never collapsed into `failed`. TWO INSTRUMENT FIXES, both in this repo's own evidence code: - 00-api-recipe.md said the app page is /app/<n>; it is /apps/<n>, and every call it described 404s. Corrected, with the session-expiry note that cost the same time. - unattended-caller.py's follow() read update_phase/updating off the API ENVELOPE, so both were always None and EVERY followed update ran to its 900 s timeout and was then recorded `timeout` and never-press-again. Fixed before B1 relied on it. R-623. No controller, agent or hub code was written. The live catalog carries no broken reference. Gates: repo_gates.py --fast — all 15 OK, exit 0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
152 lines
13 KiB
Plaintext
152 lines
13 KiB
Plaintext
################ 21:02:25 grafana
|
||
21:02:25 ==== grafana: grafana/grafana:13.1.0 -> grafana/grafana:13.2.2 (sub=grafana, class=other)
|
||
21:02:25 [1] required fields filled beyond DOMAIN/SUBDOMAIN: ['GF_SECURITY_ADMIN_PASSWORD']
|
||
21:02:25 [1] deploy -> 202 {'ok': True, 'message': 'Telepítés elindítva – az állapot a kártyán követhető'}
|
||
21:03:16 [1] deployed, controller state=running, pinned={'grafana': 'grafana/grafana:13.1.0'}
|
||
21:03:18 [2] seeding through the app's own front door
|
||
21:03:18 grafana: create folder http=200
|
||
21:03:18 [3] control C1 — reading the seed back BEFORE the update
|
||
21:03:18 grafana: readback of the seeded folder http=200 ok=True
|
||
21:03:18 [4] „Mentés most" -> 200 {'ok': True, 'message': 'Mentés elindítva'}
|
||
21:04:19 [4] backup idle; last=None
|
||
21:04:20 [5] drill commit f36b5183055e: grafana grafana/grafana:13.1.0 -> grafana/grafana:13.2.2 (push rc=0)
|
||
21:04:24 [5] badge HU: [{'title': 'Újabb változat érhető el ehhez az alkalmazáshoz. A frissítés indításához nyomd meg a Frissítés gombot.', 'text': 'Frissítés elérhető — ma'}]
|
||
21:04:24 [5] badge EN: [{'title': 'A newer version of this app is available. Select the Update button to start it.', 'text': 'Update available — today'}]
|
||
21:04:24 [6] Update -> 202 {'ok': True, 'data': {'accepted': True, 'completed': False}, 'message': 'Frissítés elindult – az állapot a kártyán követhető'}
|
||
21:04:25 + 0.0s phase=safety-dump label=Adatbázis pillanatkép… err=None hold=None
|
||
21:04:26 + 1.1s phase=pulling label=Új verzió letöltése… err=None hold=None
|
||
21:04:44 + 19.5s phase=starting label=Indítás az új verzióval… err=None hold=None
|
||
21:04:46 + 21.5s phase=verifying label=Működés ellenőrzése… err=None hold=None
|
||
21:04:51 + 26.7s phase=done label=Frissítve err=None hold=None
|
||
21:04:51 [7] reading the seed back AFTER the update
|
||
21:04:56 grafana: readback of the seeded folder http=200 ok=True
|
||
21:04:59 [8] pinned = {'grafana': 'grafana/grafana:13.2.2'}
|
||
21:04:59 [8] installed = {'grafana': 'grafana/grafana:13.2.2'}
|
||
21:04:59 [8] compose = ['image: grafana/grafana:13.2.2']
|
||
21:04:59 [8] inspect = ['grafana grafana/grafana:13.2.2 running=true restarts=0']
|
||
21:04:59 [9] verdict proven -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/update-night-2026-09-21/apps/grafana/verdict.json
|
||
21:05:07 [X] stop -> 200 {'ok': True, 'message': 'Stack grafana stop completed'}
|
||
21:05:13 [X] remove -> 200 {'ok': True, 'data': {'removed': 'grafana', 'volumes_removed': ['grafana_grafana_data'], 'hdd_paths_removed': [], 'hdd_paths_preserved': [],
|
||
21:05:20 [X] after remove: deployed=False leftovers='/opt/docker/stacks/grafana'
|
||
################ 21:05:20 grafana done rc=0
|
||
################ 21:05:20 vikunja
|
||
21:05:20 ==== vikunja: vikunja/vikunja:2.3.0 -> vikunja/vikunja:2.6.0 (sub=tasks, class=other)
|
||
21:05:21 [1] deploy -> 202 {'ok': True, 'message': 'Telepítés elindítva – az állapot a kártyán követhető'}
|
||
21:05:26 [1] deployed, controller state=running, pinned={'vikunja': 'vikunja/vikunja:2.3.0'}
|
||
21:05:28 [2] seeding through the app's own front door
|
||
21:05:28 vikunja: register http=200
|
||
21:05:28 vikunja: create project http=405
|
||
21:05:28 vikunja: project refused {"message":"Method Not Allowed"}
|
||
|
||
21:05:28 [9] verdict inconclusive -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/update-night-2026-09-21/apps/vikunja/verdict.json
|
||
################ 21:05:28 vikunja done rc=0
|
||
################ 21:05:28 opengist
|
||
21:05:28 ==== opengist: ghcr.io/thomiceli/opengist:1.13 -> ghcr.io/thomiceli/opengist:1.15 (sub=gist, class=other)
|
||
21:05:29 [1] deploy -> 202 {'ok': True, 'message': 'Telepítés elindítva – az állapot a kártyán követhető'}
|
||
21:05:44 [1] deployed, controller state=running, pinned={'opengist': 'ghcr.io/thomiceli/opengist:1.13'}
|
||
21:05:46 [2] seeding through the app's own front door
|
||
21:05:46 opengist: /register http=500
|
||
21:05:46 opengist: refused
|
||
|
||
<!DOCTYPE html>
|
||
<html lang="en" class="h-full " data-theme="auto">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
|
||
|
||
<base href="https://gist.enkisfelhom.hu" />
|
||
|
||
<script>
|
||
window.opengist_bas
|
||
21:05:46 [9] verdict inconclusive -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/update-night-2026-09-21/apps/opengist/verdict.json
|
||
################ 21:05:46 opengist done rc=0
|
||
################ 21:05:46 papra
|
||
21:05:46 ==== papra: ghcr.io/papra-hq/papra:26.6.1-rootless -> ghcr.io/papra-hq/papra:26.6.2-rootless (sub=papra, class=other)
|
||
21:05:47 [1] deploy -> 202 {'ok': True, 'message': 'Telepítés elindítva – az állapot a kártyán követhető'}
|
||
21:06:37 [1] deployed, controller state=running, pinned={'papra': 'ghcr.io/papra-hq/papra:26.6.1-rootless'}
|
||
21:06:39 [2] seeding through the app's own front door
|
||
21:06:40 papra: sign-up http=200
|
||
21:06:40 [3] control C1 — reading the seed back BEFORE the update
|
||
21:06:40 papra: sign-in as the seeded account http=200 ok=True
|
||
21:06:40 [4] „Mentés most" -> 200 {'ok': True, 'message': 'Mentés elindítva'}
|
||
21:07:40 [4] backup idle; last=None
|
||
21:07:41 [5] drill commit b29623bf53d1: papra ghcr.io/papra-hq/papra:26.6.1-rootless -> ghcr.io/papra-hq/papra:26.6.2-rootless (push rc=0)
|
||
21:07:46 [5] badge HU: [{'title': 'Újabb változat érhető el ehhez az alkalmazáshoz. A frissítés indításához nyomd meg a Frissítés gombot.', 'text': 'Frissítés elérhető — ma'}]
|
||
21:07:46 [5] badge EN: [{'title': 'A newer version of this app is available. Select the Update button to start it.', 'text': 'Update available — today'}]
|
||
21:07:46 [6] Update -> 202 {'ok': True, 'data': {'accepted': True, 'completed': False}, 'message': 'Frissítés elindult – az állapot a kártyán követhető'}
|
||
21:07:46 + 0.0s phase=safety-dump label=Adatbázis pillanatkép… err=None hold=None
|
||
21:07:47 + 1.0s phase=pulling label=Új verzió letöltése… err=None hold=None
|
||
21:08:29 + 43.0s phase=starting label=Indítás az új verzióval… err=None hold=None
|
||
21:08:31 + 45.1s phase=verifying label=Működés ellenőrzése… err=None hold=None
|
||
21:08:47 + 60.5s phase=done label=Frissítve err=None hold=None
|
||
21:08:47 [7] reading the seed back AFTER the update
|
||
21:08:47 papra: sign-in as the seeded account http=200 ok=True
|
||
21:08:50 [8] pinned = {'papra': 'ghcr.io/papra-hq/papra:26.6.2-rootless'}
|
||
21:08:50 [8] installed = {'papra': 'ghcr.io/papra-hq/papra:26.6.2-rootless'}
|
||
21:08:50 [8] compose = ['image: ghcr.io/papra-hq/papra:26.6.2-rootless']
|
||
21:08:50 [8] inspect = ['papra ghcr.io/papra-hq/papra:26.6.2-rootless running=true restarts=0']
|
||
21:08:50 [9] verdict proven -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/update-night-2026-09-21/apps/papra/verdict.json
|
||
21:08:51 [X] stop -> 200 {'ok': True, 'message': 'Stack papra stop completed'}
|
||
21:08:56 [X] remove -> 200 {'ok': True, 'data': {'removed': 'papra', 'volumes_removed': ['papra_papra_data'], 'hdd_paths_removed': [], 'hdd_paths_preserved': [], 'hdd_
|
||
21:09:03 [X] after remove: deployed=False leftovers='/opt/docker/stacks/papra'
|
||
################ 21:09:03 papra done rc=0
|
||
################ 21:09:03 romm
|
||
21:09:03 ==== romm: rommapp/romm:5.0.0 -> rommapp/romm:5.3.0 (sub=arcade, class=db-mariadb)
|
||
21:09:06 [1] made the drive paths this app requires: ['/mnt/felhom-drives/scratch_hdd/userdata/romm']
|
||
21:09:06 [1] required fields filled beyond DOMAIN/SUBDOMAIN: ['HDD_PATH']
|
||
21:09:06 [1] deploy -> 202 {'ok': True, 'message': 'Telepítés elindítva – az állapot a kártyán követhető'}
|
||
21:09:26 [1] deployed, controller state=degraded, pinned=None
|
||
21:09:26 [1] NOTE: the controller's own state is 'degraded', not 'running' — recorded, not treated as a failure; the fixture's front-door wait is the real gate
|
||
21:09:28 [2] seeding through the app's own front door
|
||
21:10:14 romm: POST /api/users http=403 :: CSRF token verification failed
|
||
21:10:14 romm: POST /api/users http=403 :: CSRF token verification failed
|
||
21:10:14 romm: no unauthenticated route created the first account
|
||
21:10:14 [9] verdict inconclusive -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/update-night-2026-09-21/apps/romm/verdict.json
|
||
################ 21:10:14 romm done rc=0
|
||
################ 21:10:14 home-assistant
|
||
21:10:14 ==== home-assistant: ghcr.io/home-assistant/home-assistant:2026.7.2 -> ghcr.io/home-assistant/home-assistant:2026.9.3 (sub=ha, class=other)
|
||
21:10:15 [1] deploy -> 202 {'ok': True, 'message': 'Telepítés elindítva – az állapot a kártyán követhető'}
|
||
21:12:05 [1] deployed, controller state=running, pinned={'home-assistant': 'ghcr.io/home-assistant/home-assistant:2026.7.2'}
|
||
21:12:08 [2] seeding through the app's own front door
|
||
21:12:08 home-assistant: /api/onboarding/users http=200
|
||
21:12:08 [3] control C1 — reading the seed back BEFORE the update
|
||
21:12:09 home-assistant: login as the seeded owner ok=True
|
||
21:12:09 [4] „Mentés most" -> 200 {'ok': True, 'message': 'Mentés elindítva'}
|
||
21:13:14 [4] backup idle; last=None
|
||
21:13:15 [5] drill commit 15a6d080f34a: home-assistant ghcr.io/home-assistant/home-assistant:2026.7.2 -> ghcr.io/home-assistant/home-assistant:2026.9.3 (push rc=0)
|
||
21:13:19 [5] badge HU: [{'title': 'Újabb változat érhető el ehhez az alkalmazáshoz. A frissítés indításához nyomd meg a Frissítés gombot.', 'text': 'Frissítés elérhető — ma'}]
|
||
21:13:19 [5] badge EN: [{'title': 'A newer version of this app is available. Select the Update button to start it.', 'text': 'Update available — today'}]
|
||
21:13:20 [6] Update -> 202 {'ok': True, 'data': {'accepted': True, 'completed': False}, 'message': 'Frissítés elindult – az állapot a kártyán követhető'}
|
||
21:13:20 + 0.0s phase=safety-dump label=Adatbázis pillanatkép… err=None hold=None
|
||
21:13:21 + 1.1s phase=pulling label=Új verzió letöltése… err=None hold=None
|
||
21:14:42 + 82.0s phase=starting label=Indítás az új verzióval… err=None hold=None
|
||
21:14:48 + 88.2s phase=verifying label=Működés ellenőrzése… err=None hold=None
|
||
21:15:03 + 103.6s phase=done label=Frissítve err=None hold=None
|
||
21:15:03 [7] reading the seed back AFTER the update
|
||
21:15:04 home-assistant: login as the seeded owner ok=True
|
||
21:15:06 [8] pinned = {'home-assistant': 'ghcr.io/home-assistant/home-assistant:2026.9.3'}
|
||
21:15:06 [8] installed = {'home-assistant': 'ghcr.io/home-assistant/home-assistant:2026.9.3'}
|
||
21:15:06 [8] compose = ['image: ghcr.io/home-assistant/home-assistant:2026.9.3']
|
||
21:15:06 [8] inspect = ['home-assistant ghcr.io/home-assistant/home-assistant:2026.9.3 running=true restarts=0']
|
||
21:15:06 [9] verdict proven -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/update-night-2026-09-21/apps/home-assistant/verdict.json
|
||
21:15:12 [X] stop -> 200 {'ok': True, 'message': 'Stack home-assistant stop completed'}
|
||
21:15:17 [X] remove -> 200 {'ok': True, 'data': {'removed': 'home-assistant', 'volumes_removed': ['home-assistant_homeassistant_config'], 'hdd_paths_removed': [], 'hdd
|
||
21:15:25 [X] after remove: deployed=False leftovers='/opt/docker/stacks/home-assistant'
|
||
################ 21:15:25 home-assistant done rc=0
|
||
################ 21:15:25 tandoor
|
||
21:15:25 ==== tandoor: ghcr.io/tandoorrecipes/recipes:2.6.13 -> ghcr.io/tandoorrecipes/recipes:2.6.15 (sub=recipes, class=db-postgres)
|
||
21:15:25 [1] tandoor already deployed — reusing
|
||
21:15:27 [2] seeding through the app's own front door
|
||
21:15:37 tandoor: createsuperuser :: Running django-vite in production mode (no HMR) Superuser created successfully.
|
||
21:15:40 tandoor: seeded superuser drill316903
|
||
21:15:40 [3] control C1 — reading the seed back BEFORE the update
|
||
21:15:46 tandoor: readback of the seeded account found=True
|
||
21:15:46 [4] „Mentés most" -> 200 {'ok': True, 'message': 'Mentés elindítva'}
|
||
21:16:42 [4] backup idle; last=None
|
||
21:16:43 [5] drill commit c7477d1fb921: tandoor ghcr.io/tandoorrecipes/recipes:2.6.13 -> ghcr.io/tandoorrecipes/recipes:2.6.15 (push rc=0)
|
||
21:16:47 [5] badge HU: [{'title': 'Újabb változat érhető el ehhez az alkalmazáshoz. A frissítés indításához nyomd meg a Frissítés gombot.', 'text': 'Frissítés elérhető — ma'}]
|
||
21:16:47 [5] badge EN: [{'title': 'A newer version of this app is available. Select the Update button to start it.', 'text': 'Update available — today'}]
|
||
21:16:47 [6] Update -> 202 {'ok': True, 'data': {'accepted': True, 'completed': False}, 'message': 'Frissítés elindult – az állapot a kártyán követhető'}
|
||
21:16:47 + 0.0s phase=safety-dump label=Adatbázis pillanatkép… err=None hold=None
|
||
21:16:48 + 1.0s phase=pulling label=Új verzió letöltése… err=None hold=None
|