THE TWENTY-EIGHT: every app no drill had touched, walked in one night
gates / gates (push) Successful in 27s
gates / gates (push) Successful in 27s
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
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
code-server | [migrations] started
|
||||
code-server | [migrations] no migrations found
|
||||
code-server | ───────────────────────────────────────
|
||||
code-server |
|
||||
code-server | ██╗ ███████╗██╗ ██████╗
|
||||
code-server | ██║ ██╔════╝██║██╔═══██╗
|
||||
code-server | ██║ ███████╗██║██║ ██║
|
||||
code-server | ██║ ╚════██║██║██║ ██║
|
||||
code-server | ███████╗███████║██║╚██████╔╝
|
||||
code-server | ╚══════╝╚══════╝╚═╝ ╚═════╝
|
||||
code-server |
|
||||
code-server | Brought to you by linuxserver.io
|
||||
code-server | ───────────────────────────────────────
|
||||
code-server |
|
||||
code-server | To support LSIO projects visit:
|
||||
code-server | https://www.linuxserver.io/donate/
|
||||
code-server |
|
||||
code-server | ───────────────────────────────────────
|
||||
code-server | GID/UID
|
||||
code-server | ───────────────────────────────────────
|
||||
code-server |
|
||||
code-server | User UID: 1000
|
||||
code-server | User GID: 1000
|
||||
code-server | ───────────────────────────────────────
|
||||
code-server | Linuxserver.io version: 4.138.0-ls366
|
||||
code-server | Build-date: 2026-09-22T10:14:48+00:00
|
||||
code-server | ───────────────────────────────────────
|
||||
code-server |
|
||||
code-server | [custom-init] No custom files found, skipping...
|
||||
code-server | [2026-09-22T11:53:45.337Z] info code-server 4.138.0 59c988c744a240b05b039f57b856a5312f19d5b1
|
||||
code-server | [2026-09-22T11:53:45.339Z] info Using user-data-dir /config/data
|
||||
code-server | [2026-09-22T11:53:45.369Z] info Using config file /config/.config/code-server/config.yaml
|
||||
code-server | [2026-09-22T11:53:45.369Z] info HTTP server listening on http://[::]:8443/
|
||||
code-server | [2026-09-22T11:53:45.369Z] info - Authentication is enabled
|
||||
code-server | [2026-09-22T11:53:45.370Z] info - Using password from $PASSWORD
|
||||
code-server | [2026-09-22T11:53:45.371Z] info - Not serving HTTPS
|
||||
code-server | [2026-09-22T11:53:45.371Z] info Session server listening on /config/data/code-server-ipc.sock
|
||||
code-server | Connection to 127.0.0.1 8443 port [tcp/*] succeeded!
|
||||
code-server | [ls.io-init] done.
|
||||
@@ -0,0 +1,29 @@
|
||||
13:51:00 ==== code-server (sub=code, class=file-leg, edge={'from': 'lscr.io/linuxserver/code-server:4.129.0', 'to': 'lscr.io/linuxserver/code-server:4.138.0'})
|
||||
13:51:00 [1] required fields filled beyond DOMAIN/SUBDOMAIN: ['PASSWORD']
|
||||
13:51:00 [1] deploy -> 202 {'ok': True, 'message': 'Telepítés elindítva – az állapot a kártyán követhető'}
|
||||
13:51:40 [1] deployed, controller state=running, pinned={'code-server': 'lscr.io/linuxserver/code-server:4.129.0'}
|
||||
13:51:40 [1] front door 502 controller state=running
|
||||
13:51:51 code-server: no non-browser seed route — its front door is a browser IDE behind one password; it exposes no data API, and writing a file with docker exec would not be the front door (R-156)
|
||||
13:51:51 [2] fixture found no route — inconclusive for the data half
|
||||
13:51:51 [4] „Mentés most" -> 409 {'ok': False, 'error': 'Mentés már folyamatban'}
|
||||
13:52:56 [4] backup idle; last=None
|
||||
13:52:56 [4] backups page offers 1 restorable copy(ies)
|
||||
13:52:57 [5] drill commit 10e7d44e0be4: code-server lscr.io/linuxserver/code-server:4.129.0 -> lscr.io/linuxserver/code-server:4.138.0 (push rc=0)
|
||||
13:53:14 [sync] the badge needed 16.8s and 3 sync+rescan rounds to catch up to lscr.io/linuxserver/code-server:4.138.0 — R-607's window, measured
|
||||
13:53:14 [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:53:14 [6] Update -> 202 {'ok': True, 'data': {'accepted': True, 'completed': False}, 'message': 'Frissítés elindult – az állapot a kártyán követhető'}
|
||||
13:53:14 + 0.0s phase=safety-dump label=Adatbázis pillanatkép… err=None hold=None
|
||||
13:53:15 + 1.0s phase=pulling label=Új verzió letöltése… err=None hold=None
|
||||
13:53:40 + 25.7s phase=starting label=Indítás az új verzióval… err=None hold=None
|
||||
13:53:44 + 29.8s phase=verifying label=Működés ellenőrzése… err=None hold=None
|
||||
13:53:49 + 35.0s phase=done label=Frissítve err=None hold=None
|
||||
13:53:52 [R] restoring code-server from snapshot 'helyi' (of 1 offered)
|
||||
13:53:52 [R] POST /backup/restore -> HTTP/2 302 ['location: /backups/restore?flash=flash.restore.started']
|
||||
13:53:52 + 0.0s restore (True, None, None)
|
||||
13:54:06 + 14.2s restore (False, None, None)
|
||||
13:54:06 [R] after restore: state=running hold=None phase=done
|
||||
13:54:24 [6] restore -> ok, seed back = False
|
||||
13:54:43 [X] stop -> 200 {'ok': True, 'message': 'Stack code-server stop completed'}
|
||||
13:54:49 [X] remove (with drive data) -> 200 {'ok': True, 'data': {'removed': 'code-server', 'volumes_removed': [], 'hdd_paths_removed': [], 'hdd_paths_preserved': [], 'hdd_note': 'Az alkalmazás nem tárolt
|
||||
13:54:57 [X] after remove: deployed=False leftovers='/opt/docker/stacks/code-server'
|
||||
13:55:59 [7] 60 s after remove: clean=True ''
|
||||
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"harness_version": 2,
|
||||
"app": "code-server",
|
||||
"venue": "guest 9202 demo-hp-scratch, controller 0.261.0, drill catalog",
|
||||
"class": "file-leg",
|
||||
"from": {
|
||||
"code-server": "lscr.io/linuxserver/code-server:4.129.0"
|
||||
},
|
||||
"to": {
|
||||
"code-server": "lscr.io/linuxserver/code-server:4.138.0"
|
||||
},
|
||||
"verdict": "inconclusive",
|
||||
"deployed": true,
|
||||
"seed_route": "none — its front door is a browser IDE behind one password; it exposes no data API, and writing a file with docker exec would not be the front door (R-156)",
|
||||
"seed_read_before": false,
|
||||
"seed_read_after_update": false,
|
||||
"backup": {
|
||||
"snapshots_offered": 1,
|
||||
"first": {
|
||||
"time": "2026-09-22T11:52:06Z",
|
||||
"short_id": "helyi",
|
||||
"tier": 1,
|
||||
"drive_label": "Belső SSD (rendszer)"
|
||||
}
|
||||
},
|
||||
"restore_verdict": "ok",
|
||||
"seed_read_after_restore": false,
|
||||
"healthy_after": true,
|
||||
"migration_observed": "code-server | [migrations] started",
|
||||
"removed_clean": true,
|
||||
"edge": {
|
||||
"from": "lscr.io/linuxserver/code-server:4.129.0",
|
||||
"to": "lscr.io/linuxserver/code-server:4.138.0"
|
||||
},
|
||||
"duration_s": 299.9,
|
||||
"measured_at": "2026-09-22T11:51:00.021346+00:00",
|
||||
"evidence": "the-28-2026-09-22/apps/code-server/",
|
||||
"notes": [
|
||||
"fixture ran and found no non-browser seed route: its front door is a browser IDE behind one password; it exposes no data API, and writing a file with docker exec would not be the front door (R-156)",
|
||||
"teardown error: AttributeError: 'NoneType' object has no attribute 'get'"
|
||||
],
|
||||
"front_door_after_deploy": {
|
||||
"rc": 0,
|
||||
"code": "502"
|
||||
},
|
||||
"drill_commit": "10e7d44e0be4",
|
||||
"badge_seconds": 16.8,
|
||||
"badges": {
|
||||
"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"
|
||||
}
|
||||
]
|
||||
},
|
||||
"phases": {
|
||||
"accepted": true,
|
||||
"http": "202",
|
||||
"phases": [
|
||||
{
|
||||
"t": 0.0,
|
||||
"phase": "safety-dump",
|
||||
"label": "Adatbázis pillanatkép…",
|
||||
"updating": true,
|
||||
"error": null,
|
||||
"hold": null
|
||||
},
|
||||
{
|
||||
"t": 1.0,
|
||||
"phase": "pulling",
|
||||
"label": "Új verzió letöltése…",
|
||||
"updating": true,
|
||||
"error": null,
|
||||
"hold": null
|
||||
},
|
||||
{
|
||||
"t": 25.7,
|
||||
"phase": "starting",
|
||||
"label": "Indítás az új verzióval…",
|
||||
"updating": true,
|
||||
"error": null,
|
||||
"hold": null
|
||||
},
|
||||
{
|
||||
"t": 29.8,
|
||||
"phase": "verifying",
|
||||
"label": "Működés ellenőrzése…",
|
||||
"updating": true,
|
||||
"error": null,
|
||||
"hold": null
|
||||
},
|
||||
{
|
||||
"t": 35.0,
|
||||
"phase": "done",
|
||||
"label": "Frissítve",
|
||||
"updating": false,
|
||||
"error": null,
|
||||
"hold": null
|
||||
}
|
||||
],
|
||||
"duration_s": 35.0,
|
||||
"final_phase": "done",
|
||||
"update_error": null,
|
||||
"hold_reason": null,
|
||||
"state": "running"
|
||||
},
|
||||
"observables": {
|
||||
"pinned_images": {
|
||||
"code-server": "lscr.io/linuxserver/code-server:4.138.0"
|
||||
},
|
||||
"installed_images": {
|
||||
"code-server": "lscr.io/linuxserver/code-server:4.138.0"
|
||||
},
|
||||
"catalog_images": {
|
||||
"code-server": "lscr.io/linuxserver/code-server:4.138.0"
|
||||
},
|
||||
"live_compose_image_lines": [
|
||||
"image: lscr.io/linuxserver/code-server:4.138.0"
|
||||
],
|
||||
"docker_inspect": [
|
||||
"code-server lscr.io/linuxserver/code-server:4.138.0 running=true restarts=0"
|
||||
]
|
||||
},
|
||||
"update_phase_final": "done",
|
||||
"restore_raw": "{'ok': True, 'snapshot_id': 'helyi', 'snapshots': [{'time': '2026-09-22T11:52:06Z', 'short_id': 'helyi', 'tier': 1, 'drive_label': 'Belső SSD (rendszer)'}], 'http': 'HTTP/2 302', 'location': ['location: /backups/restore?flash=flash.restore.started'], 'seconds': 14.2, 'state_after': 'running', 'hold_after': None, 'observables_after': {'pinned_images': {'code-server': 'lscr.io/linuxserver/code-serve",
|
||||
"restore_refusal": null,
|
||||
"remove_leftovers": ""
|
||||
}
|
||||
Reference in New Issue
Block a user