domus-semper-palingenesis

Daemon System

Twelve launchd agents maintain the system automatically, organized into three tiers.

Infrastructure Agents (3)

com.chezmoi.self-heal

com.domus.daemon

com.4jp.env.mcp

File Automation Agents (5)

com.domus.sort

com.4jp.desktop-router

com.4jp.home-root-guard

com.4jp.downloads-tidy

com.4jp.naming-maintenance

Service Agents (4)

com.4jp.agents-policy-sync

com.4jp.mcp.servers

com.user.gmail_labeler

com.user.mail_automation

Management

# Check status
launchctl list | grep -E 'chezmoi|domus|4jp|user\.'

# View logs
tail -f ~/.local/state/domus/*.log

# Reload agents (after plist changes)
chezmoi apply  # triggers run_onchange_after_load-launchagent.sh

# Manual unload/load
launchctl unload ~/Library/LaunchAgents/com.domus.daemon.plist
launchctl load ~/Library/LaunchAgents/com.domus.daemon.plist

Feature Gate

All autonomous daemons respect the domus_auto_enabled flag. When disabled (the default for new machines), use domus run <task> to trigger tasks manually. Enable with:

chezmoi state set --bucket domus --key auto_enabled --value true

Notification Tiers

Defined in manifest.yaml under notifications:

Level Examples Behavior
Silent file sorted, health passed Logged only
Quiet rule matched (batched) Batched, sent in groups
Normal package update, drift detected macOS notification
Urgent critical failure, major drift Immediate notification

Quiet hours (default 22:00-08:00) suppress non-urgent notifications.