9c69b3ff07
gates / gates (push) Successful in 27s
Evidence off the machine at the end of the phases that produced it (R-320). Teardown follows. PHASE 2 — the two database engines, through the REAL Update button: - MariaDB 11.6 -> 12.3 on nextcloud: PROVEN, and pressed through the button for the first time. All four SPIKE-r459 observables: the datadir's own record moved 11.6.2 -> 12.3.3; the engine itself says "already upgraded ... no need to run mariadb-upgrade again"; the entrypoint says "Major version upgrade detected ... Check required!" and then STARTED and FINISHED it (not the `skipped due to $MARIADB_AUTO_UPGRADE` line R-459 feared); and the engine took its own pre-upgrade backup, 631 905 B. The seeded Nextcloud account read back. - PostgreSQL 16 -> 17 on docmost: FAILED exactly as R-463 predicted and nobody had measured. 5.1 s to held; the pin named 17 while nothing ran; the restore brought it back in 29.1 s. The engine's REFUSAL LINE was destroyed by failAndHold before any probe could read it, so it was REPRODUCED INDEPENDENTLY with a control on every step (R-320). PHASE 3 — the bad days. B1 produced THE UNATTENDED HOLD, which this project has never had: the caller pressed once with nobody watching, the app held after 312.9 s, and passes 2 and 3 pressed nothing. B2 put the pin back on a pull failure in 1.0 s. B3 refused `busy` six times. B4 showed there is NO single-flight — 5 of 5 updates ran at once and all ended honest. B5 cut the power in `backing-up` and the box recovered itself and said so. B7 refused under the 2 GB floor. B9 found R-458's risk narrower than the row states. PHASE 4 — every badge on the box is TRUE, and the held app answers all four of Q4's questions. FINDINGS, five new and three corrections to existing rows. The one that matters: R-618 is P1 — two templates name a health probe the app does not answer, and because the guarded update waits on that same probe, a SUCCESSFUL update ends by STOPPING a working app. Measured: tandoor served HTTP 200 on the new version at four samples across five minutes and was then stopped. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
26 lines
2.1 KiB
Plaintext
26 lines
2.1 KiB
Plaintext
21:25:26 ==== vikunja: vikunja/vikunja:2.3.0 -> vikunja/vikunja:2.6.0 (sub=tasks, class=other)
|
||
21:25:26 [1] vikunja already deployed — reusing
|
||
21:25:28 [2] seeding through the app's own front door
|
||
21:25:28 vikunja: register http=200
|
||
21:25:28 vikunja: create project http=201
|
||
21:25:28 [3] control C1 — reading the seed back BEFORE the update
|
||
21:25:29 vikunja: readback of the seeded project http=200 ok=True
|
||
21:25:29 [4] „Mentés most" -> 200 {'ok': True, 'message': 'Mentés elindítva'}
|
||
21:26:14 [4] backup idle; last=None
|
||
21:26:15 [5] drill commit 98eda8839128: vikunja vikunja/vikunja:2.3.0 -> vikunja/vikunja:2.6.0 (push rc=0)
|
||
21:26: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:26: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:26: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:26:20 + 0.0s phase=safety-dump label=Adatbázis pillanatkép… err=None hold=None
|
||
21:26:21 + 1.0s phase=pulling label=Új verzió letöltése… err=None hold=None
|
||
21:26:24 + 4.1s phase=starting label=Indítás az új verzióval… err=None hold=None
|
||
21:26:25 + 5.2s phase=verifying label=Működés ellenőrzése… err=None hold=None
|
||
21:26:44 + 24.6s phase=done label=Frissítve err=None hold=None
|
||
21:26:44 [7] reading the seed back AFTER the update
|
||
21:26:45 vikunja: readback of the seeded project http=200 ok=True
|
||
21:26:47 [8] pinned = {'vikunja': 'vikunja/vikunja:2.6.0'}
|
||
21:26:47 [8] installed = {'vikunja': 'vikunja/vikunja:2.6.0'}
|
||
21:26:47 [8] compose = ['image: vikunja/vikunja:2.6.0']
|
||
21:26:47 [8] inspect = ['vikunja vikunja/vikunja:2.6.0 running=true restarts=0']
|
||
21:26:47 [9] verdict proven -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/update-night-2026-09-21/apps/vikunja/verdict.json
|