yams/packaging/systemd
trvon c1483e4478
ci(packaging): make the user-unit checks match real sessions
First runs of the user-unit validation on all four lanes found harness
gaps, fixed here:

- Arch's `su -` does not run pam_systemd, so the login shell had no
  XDG_RUNTIME_DIR and the CLI looked for /tmp/yams-daemon-<uid>.sock;
  the checks now provide the runtime dir a real login session gets and
  report whether su set it.
- Ubuntu 24.04's systemctl --user needs the user D-Bus bus: the
  Debian/Ubuntu lane image gains dbus-user-session (standard on real
  installs) and the checks pass the bus address when present.
- CLI commands fall back to an in-process daemon instead of spawning
  one, so the lifecycle check uses `yams daemon start` (which starts the
  unit) rather than expecting an ordinary command to start it.
- `yams init`'s default embedder is the built-in simeon backend, which
  skips the onnx model provider by design. The onnx phase now checks
  that init's config autoloads plugins, then switches [embeddings]
  backend to onnxruntime to prove the bundled runtime loads (from the
  user journal), and restores init's config so the later phases run the
  user's real configuration.

docs/install.md no longer claims ordinary CLI commands start the unit:
`yams daemon start` and on-demand starters do.

Signed-off-by: trvon <me@trevon.dev>
2026-10-02 09:18:38 -06:00
..
80-yams.preset feat(packaging): ship the daemon as a systemd user unit 2026-10-02 07:55:01 -06:00
arch-lane.Dockerfile ci(release): gate packages on a real systemd install, CLI and upgrade run 2026-10-01 21:11:15 -06:00
debian-lane.Dockerfile ci(packaging): make the user-unit checks match real sessions 2026-10-02 09:18:38 -06:00
fedora-lane.Dockerfile ci(packaging): validate the systemd user unit in every lane 2026-10-02 08:30:55 -06:00
yams-daemon.service feat(packaging): ship the daemon as a systemd user unit 2026-10-02 07:55:01 -06:00