970616b72b
gates / gates (push) Failing after 11m41s
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.
40 lines
2.8 KiB
Markdown
40 lines
2.8 KiB
Markdown
# 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`.
|