singularity-forge/packages/native/src
Mikael Hugo d03758d803 feat: replace launchd with systemd user-unit install path
Operator-direction 2026-05-17 "we will never use mac" — no compat
preservation. Single-cutover replacement.

- new packages/daemon/src/systemd.ts: install/uninstall/status using
  systemctl --user + ~/.config/systemd/user/sf-server.service
- new packages/daemon/src/systemd.test.ts: ports launchd tests, same
  shape, mocked systemctl via RunCommandFn injection + SF_SYSTEMD_USER_DIR
  env override for real filesystem tests
- cli-main.ts: switch import + update help text + status messages
- index.ts: re-export systemd module (installSystemdUnit, uninstallSystemdUnit,
  systemdUnitStatus, generateUnit, getServicePath, SystemdStatus, SystemdUnitOptions)
- DELETED: launchd.ts (253 LOC), launchd.test.ts (379 LOC)
- docs/dev/drafts/M053-per-repo-supervisor.md: remove "launchd" mention
- CHANGELOG.md: document systemd-only install path

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 17:33:34 +02:00
..
__tests__ feat(sf): align node sqlite uok runtime 2026-05-08 03:01:20 +02:00
ast chore: commit current workspace state 2026-05-05 14:46:18 +02:00
clipboard style: format repository with biome 2026-05-05 14:31:16 +02:00
diff chore: commit current workspace state 2026-05-05 14:46:18 +02:00
edit chore: commit current workspace state 2026-05-05 14:46:18 +02:00
fd style: format repository with biome 2026-05-05 14:31:16 +02:00
forge-parser chore: commit current workspace state 2026-05-05 14:46:18 +02:00
glob chore: commit current workspace state 2026-05-05 14:46:18 +02:00
grep style: format repository with biome 2026-05-05 14:31:16 +02:00
highlight style: format repository with biome 2026-05-05 14:31:16 +02:00
html style: format repository with biome 2026-05-05 14:31:16 +02:00
image chore: commit current workspace state 2026-05-05 14:46:18 +02:00
json-parse style: format repository with biome 2026-05-05 14:31:16 +02:00
ps style: format repository with biome 2026-05-05 14:31:16 +02:00
stream-process chore: commit current workspace state 2026-05-05 14:46:18 +02:00
text chore: commit current workspace state 2026-05-05 14:46:18 +02:00
truncate chore: commit current workspace state 2026-05-05 14:46:18 +02:00
ttsr style: format repository with biome 2026-05-05 14:31:16 +02:00
xxhash style: format repository with biome 2026-05-05 14:31:16 +02:00
index.ts chore: commit current workspace state 2026-05-05 14:46:18 +02:00
native.ts feat: replace launchd with systemd user-unit install path 2026-05-17 17:33:34 +02:00