- R-463 CLOSED: rallly, outline, sparkyfitness -> PostgreSQL 18 (catalog 25ffd89 / aeb0cd6 / 1666572), each proven on the bench and on 9202 through the guarded Update with one undo case; zipline, adventurelog, immich stay on 16 by 09 decision 42's rule (upstream runs 16 / 16 / 14). - Part F: bookstack, kimai, audiobookshelf, n8n, navidrome, grafana, komga moved on both venues; immich not (R-732: its first start OOM-killed its database on the bench). - R-687 item 4 PROVEN LIVE on demo-hp: two deferrals while the leg stepped two apps, the whole-guest backup on the first poll after, success; config + window put back and read back. - Catalog currency audit (Part D): 25/53 behind inside a major, 19 across; night-updatable 28 -> 31 (+1). - R-446 and R-440 narrowed (measured on demo-hp); R-624 corrected (outline, rallly, zipline have routes); R-548 note (demo-hp's local tier refused for space since 09-27). - New rows: R-730 (the ISO 1.29.0 build commit cannot be proven -> no tag; installer-v* is the script's line), R-731 (tag-shape switches), R-732. Register 361 -> 364. - 09 §3: the 2026-09-30 operator notes (by day; Tester-2 pre-checks done; decision 52 not needed, not recorded); §6.4 dated currency note. STATUS, CONTEXT, REPORT-pg-last-six-2026-09-30.md. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
3.4 KiB
Part F — more apps that update themselves (2026-09-30, afternoon)
Rule: within-major edges for apps that already had fixtures on both venues, at most 8, the normal method (bench LXC 9401
→ box 9202 through the guarded Update → upgrade-test.py --write-ladder → one catalog commit per app, the only image move
in it). Candidates from the currency audit's ranking (../../catalog-currency-2026-09-30.md §6).
| app | step | bench (harness v4, 10-min watch) | box 9202 | memory, anon peak | catalog |
|---|---|---|---|---|---|
| bookstack | 26.05.5 → 26.09.1 | proven, migrations ran, abort starts and serves | done 64.6 s, read back | bookstack 4.8 %; db 43.7 % | 54ca055 |
| kimai | apache-2.57.0 → 2.67.0 | proven, Doctrine migrations ran | done 82.1 s, read back | kimai 6.0 % (cgroup 91.7 % = file cache); db 45.0 % | d75d1fd |
| audiobookshelf | 2.36.1 → 2.37.1 | proven | done 24.6 s, read back | 10.5 % | 7425ebd |
| n8n | 2.41.2 → 2.42.1 | proven, its migrations ran | done 122.1 s, read back | 23.0 % | 9f075a4 |
| navidrome | 0.64.1 → 0.64.2 | proven | done 14.4 s, read back | 6.9 % | 6d91495 |
| grafana | 13.2.2 → 13.2.3 | proven | done 23.6 s, read back (second walk — see below) | 47.1 % (cgroup 100 % = file cache) | 2acfbf1 |
| komga | 1.27.1 → 1.28.0 | proven | done 44.2 s, read back | 64.5 % | 403a8f5 |
| immich | server + ML v3.2.2 → v3.2.4 (the database does not move) | first run inconclusive (FROM never settled in 420 s — the first-start geodata import with two other runs on 6 cores, R-676); retried alone: see benchq-q10.txt |
done 112.0 s, album read back | — | see the report |
No step is memory_tight; no limit moved. kimai's tag: upstream dropped the apache- prefix after 2.57.0; measured on
Docker Hub (kimai-tag-variant.txt): 2.67.0, 2, stable and apache are ONE digest, fpm/latest another — the plain
tag is the Apache image.
Instrument faults found and fixed (the product was not at fault), stated:
- grafana's first box walk read back 401: the fixture authenticates with the admin password the deploy generated, kept
in the process's memory; the step ran in a second process, which tried the default. Fixed in
tools/boxmove.py(the generated secrets are kept beside the seed, in the 0600 scratch file) andboxstep.py/undocase.py(read them back). grafana was removed, reinstalled at 13.2.2 from the drill catalog (a revert commit there), seeded, stepped: read back. First attempt kept:../box/grafana/*attempt1*. - n8n's first box seed answered 404 (
Cannot POST /rest/owner/setup): the app was still starting; a second try 25 s later seeded. The fixture's ready-wait (/healthzthrough the gate answers 401) is weak — noted, not changed. - A typo started the n8n bench run with a different repository (
docker.n8n.io/n8nio/n8n); it was killed by PID 21 s in, its project taken down, its evidence renamed*-wrongref-*, and the run restarted with the template's own repository (benchq-q8.txt). - immich's box install first stopped at the kept-data question (decision 36): the scratch drive held an older test's
immich folder. Answered "start fresh" through the product (
kept_data: fresh— the old folder moved aside, nothing deleted).
Part B for these apps: bookstack and kimai are on demo-hp and were stepped by the chain press of Part C (../C/).
None of the others is installed on either demo box.