CHANGELOG + REPORT: twelve more steps, six first ladders (R-462, R-738, R-742, R-732)
gates / gates (push) Successful in 2s

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-09-30 20:26:54 +02:00
parent fb8703020e
commit d18116539a
2 changed files with 34 additions and 7 deletions
+23
View File
@@ -1,3 +1,26 @@
## Twelve more steps, six first ladders, and the fixtures behind them (2026-09-30, evening, R-462)
Each step: bench 9401 (harness v4, swap 0, 10-min memory watch) + box 9202 (drill catalog, the product's guarded
Update), written by `upgrade-test.py --write-ladder`, the only image move in its commit. Evidence:
`felhom.eu/documentation/audits/more-night-apps-2026-09-30/`.
- **First ladders:** gitea 1.27.0 → 1.27.3 `d7ba60c`, calibre-web v4.0.6 → v4.0.8 `53a4a1d` (`files_may_change` — its
library database `metadata.db` in the books folder changed on the bench), wger 2.6 → 2.7 `4ad32aa`, crafty-controller
4.10.7 → 4.11.0 `e1f0179`, uptime-kuma 2.4.0 → 2.5.5 `35dd5cf`, zipline 4.6.1 → 4.7.0 `a9700e2` → 4.8.0 `fb87030` (4.8.0 needs 4.7.x first — R-742).
- **Within-major steps:** emby 4.11.0.4 `3e4aa77`, ghost 6.67.0-alpine `9a78e3b`, home-assistant 2026.9.4 `15f4d59`,
outline 1.10.1 `b0b2514`, rallly 4.15.3 `8d3a35a`. None `memory_tight`; no limit moved.
- **wger runs its migrations at start** `7a4ff48` (R-738): without `DJANGO_PERFORM_MIGRATIONS=True` the 2.6 → 2.7 step
ended `done` on 9202 with 12 migrations unapplied and the login answering 500.
- **immich's step v3.0.3 → v3.2.2 re-proven at 768M** `48440ce` (R-732): it re-runs the geodata import; the step's own
definition rewritten by the new `upgrade-test.py --restep` `63a96b0`.
- **Harness** `5b1972b`, `63a96b0`: fixtures for calibre-web (Upload form → OPDS), wger (web login → weight API),
crafty-controller (API v2), uptime-kuma (socket.io polling → public status page); gitea posts its own first-run
installer (R-624); zipline's readback waits on `/api/healthcheck` and logs in right-password-first (its login limit);
the bench reaches an HTTPS backend over HTTPS; `password:N:special` has the controller's shape (R-735, red then green);
a `files_may_change` mark now NAMES its files; `--restep`; `test_catalog_gates.py`'s stale gate count (red on main) fixed.
- **Not moved:** wanderer (the bench cannot run it — R-739). **Measured on the way:** zipline 4.6.1 → 4.8.0 directly
fails on both venues, and the box's own guarded Update undid it in 20 s.
- **Night-updatable (audit method (a)): 30 + 2 conditional → 35 + 3 conditional**; 15 apps have no ladder.
## immich: the database gets 768M, and v3.2.4 is published with it (2026-09-30, afternoon, R-732)
- **Cause, measured** (`felhom.eu/documentation/audits/immich-first-start-2026-09-30/A-cause.md`): the first-start geodata
+11 -7
View File
@@ -1,9 +1,13 @@
# REPORT — 2026-09-30 (late afternoon): immich's first start fixed; v3.2.4 published with it
# REPORT — 2026-09-30 (evening): twelve more steps, six first ladders
Evidence: `felhom.eu/documentation/audits/immich-first-start-2026-09-30/`. Operator report: `felhom.eu/REPORT-immich-first-start-2026-09-30.md`.
Evidence: `felhom.eu/documentation/audits/more-night-apps-2026-09-30/`. Operator report: `felhom.eu/REPORT-more-night-apps-2026-09-30.md`.
- Cause: 9 concurrent geodata INSERTs need ~575 MB in the database; 512M only fits with swap. Controls: swap alone, limit alone
flip it; shared_buffers alone does not.
- `56c4888`: v3.2.4 + `immich-postgres` 768M (`mem_limit` 4480M). Fresh installs with swap off: 0 kills on both venues.
- The step: bench proven (10-min watch 0 kills), box 9202 done in 58.5 s, album read back, limit 768M after.
- An installed immich on 3.2.2 gets 768M with its next guarded Update (by hand, or the night leg when a whole copy exists).
- **First ladders:** calibre-web `53a4a1d` (`files_may_change`: its library DB), gitea `d7ba60c`, wger `4ad32aa`,
crafty-controller `e1f0179`, uptime-kuma `35dd5cf`, zipline `a9700e2` + `fb87030` (4.6.1 → 4.7.0 → 4.8.0; the direct
jump fails and the box undid it). **Within-major:** emby `3e4aa77`, ghost `9a78e3b`, home-assistant `15f4d59`, outline
`b0b2514`, rallly `8d3a35a`. Each: bench 9401 (swap 0, 10-min watch, 0 kills) + box 9202 through the guarded Update.
- **Fixes:** wger runs its migrations at start `7a4ff48` (R-738 — its update left the login 500 behind a `done`);
immich's step `0b82…` re-proven at 768M and rewritten by the new `--restep` `48440ce`/`63a96b0` (R-732).
- **Harness** `5b1972b`, `63a96b0`, `84de9a9`: five fixtures, gitea's installer, HTTPS backends, named files behind
`files_may_change`, the bench's `password:N:special` (R-735), zipline's readback, the stale gate-count test.
- **Night-updatable:** 30 + 2 conditional → **35 + 3 conditional**; 15 apps have no ladder. Not done: wanderer (R-739).