d0e7e2eb51
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
20 lines
1.6 KiB
Markdown
20 lines
1.6 KiB
Markdown
# REPORT — 2026-09-29: the setup gate on four apps; every hard-coded default replaced (decisions 45–46)
|
||
|
||
Architecture: `09-update-architecture.md` §3 decisions 45–46; `01-topology-and-trust.md` §5. Controller 0.280.0.
|
||
Evidence: `felhom.eu/documentation/audits/login-gate-2026-09-29/` (B spike, C gate live, D defaults live).
|
||
|
||
| app | change | proof on 9202 (drill catalog, fresh install, controller 0.280.0) |
|
||
|---|---|---|
|
||
| immich | setup gate, probe `isInitialized` | stranger: gate page / 401 during install and until setup; household in 0.2 s; probe opened it; phone-app API 200 after |
|
||
| n8n | setup gate, probe `showSetupOnFirstLoad` | as immich; opened ~20 s after the owner setup |
|
||
| audiobookshelf | setup gate, probe `/status isInit` | as immich; opened ~20 s after `POST /init` |
|
||
| uptime-kuma | setup gate, the household's button | held across a controller restart; the press opened it; a second press 409 |
|
||
| mealie | `after_install` (argv) | default 401, generated 200, wrong 401 |
|
||
| wger | `after_install` (argv) + R-712 CSRF | default refused, generated signs in with a browser's https Origin, wrong refused |
|
||
| calibre-web | `after_install`, `password:24:special` | default refused, generated signs in, wrong refused |
|
||
| romm, zipline | stale `default_creds` removed | the page no longer names a login that does not exist |
|
||
| grafana | R-708 `${…:?…}` | `docker compose config`: empty/unset refused (rc 1), set → rc 0 |
|
||
|
||
Gates: the catalog pre-push gates; `check-copy-i18n.py --capture-freeze` (diff = only these apps' strings).
|
||
Status: `FIRST-ADMIN.md` — 5 fixed, 4 gated, 30 open (R-707).
|