# Meerkat TaskPanel resident session pool — generated by `install.sh`. # # One long-lived manager owns the supervisor's agent conversations: one card # session per card (worker or review) and a director lane per project. The tick # clock runs patrol/workflow/poll in place; poll claims cards and writes handoffs # to the queue, and the card's session opens on the role's platform with the # card's workspace as its cwd. # # Without this unit the loop still runs patrol + workflow on the continue timer, # but claims nothing: there is nowhere to dispatch a worker, so dispatch is # paused and one `--notify` alert is emitted per cadence. # # `Type=simple` + `Restart=always` is the unit's recovery story. A project # session is re-opened (and resumed) on demand; the ledger records unfinished # subagents so they can be reattached. # # Full tool access is opt-in through the per-kind config — never a flag here: # MEERKAT_TASKPANEL_ALLOW_ALL_TOOLS=yes # MEERKAT_TASKPANEL_ALLOW_ALL_TOOLS_REASON="" # With it, every session runs with the installing user's full OS permissions; # the project directory is not an isolation boundary. [Unit] Description=Meerkat TaskPanel resident session pool ({{AGENT}} on {{ACTOR_KIND}}) After=network.target [Service] Type=simple ExecStart={{NODE}} {{CLI}} loop session --actor-kind {{ACTOR_KIND}} --agent {{AGENT}} --log {{LOG}} --state-dir {{STATE_DIR}} Restart=always RestartSec=5 # No stdout/stderr redirect: the loop writes --log itself (with rotation). # A redirect into the same file would duplicate every line. [Install] WantedBy=default.target