Files
felhom.eu/documentation/audits/new-apps-2026-10-10/README.md
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

40 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Three new apps through the checklist (2026-10-10)
Brief: a fit check (`NEW-APP-CHECKLIST.md` group 0) for **Grocy, LubeLogger and Monica**, chosen from the
2026-10-10 PikaPods scan because no catalog app covers what they do; then build them one at a time, Grocy
first, each with the full 61-check record.
Architecture read: `09-update-architecture.md` §3 decisions 13, 22, 42, 45–50, 57, 61 and §6.5 (the drill
catalog and the image store); `01-topology-and-trust.md` (the tunnel carries HTTP only; §5 the setup gate);
`07-backup-architecture.md` (the backup classes and what the tier-1 unit holds). Register rows read first:
R-707 (first admin), R-741 (the install window), R-753 (the visitor's address), R-761 (the asset path).
Baselines: catalog `b38aa923177db40bcb399546c625167fa029f025`, felhom.eu `a406efc7d52807398eacba39a3bb1e94355a9da7`,
register 136 rows / highest R-925; controller on 9202 `0.304.0`.
## Venues
- **Bench** — LXC 9401 `upgrade-harness` on **demo-hp**, swap 0, 10 GiB. `upgrade-test.py --move` per app with
a from-birth cgroup sampler beside it (`bench/`).
- **Box** — scratch guest 9202 `demo-hp-scratch`, also on **demo-hp**, on the DRILL catalog only. Per app:
install with a stranger's poll and the sampler, the app's own checks, the guarded Update, remove keeping
backups + restore, remove with data (`box/`).
- **Ladder** — the single writer `upgrade-test.py --write-ladder` from both verdicts.
**A correction to the brief's reading:** 9202 and the bench 9401 both live on **demo-hp**. felhom-pve
(`demo-felhom`) carries only guest 9201. Measured with `pct list` on both hosts.
## Per app
| app | result | catalog commit | memory (peak anon / limit) | ladder step | notes |
|---|---|---|---|---|---|
| **Grocy** | **published** | `b7f0f7c` | bench (swap 0) and box, in `bench/` and `box/grocy/` | 4.6.0 → 4.7.1 | two defects found and fixed before publishing: the controller refuses an `after_install` command containing `$`, and grocy's persisted `config.php` does not follow the image (a 4.6 → 4.7 update answered HTTP 500 on every page) |
| **LubeLogger** | **published** | `b7f0f7c` | `bench/` and `box/lubelogger/` | v1.7.2 → v1.7.3 | the image ships **no login at all** and hands a stranger the root role; the template turns authentication on from a generated password before the app's first byte |
| **Monica** | **stop — checklist 0.2** | not built | — | — | no release of any kind in 17 months, no stable release in 29, the stable branch untouched since 2024-05-04, and upstream has announced that its hosted instance and all its data go away at the end of December 2026 ahead of a rewrite. The operator decides. |
The fit table, with every group-0 answer and the three measured risks, is `FIT.md`.
## Teardown
Stated per layer in `felhom.eu/REPORT-new-apps-2026-10-10.md`.