Phase 278 — de-hardcode the whole codebase so any operator (not just bruce) can self-host.
Functional-break fixes
- BLOCKING:
update.shStep 7.7 now templateslivos-app-liv-ai.serviceper box (was installed verbatimUser=bruce→ /liv-ai-app 502 on every non-bruce update; cmp guard no longer re-clobbers). Same fix insystemd-units-install.sh. - platform/web: removed the dead Server5 relay IP (45.137.194.102) + dead localhost:4000 relay-sync; disabled the broken BYO custom-domain A-record flow (CF-Tunnel topology). Primary {username}.livinity.io path unchanged.
- livinityd: Suna backend domain, vault root (LIV_VAULT_ROOT), luse user, /home paths, caddy CSP → all derive from getDesktopUser()/getDesktopHome()/operator domain.
- hooks: NEXUS_URL defaults to local liv-core (was Server4 IP).
- scripts/systemd/seeds: install-time templating for units/sudoers/seeds; neutral
livosdefaults (nobruceliterals).
Review
Independent multi-agent adversarial review (29 agents) confirmed 5 issues; all fixed + re-verified. Final gate: only intentional sed match-patterns reference bruce (to substitute it away).
Full Changelog: v44.33...v44.34