Trunk instance of Oikonomos household automation (goals, habits, tasks, todos, projections) — Kleos sub-project. Service: oikonomos-api-trunk.service — runs uvicorn via /usr/services/oikonomos-api-trunk/start.sh with venv at ~/.virtualenvs/oikonomos/ (editable install of ~/trunk/kleos/projects/oikonomos/api). Listens on 0.0.0.0:8027. LAN alias: oikonomos-api-trunk.internal (caddy-lan on ironclad proxies to forge:8027). Deployed via vivo from ironclad ~/working/kleos/projects/oikonomos/. Auto-restart on file change: oikonomos-api-trunk-watcher.path triggers oikonomos-api-trunk-watcher.service (oneshot systemctl restart). Watched roots: start.sh, all subdirs under api/src/oikonomos/ (adapters, admin, edges, goals, habits, labels, lifeareas, overview, projections, sage, schedules, tasks, todos, types, util), api/config/settings.json, api/config/settings-trunk.json, and ~/trunk/secrets.json. NOTE: PathModified on a parent dir does not bubble to subdirs — each module subdir must be listed explicitly. Secrets (squirrel): kleos.oikonomos.vikunja_token, kleos.oikonomos.caldav_token, kleos.oikonomos.habitica_api_user, kleos.oikonomos.habitica_api_token. DB: shared kleos MariaDB pool on drogher.