186546d562
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
160 lines
5.6 KiB
JSON
160 lines
5.6 KiB
JSON
{
|
|
"harness_version": 2,
|
|
"app": "immich",
|
|
"venue": "guest 9202 demo-hp-scratch, controller 0.261.0, drill catalog",
|
|
"class": "db",
|
|
"from": {
|
|
"immich-machine-learning": "ghcr.io/immich-app/immich-machine-learning:v3.0.3",
|
|
"immich-postgres": "ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0",
|
|
"immich-redis": "redis:7-alpine",
|
|
"immich-server": "ghcr.io/immich-app/immich-server:v3.0.3"
|
|
},
|
|
"to": {
|
|
"immich-machine-learning": "ghcr.io/immich-app/immich-machine-learning:v3.0.3",
|
|
"immich-postgres": "ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0",
|
|
"immich-redis": "redis:7-alpine",
|
|
"immich-server": "ghcr.io/immich-app/immich-server:v3.2.2"
|
|
},
|
|
"verdict": "proven",
|
|
"deployed": true,
|
|
"seed_route": "its own /api/auth/admin-sign-up, then an album",
|
|
"seed_read_before": true,
|
|
"seed_read_after_update": true,
|
|
"backup": {
|
|
"snapshots_offered": 1,
|
|
"first": {
|
|
"time": "2026-09-22T12:14:47Z",
|
|
"short_id": "helyi",
|
|
"tier": 1,
|
|
"drive_label": "immich"
|
|
}
|
|
},
|
|
"restore_verdict": "refused-with-a-sentence",
|
|
"seed_read_after_restore": true,
|
|
"healthy_after": true,
|
|
"migration_observed": null,
|
|
"removed_clean": true,
|
|
"edge": {
|
|
"from": "ghcr.io/immich-app/immich-server:v3.0.3",
|
|
"to": "ghcr.io/immich-app/immich-server:v3.2.2"
|
|
},
|
|
"duration_s": 375.0,
|
|
"measured_at": "2026-09-22T12:12:19.159912+00:00",
|
|
"evidence": "the-28-2026-09-22/apps/immich/",
|
|
"notes": [],
|
|
"front_door_after_deploy": {
|
|
"rc": 0,
|
|
"code": "200"
|
|
},
|
|
"drill_commit": "dd0768771f63",
|
|
"badge_seconds": 4.6,
|
|
"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": "checking",
|
|
"label": "Ellenőrzés…",
|
|
"updating": true,
|
|
"error": null,
|
|
"hold": null
|
|
},
|
|
{
|
|
"t": 1.1,
|
|
"phase": "safety-dump",
|
|
"label": "Adatbázis pillanatkép…",
|
|
"updating": true,
|
|
"error": null,
|
|
"hold": null
|
|
},
|
|
{
|
|
"t": 3.1,
|
|
"phase": "pulling",
|
|
"label": "Új verzió letöltése…",
|
|
"updating": true,
|
|
"error": null,
|
|
"hold": null
|
|
},
|
|
{
|
|
"t": 67.9,
|
|
"phase": "starting",
|
|
"label": "Indítás az új verzióval…",
|
|
"updating": true,
|
|
"error": null,
|
|
"hold": null
|
|
},
|
|
{
|
|
"t": 70.0,
|
|
"phase": "verifying",
|
|
"label": "Működés ellenőrzése…",
|
|
"updating": true,
|
|
"error": null,
|
|
"hold": null
|
|
},
|
|
{
|
|
"t": 90.5,
|
|
"phase": "done",
|
|
"label": "Frissítve",
|
|
"updating": false,
|
|
"error": null,
|
|
"hold": null
|
|
}
|
|
],
|
|
"duration_s": 90.6,
|
|
"final_phase": "done",
|
|
"update_error": null,
|
|
"hold_reason": null,
|
|
"state": "running"
|
|
},
|
|
"observables": {
|
|
"pinned_images": {
|
|
"immich-machine-learning": "ghcr.io/immich-app/immich-machine-learning:v3.0.3",
|
|
"immich-postgres": "ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0",
|
|
"immich-redis": "redis:7-alpine",
|
|
"immich-server": "ghcr.io/immich-app/immich-server:v3.2.2"
|
|
},
|
|
"installed_images": {
|
|
"immich-machine-learning": "ghcr.io/immich-app/immich-machine-learning:v3.0.3",
|
|
"immich-postgres": "ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0",
|
|
"immich-redis": "redis:7-alpine",
|
|
"immich-server": "ghcr.io/immich-app/immich-server:v3.2.2"
|
|
},
|
|
"catalog_images": {
|
|
"immich-machine-learning": "ghcr.io/immich-app/immich-machine-learning:v3.0.3",
|
|
"immich-postgres": "ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0",
|
|
"immich-redis": "redis:7-alpine",
|
|
"immich-server": "ghcr.io/immich-app/immich-server:v3.2.2"
|
|
},
|
|
"live_compose_image_lines": [
|
|
"image: ghcr.io/immich-app/immich-server:v3.2.2",
|
|
"image: ghcr.io/immich-app/immich-machine-learning:v3.0.3",
|
|
"image: ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0",
|
|
"image: redis:7-alpine"
|
|
],
|
|
"docker_inspect": [
|
|
"immich-server ghcr.io/immich-app/immich-server:v3.2.2 running=true restarts=0",
|
|
"immich-redis redis:7-alpine running=true restarts=0",
|
|
"immich-postgres ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0 running=true restarts=0",
|
|
"immich-machine-learning ghcr.io/immich-app/immich-machine-learning:v3.0.3 running=true restarts=0"
|
|
]
|
|
},
|
|
"update_phase_final": "done",
|
|
"restore_raw": "{'ok': True, 'snapshot_id': 'helyi', 'snapshots': [{'time': '2026-09-22T12:14:58Z', 'short_id': 'helyi', 'tier': 1, 'drive_label': 'immich'}], 'http': 'HTTP/2 302', 'location': ['location: /backups/restore?flash_error=Ez+a+ment%C3%A9s+nem+tartalmazza+az+alkalmaz%C3%A1s+f%C3%A1jljait%2C+ez%C3%A9rt+nem+%C3%A1ll%C3%ADtjuk+vissza+az+adatb%C3%A1zist+f%C3%B6l%C3%A9j%C3%BCk+%E2%80%94+a+f%C3%A1jlok+%C3%AD",
|
|
"restore_refusal": "Ez a mentés nem tartalmazza az alkalmazás fájljait, ezért nem állítjuk vissza az adatbázist föléjük — a fájlok így a helyükön maradnak. A fájlok a távoli másolatból állíthatók vissza: Biztonsági mentés → Visszaállítás, „Teljes visszaállítás (fájlok + adatbázis)”.",
|
|
"remove_leftovers": ""
|
|
} |