[Unit]
Description=Nucleic Linux accessibility (AT-SPI) semantic agent — the ax_* control plane over vsock
# docs/LINUX_VM_SEMANTIC_AGENT.md
# A systemd **user** service: it must live inside the graphical session so it can reach that session's
# AT-SPI a11y bus (org.a11y.Bus → the a11y bus). Ordered after the GNOME session so the a11y bus and
# apps are up. (The static-C `nucleic-linux-agent` stays a separate *system* service on port 2035 for
# ping/exec; this one binds the second port 2036 — docs/LINUX_VM_SEMANTIC_AGENT.md §9 Q2.)
After=graphical-session.target
PartOf=graphical-session.target

[Service]
Type=simple
ExecStart=/usr/local/bin/nucleic-a11y-agent
# Like the C agent's KeepAlive: if the AT-SPI bus isn't ready yet (or a client drops), restart so a
# host reconnect always finds a listener.
Restart=always
RestartSec=2
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=graphical-session.target
