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
43 lines
4.5 KiB
Plaintext
43 lines
4.5 KiB
Plaintext
=== adventurelog backend, last 40 lines
|
|
Error response from daemon: No such container: adventurelog
|
|
|
|
=== frontend, last 20
|
|
Error response from daemon: No such container: adventurelog-frontend
|
|
|
|
=== container states
|
|
2026/09/21 18:53:54 auth.go:142: [DEBUG] [web] auth: valid session for GET /api/stacks/adventurelog
|
|
2026/09/21 18:53:54 router.go:81: [DEBUG] [api] GET /api/stacks/adventurelog (path=/stacks/adventurelog)
|
|
2026/09/21 18:53:55 settings.go:1738: [WARN] [settings] restore hold SET for adventurelog — the app stays stopped until it is cleared
|
|
2026/09/21 18:53:55 update_guard.go:531: [WARN] [backup] adventurelog is HELD STOPPED after a failed update (restore point: tier 1 "saját meghajtó", 2026-09-21T18:47:19Z; holds: "a beállításokat, az adatbázist és az adatköteteket tartalmazza")
|
|
2026/09/21 18:53:55 auth.go:142: [DEBUG] [web] auth: valid session for GET /api/stacks/adventurelog
|
|
2026/09/21 18:53:55 router.go:81: [DEBUG] [api] GET /api/stacks/adventurelog (path=/stacks/adventurelog)
|
|
2026/09/21 18:53:55 auth.go:142: [DEBUG] [web] auth: valid session for GET /api/stacks/adventurelog
|
|
2026/09/21 18:53:55 router.go:81: [DEBUG] [api] GET /api/stacks/adventurelog (path=/stacks/adventurelog)
|
|
2026/09/21 18:54:03 auth.go:142: [DEBUG] [web] auth: valid session for GET /api/stacks/adventurelog
|
|
2026/09/21 18:54:03 router.go:81: [DEBUG] [api] GET /api/stacks/adventurelog (path=/stacks/adventurelog)
|
|
2026/09/21 18:54:03 auth.go:142: [DEBUG] [web] auth: valid session for GET /api/stacks/adventurelog
|
|
2026/09/21 18:54:03 router.go:81: [DEBUG] [api] GET /api/stacks/adventurelog (path=/stacks/adventurelog)
|
|
2026/09/21 18:54:06 auth.go:142: [DEBUG] [web] auth: valid session for GET /api/stacks/adventurelog/logs
|
|
2026/09/21 18:54:06 router.go:81: [DEBUG] [api] GET /api/stacks/adventurelog/logs (path=/stacks/adventurelog/logs)
|
|
2026/09/21 18:54:06 manager.go:1290: [INFO] [stacks] Fetching logs for stack adventurelog (tail=500)
|
|
2026/09/21 18:54:06 manager.go:1397: [DEBUG] Running: docker compose logs --tail 500 --no-color (in /opt/docker/stacks/adventurelog)
|
|
2026/09/21 18:54:06 manager.go:1300: [DEBUG] Logs result for adventurelog: 0 bytes returned (empty)
|
|
2026/09/21 18:54:06 auth.go:142: [DEBUG] [web] auth: valid session for GET /api/stacks/adventurelog
|
|
2026/09/21 18:54:06 router.go:81: [DEBUG] [api] GET /api/stacks/adventurelog (path=/stacks/adventurelog)
|
|
2026/09/21 18:54:08 auth.go:142: [DEBUG] [web] auth: valid session for GET /api/stacks/adventurelog
|
|
2026/09/21 18:54:08 router.go:81: [DEBUG] [api] GET /api/stacks/adventurelog (path=/stacks/adventurelog)
|
|
2026/09/21 18:54:43 backup.go:465: [DEBUG] groupStacksByDrive: /mnt/sys_drive → [adventurelog, gitea, glance, tandoor, uptime-kuma, vaultwarden, wishlist, zipline]
|
|
2026/09/21 18:54:43 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/adventurelog/docker-compose.yml
|
|
2026/09/21 18:54:43 sync.go:416: [DEBUG] [sync] adventurelog/docker-compose.yml: hash match, skipped
|
|
2026/09/21 18:54:43 sync.go:416: [DEBUG] [sync] adventurelog/.felhom.yml: hash match, skipped
|
|
2026/09/21 18:48:09 update.go:917: [INFO] [stacks] update adventurelog: phase checking
|
|
2026/09/21 18:48:09 update.go:603: [INFO] [stacks] update adventurelog: precondition met — Tier 1 (own recovery unit) copy from 2026-09-21T18:47:19Z (1m0s old, limit 24h0m0s)
|
|
2026/09/21 18:48:09 update.go:917: [INFO] [stacks] update adventurelog: phase safety-dump
|
|
2026/09/21 18:48:09 update.go:635: [INFO] [stacks] update adventurelog: safety dump done (1 file(s)) [/mnt/sys_drive/felhom-data/backups/primary/adventurelog/db-dumps/pre-restore-20260921T184809Z-adventurelog-postgres.sql]
|
|
2026/09/21 18:48:09 update.go:917: [INFO] [stacks] update adventurelog: phase pinning
|
|
2026/09/21 18:48:09 pin.go:362: [INFO] [stacks] update adventurelog: pin advanced to the catalog's current definition (adventurelog=ghcr.io/seanmorley15/adventurelog-backend:v0.13.0, adventurelog-frontend=ghcr.io/seanmorley15/adventurelog-frontend:v0.13.0, adventurelog-postgres=postgis/postgis:16-3.5-alpine)
|
|
2026/09/21 18:48:09 update.go:917: [INFO] [stacks] update adventurelog: phase pulling
|
|
2026/09/21 18:48:46 update.go:917: [INFO] [stacks] update adventurelog: phase starting
|
|
2026/09/21 18:48:51 update.go:917: [INFO] [stacks] update adventurelog: phase verifying
|
|
2026/09/21 18:53:53 update.go:722: [ERROR] [stacks] update adventurelog FAILED after the new version was started: not healthy: not healthy within 5m0s (last: state unhealthy) — stopping and HOLDING the app; the pin stays on the new version (its migration may have run)
|