Files
felhom.eu/documentation/audits/the-28-2026-09-22/apps/termix/log.txt
T
admin 186546d562
gates / gates (push) Successful in 27s
THE TWENTY-EIGHT: every app no drill had touched, walked in one night
All 28 walked on scratch guest 9202 against the private drill catalog. 26 deployed, 6 proven,
5 inconclusive, 14 with no upstream edge, 1 failed honestly (outline 1.9.1->1.10.1, HELD with the
right sentence), 2 undeployable - one (plant-it) by design, refused by the lifecycle gate, proven
live for the first time. Each app also got the half the update night skipped: a restore from its own
copy with the seed read back again - 21 restored, 2 correctly REFUSED per 07 6.2.

R-630 RAISED TO P1 by measurement: a stack with NO probe container does not skip verifying - it
waits out the full health timeout and HOLDS, stopping an app whose three containers read healthy.
The controller's own words: "not healthy within 5m0s (last: no probe container)".

R-633 opened: a remove sent during a restore reports success and leaves a container restarting with
a live public route. The product already refuses that clash for update and for restore, naming the
blocker; remove has no such guard.

R-634 opened: an app can be running, healthy and serving while recorded as deployed=false, and is
then unremovable. Reproducible alone on sparkyfitness; concurrency-linked on two others.

R-631 and R-632 CLOSED. Register 321 -> 323. Seven interventions, six of them my own harness -
named, with what each cost. No product code. The live catalog's image: lines are byte-identical to
the start of the night.

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

31 lines
2.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
13:35:36 ==== termix (sub=termix, class=file-leg, edge={'from': 'ghcr.io/lukegus/termix:2.5.0', 'to': 'ghcr.io/lukegus/termix:2.8.0'})
13:35:36 [1] deploy -> 202 {'ok': True, 'message': 'Telepítés elindítva – az állapot a kártyán követhető'}
13:36:01 [1] deployed, controller state=running, pinned={'termix': 'ghcr.io/lukegus/termix:2.5.0'}
13:36:01 [1] front door 200 controller state=running
13:36:02 termix: seeded user drill343476c7 via /users/create
13:36:02 termix: readback found=True (http 200, control refused as it must)
13:36:02 [3] C1 readback before = True
13:36:02 [4] „Mentés most" -> 200 {'ok': True, 'message': 'Mentés elindítva'}
13:36:37 [4] backup idle; last=None
13:36:37 [4] backups page offers 1 restorable copy(ies)
13:36:38 [5] drill commit d41fc1cb0f53: termix ghcr.io/lukegus/termix:2.5.0 -> ghcr.io/lukegus/termix:2.8.0 (push rc=0)
13:36:43 [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'}], 'en': [{'title': 'A newer version of this app is available. Select the Update button to start it.', 'text': 'Update available — today'}]}
13:36:43 [6] Update -> 202 {'ok': True, 'data': {'accepted': True, 'completed': False}, 'message': 'Frissítés elindult – az állapot a kártyán követhető'}
13:36:43 + 0.0s phase=safety-dump label=Adatbázis pillanatkép… err=None hold=None
13:36:44 + 1.1s phase=pulling label=Új verzió letöltése… err=None hold=None
13:37:12 + 28.7s phase=starting label=Indítás az új verzióval… err=None hold=None
13:37:25 + 42.1s phase=verifying label=Működés ellenőrzése… err=None hold=None
13:37:30 + 47.2s phase=done label=Frissítve err=None hold=None
13:37:34 termix: readback found=True (http 200, control refused as it must)
13:37:34 [R] restoring termix from snapshot 'helyi' (of 1 offered)
13:37:34 [R] POST /backup/restore -> HTTP/2 302 ['location: /backups/restore?flash=flash.restore.started']
13:37:34 + 0.0s restore (True, None, None)
13:37:44 + 10.1s restore (False, None, None)
13:37:44 [R] after restore: state=running hold=None phase=done
13:37:57 termix: readback found=True (http 200, control refused as it must)
13:37:57 [6] restore -> ok, seed back = True
13:38:10 [X] stop -> 200 {'ok': True, 'message': 'Stack termix stop completed'}
13:38:15 [X] remove (with drive data) -> 200 {'ok': True, 'data': {'removed': 'termix', 'volumes_removed': [], 'hdd_paths_removed': [], 'hdd_paths_preserved': [], 'hdd_note': 'Az alkalmazás nem tárolt sajá
13:38:23 [X] after remove: deployed=False leftovers='/opt/docker/stacks/termix'
13:39:26 [7] 60 s after remove: clean=False 'termix'