Files
felhom.eu/documentation/audits/update-night-2026-09-21/apps/navidrome/app-logs-after.txt
T
admin da20722e76
gates / gates (push) Successful in 27s
Update night 2026-09-21: Phase 0 and Phase 1 evidence, the drill method, and two instrument fixes
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
2026-09-21 21:17:46 +02:00

62 lines
6.6 KiB
Plaintext

navidrome | _ _ _ _
navidrome | | \ | | (_) | |
navidrome | | \| | __ ___ ___ __| |_ __ ___ _ __ ___ ___
navidrome | | . ` |/ _` \ \ / / |/ _` | '__/ _ \| '_ ` _ \ / _ \
navidrome | | |\ | (_| |\ V /| | (_| | | | (_) | | | | | | __/
navidrome | \_| \_/\__,_| \_/ |_|\__,_|_| \___/|_| |_| |_|\___|
navidrome | Version: 0.64.0 (1072e9f7)
navidrome |
navidrome | time="2026-09-21T18:44:22Z" level=info msg="No configuration file found. Loaded configuration only from environment variables"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="Upgrading DB Schema to latest version"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="OK 20260712211040_add_primary_key_and_update_index_for_scrobbles.sql (13.3ms)"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="OK 20260714120000_add_playlist_average_rating.sql (2.01ms)"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="OK 20260714123822_add_media_file_title_sort_covering_index.sql (292.94µs)"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="OK 20260719005427_add_album_replaygain.go (4.49ms)"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="OK 20260720015443_uniform_canonical_ids.go (17.66ms)"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="OK 20260722023032_add_artwork_tables.sql (1.57ms)"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="OK 20260810143445_reorder_album_artists_unique_constraint.sql (9.55ms)"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="OK 20260811023338_add_item_genre_tag_indexes.sql (1.33ms)"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="OK 20260815015320_add_user_scrobble_filter.sql (2.71ms)"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="OK 20260816180040_renormalize_album_created_at.sql (615.58µs)"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="OK 20260818002312_add_playlist_imported_hash.sql (2.86ms)"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="OK 20260819204637_add_artwork_trace_columns.sql (7.52ms)"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="OK 20260822062750_add_user_token_epoch.sql (2.84ms)"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="OK 20260901225726_normalize_artwork_last_failure.sql (142.21µs)"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="goose: successfully migrated database to version: 20260901225726"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="Starting signaler"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="Periodic backup is DISABLED"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="Starting scheduler"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="Scheduling DB analysis check" schedule="@every 30m"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="Starting Insight Collector"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="Starting artwork worker"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="Creating Image cache" maxSize="100 MB" path=/data/cache/images
navidrome | time="2026-09-21T18:44:22Z" level=info msg="Periodic scan is DISABLED"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="Finished initializing cache" cache=Image elapsedTime="303.854µs" maxSize=100MB
navidrome | time="2026-09-21T18:44:22Z" level=info msg="Creating Transcoding cache" maxSize="100 MB" path=/data/cache/transcoding
navidrome | time="2026-09-21T18:44:22Z" level=info msg="Finished initializing cache" cache=Transcoding elapsedTime="474.055µs" maxSize=100MB
navidrome | time="2026-09-21T18:44:22Z" level=info msg="Started watcher for library" libraryID=1 name="Music Library" path=/music
navidrome | time="2026-09-21T18:44:22Z" level=info msg="Watcher started for library" absoluteLibPath=/music libraryID=1 name="Music Library" path=/music
navidrome | time="2026-09-21T18:44:22Z" level=info msg="Starting plugin manager"
navidrome | time="2026-09-21T18:44:22Z" level=info msg="Setting Session Timeout" value=48h
navidrome | time="2026-09-21T18:44:22Z" level=info msg="Starting plugin manager" folder=/data/plugins
navidrome | time="2026-09-21T18:44:22Z" level=info msg="Creating new JWT secret" key=JWTSecret
navidrome | time="2026-09-21T18:44:22Z" level=info msg="Login rate limit set" requestLimit=5 windowLength=20s
navidrome | time="2026-09-21T18:44:23Z" level=info msg="Found ffmpeg" path=/usr/bin/ffmpeg
navidrome | time="2026-09-21T18:44:23Z" level=info msg="Mounting Native API routes" path=/api
navidrome | time="2026-09-21T18:44:23Z" level=info msg="Mounting Subsonic API routes" path=/rest
navidrome | time="2026-09-21T18:44:23Z" level=info msg="Mounting Public Endpoints routes" path=/share
navidrome | time="2026-09-21T18:44:23Z" level=info msg="Mounting LastFM Auth routes" path=/api/lastfm
navidrome | time="2026-09-21T18:44:23Z" level=info msg="Mounting ListenBrainz Auth routes" path=/api/listenbrainz
navidrome | time="2026-09-21T18:44:23Z" level=info msg="Mounting Background images routes" path=/backgrounds
navidrome | time="2026-09-21T18:44:23Z" level=info msg="Mounting WebUI routes" path=/app
navidrome | time="2026-09-21T18:44:23Z" level=info msg="Creating backgrounds cache" maxSize="100 MB" path=/data/cache/backgrounds
navidrome | time="2026-09-21T18:44:23Z" level=info msg="Finished initializing cache" cache=backgrounds elapsedTime="293.033µs" maxSize=100MB
navidrome | time="2026-09-21T18:44:23Z" level=info msg="----> Navidrome server is ready!" address="0.0.0.0:4533" startupTime=127.5ms tlsEnabled=false
navidrome | time="2026-09-21T18:44:25Z" level=info msg="Executing initial scan"
navidrome | time="2026-09-21T18:44:25Z" level=info msg="No configuration file found. Loaded configuration only from environment variables"
navidrome | time="2026-09-21T18:44:25Z" level=info msg="Scanner: Starting scan" fullScan=false numLibraries=1
navidrome | time="2026-09-21T18:44:25Z" level=info msg="Scanner: Finished scanning all libraries" duration=6.4ms
navidrome | time="2026-09-21T18:44:25Z" level=info msg="Scan completed"
navidrome | time="2026-09-21T18:44:28Z" level=warning msg="Unsuccessful login" request="map[Accept:[*/*] Accept-Encoding:[gzip] Content-Length:[61] Content-Type:[application/json] User-Agent:[curl/8.14.1] X-Forwarded-For:[192.168.0.180] X-Forwarded-Host:[music.enkisfelhom.hu] X-Forwarded-Port:[443] X-Forwarded-Proto:[https] X-Forwarded-Server:[2515331bc19e] X-Real-Ip:[192.168.0.180]]" requestId=2430109f9ee0/OGfROO1Xmj-000004 username=drillbf8881
navidrome | time="2026-09-21T18:44:28Z" level=warning msg="HTTP: POST http://music.enkisfelhom.hu/auth/login" elapsedTime=1.2ms httpStatus=401 remoteAddr="172.18.0.8:39730" requestId=2430109f9ee0/OGfROO1Xmj-000004 responseSize=40