Files
felhom.eu/documentation/audits/new-apps-2026-10-10/box/grocy/step.txt
T
admin 970616b72b
gates / gates (push) Failing after 11m41s
New apps 2026-10-10: Grocy and LubeLogger on the website; Monica stopped
The catalogue side is app-catalog-felhom.eu b7f0f7c. Here: the evidence, the
website, the register and the operator's view.

Website
- Two cards in the Otthon & Eletmod / Home & Lifestyle section of BOTH apps
  pages, with assets: grocy-logo.svg is grocy's own icon with its single fill
  made white like the other logos, lubelogger-logo.png is the app's own icon
  with its dark background dropped and the mark made white (the rule
  SparkyFitness's PNG follows), and six screenshots of each app's own UI with a
  household's own data, taken headless on the bench from the published template.
- The app count moved 56 -> 58 in 15 places per language set, both languages,
  and the open-source tile 49 -> 51. Checked by asking the same patterns for the
  new number afterwards. marketing/facebook/COPY.md still says 56 and is NOT
  changed: the post it carries is already scheduled.

Evidence
- documentation/audits/new-apps-2026-10-10/ — FIT.md (checklist group 0 for all
  three, with the Hungarian-UI column), the bench and box transcripts, the
  memory samples, the screenshots and the gate runs.

Register: 137 -> 139 rows, 2 opened, 0 closed.
- R-926 after a remove-keeping-backups and restore, nobody has checked what the
  app page shows for an after_install app's generated password. Measured here:
  LubeLogger is safe (its login is derived from the environment at every start,
  the new password signs in, the data is back); grocy's install password still
  signs in from the restored database but the deployed environment no longer
  carries ADMIN_PASSWORD at all. Seven apps are in the class.
- R-927 Monica, stopped at checklist 0.2 with the measurements, waiting on the
  operator.

Gate scripts: the same console trap in nineteen of them and in repo_gates.py
itself, where it ABORTED THE WHOLE RUNNER at the first gate — printing a
non-ASCII character on this workstation's cp1250 console raised
UnicodeEncodeError before the gate had decided anything, and reuse_refs_check.py
died while printing a NOTE. All now reconfigure their own streams. Red-proof
that the remaining script-test failures are not mine: test_due_checks_gate.py
fails the same 5 of 42 with the change reverted.
2026-10-10 12:34:05 +02:00

65 lines
6.1 KiB
Plaintext

before: pinned={'grocy': 'lscr.io/linuxserver/grocy:4.6.0'}
drill: 7166c17 DRILL grocy: {'grocy': 'lscr.io/linuxserver/grocy:4.7.1'} (box proof)
phase +0.0s backing-up | err=None
phase +5.2s pulling | err=None
phase +23.6s copying | err=None
phase +28.7s verifying | err=None
phase +330.9s undoing | err=None
phase +346.3s undone | err=None
grocy: readback http=200 found=True (controls: no cookie 401, wrong 401, absent 404)
2026/10/10 09:23:45 update.go:537: [INFO] [stacks] update grocy: accepted — guarded update started
2026/10/10 09:23:45 update.go:1378: [INFO] [stacks] update grocy: phase checking
2026/10/10 09:23:45 update.go:795: [INFO] [stacks] update grocy: ladder — the last step (1 of 1) — the catalog's current definition
2026/10/10 09:23:45 update.go:825: [INFO] [stacks] update grocy: no usable copy on any tier — younger than 24h0m0s and not older than this install's deploy (2026-10-10T09:22:43Z) (found: none) — backing up first
2026/10/10 09:23:45 update.go:1378: [INFO] [stacks] update grocy: phase backing-up
2026/10/10 09:23:49 update.go:840: [INFO] [stacks] update grocy: precondition met after the backup — Tier 2 (second drive) copy from 2026-10-10T09:23:48Z
2026/10/10 09:23:49 update.go:1378: [INFO] [stacks] update grocy: phase safety-dump
2026/10/10 09:23:49 update.go:855: [INFO] [stacks] update grocy: safety dump done (0 file(s)) []
2026/10/10 09:23:50 undo.go:287: [INFO] [stacks] update grocy: the undo copy will hold 1 named volume(s), 0.8 MiB
2026/10/10 09:23:50 update.go:1378: [INFO] [stacks] update grocy: phase pinning
2026/10/10 09:23:50 pin.go:373: [INFO] [stacks] update grocy: pin advanced to /opt/docker/felhom-controller/data/catalog-cache/templates/grocy/docker-compose.yml (grocy=lscr.io/linuxserver/grocy:4.7.1)
2026/10/10 09:23:50 update.go:1378: [INFO] [stacks] update grocy: phase pulling
2026/10/10 09:24:07 update.go:1378: [INFO] [stacks] update grocy: phase copying
2026/10/10 09:24:12 update.go:1378: [INFO] [stacks] update grocy: phase copying
2026/10/10 09:24:12 undo.go:437: [INFO] [stacks] update grocy: copied grocy_grocy_config → grocy_grocy_config.pre-update-20261010T092412Z in 512ms
2026/10/10 09:24:12 update.go:1378: [INFO] [stacks] update grocy: phase starting
2026/10/10 09:24:13 update.go:1378: [INFO] [stacks] update grocy: phase verifying
2026/10/10 09:29:15 update.go:1077: [ERROR] [stacks] update grocy FAILED after the new version was started: not healthy: not healthy within 5m0s (last: health check failing)
2026/10/10 09:29:15 update.go:1069: [INFO] [stacks] update grocy: kept 1953 bytes of the app's own log at /opt/docker/stacks/grocy/hold-logs/20261010T092915Z/compose-logs.txt before stopping it (R-621)
2026/10/10 09:29:15 update.go:1378: [INFO] [stacks] update grocy: phase undoing
2026/10/10 09:29:15 undo.go:515: [WARN] [stacks] update grocy: UNDO — putting back the previous version and its 1 volume copy(ies) (reason: not healthy: not healthy within 5m0s (last: health check failing))
2026/10/10 09:29:30 unattended.go:511: [INFO] [stacks] update grocy: step grocy=lscr.io/linuxserver/grocy:4.7.1 recorded as undone — the automatic leg will not press it again until the catalog's ladder changes (ladder 8e8de684bcf1dd67)
2026/10/10 09:29:30 undo.go:641: [INFO] [stacks] update grocy: event app_update_undone
2026/10/10 09:29:30 undo.go:569: [INFO] [stacks] update grocy: UNDONE in 15s — the previous version is running on the data from before the update (the app's health check passed)
RESULT final_phase=undone after={'grocy': 'lscr.io/linuxserver/grocy:4.6.0'} seed_after=True verdict=failed (346.3 s)
before: pinned={'grocy': 'lscr.io/linuxserver/grocy:4.6.0'}
drill: afdf57c DRILL grocy: {'grocy': 'lscr.io/linuxserver/grocy:4.7.1'} (box proof)
phase +0.0s backing-up | err=None
phase +5.1s pulling | err=None
phase +22.6s copying | err=None
phase +30.8s verifying | err=None
phase +41.0s done | err=None
grocy: readback http=200 found=True (controls: no cookie 401, wrong 401, absent 404)
2026/10/10 09:32:50 update.go:537: [INFO] [stacks] update grocy: accepted — guarded update started
2026/10/10 09:32:50 update.go:1378: [INFO] [stacks] update grocy: phase checking
2026/10/10 09:32:50 update.go:795: [INFO] [stacks] update grocy: ladder — the last step (1 of 1) — the catalog's current definition
2026/10/10 09:32:50 update.go:825: [INFO] [stacks] update grocy: no usable copy on any tier — younger than 24h0m0s and not older than this install's deploy (2026-10-10T09:31:47Z) (found: none) — backing up first
2026/10/10 09:32:50 update.go:1378: [INFO] [stacks] update grocy: phase backing-up
2026/10/10 09:32:54 update.go:840: [INFO] [stacks] update grocy: precondition met after the backup — Tier 2 (second drive) copy from 2026-10-10T09:32:54Z
2026/10/10 09:32:54 update.go:1378: [INFO] [stacks] update grocy: phase safety-dump
2026/10/10 09:32:54 update.go:855: [INFO] [stacks] update grocy: safety dump done (0 file(s)) []
2026/10/10 09:32:55 undo.go:287: [INFO] [stacks] update grocy: the undo copy will hold 1 named volume(s), 0.8 MiB
2026/10/10 09:32:55 update.go:1378: [INFO] [stacks] update grocy: phase pinning
2026/10/10 09:32:55 pin.go:373: [INFO] [stacks] update grocy: pin advanced to /opt/docker/felhom-controller/data/catalog-cache/templates/grocy/docker-compose.yml (grocy=lscr.io/linuxserver/grocy:4.7.1)
2026/10/10 09:32:55 update.go:1378: [INFO] [stacks] update grocy: phase pulling
2026/10/10 09:33:12 update.go:1378: [INFO] [stacks] update grocy: phase copying
2026/10/10 09:33:17 update.go:1378: [INFO] [stacks] update grocy: phase copying
2026/10/10 09:33:20 undo.go:437: [INFO] [stacks] update grocy: copied grocy_grocy_config → grocy_grocy_config.pre-update-20261010T093317Z in 3.336s
2026/10/10 09:33:20 update.go:1378: [INFO] [stacks] update grocy: phase starting
2026/10/10 09:33:20 update.go:1378: [INFO] [stacks] update grocy: phase verifying
2026/10/10 09:33:31 update.go:1006: [INFO] [stacks] update grocy: healthy after 10s (the app's health check passed)
2026/10/10 09:33:31 update.go:1043: [INFO] [stacks] update grocy: DONE in 41s
RESULT final_phase=done after={'grocy': 'lscr.io/linuxserver/grocy:4.7.1'} seed_after=True verdict=proven (41.1 s)