Files
felhom.eu/documentation/audits/version-travel-2026-09-26/C

C — adventurelog v0.12.1 → v0.13.0 (R-655, 09 §3 decision 41)

  • Images (C1-images.txt). Frontend v0.12.1: no image healthcheck, node only at /nodejs/bin/node (not on the PATH); v0.13.0: its own healthcheck (node on the PATH → /usr/bin/node, fetching /health). No single exec path works on both → the override is DROPPED. Backends: same entrypoint and CMD, ijson 3.3.0 in both, the same file countries+regions+states-v3.1.json in /code/media.
  • The cut-off file (C2-truncated-file.txt). With the data already imported, v0.13.0 does not read the file ("Latest data already imported") — a cut-off file does no harm there (measured, step 2). With an import PENDING (fresh database) and the file cut to half, the image's own start crash-looped 10 times in 150 s on IncompleteJSONError; with the template's set-aside step the file was renamed ….cutoff-<time>, downloaded again (46,724,025 B) and the app was healthy; a second start set nothing aside. The update's first start does NOT repair the file; the template does.
  • Bench (apps/adventurelog/bench/): FROM healthy (world data downloaded by v0.12.1); TO healthy in 217 s, "Latest data already imported", 6 migration lines, seed ✓, anon peaks backend 73.0 %, frontend 37.9 %; 0 restarts.
  • Box 9202 (apps/adventurelog/box/): first press under the drill's 90 s health wait → the backend was still starting → UNDONE correctly in 36 s, seed intact (move.txt). With the product's default 5-min wait → done in 204 s, the file reused, seed ✓, all three healthy (move2-5m.txt). The fresh install got backing-up first — R-699 working.
  • Catalog 06ea7da: the move, the dropped override and the set-aside step in ONE commit.