Skip to content

Daemon

The Daemon is the single persistent process that runs per active org, responsible for ingesting Signals, firing scheduled Routines, executing Callbacks, propagating status changes, and enforcing resource budgets. It is the operational heart of a matic org — without it, the filesystem remains readable but no work executes, no schedules fire, and no live state updates propagate. The Daemon coordinates across every other platform subsystem: Channels, Runtime, Budget, and the Signal pipeline.

Understanding the Daemon is essential for operators who need to reason about startup behavior, failure recovery, scheduling semantics, or how the CLI communicates with the running org.

Bootstrap

Startup sequence, initialization ordering, channel and plugin bootstrapping, Auto Matic spawn, and the readiness boundary that gates Signal processing.

Health and Restart

Health supervision model, failure detection across subsystems, controlled restart with backoff policy, and graceful shutdown behavior.

IPC Server

Unix socket server at .matic/daemon.sock that carries CLI-to-Daemon RPC communication, including request/response framing, connection lifecycle, and the error contract when the Daemon is unavailable.

Scheduler

Time-based and event-driven execution engine — Routine firing, Callback dispatch, cron evaluation, budget window rollovers, and concurrency control.

Status Updater

Continuous maintenance of agent, team, and project statuses from Feed events, with upward propagation through the scope hierarchy and releasing phase detection.

Structured Logging

Structured log output format, log levels, and queryable fields powering matic daemon logs --tail for both human-readable and machine-parseable event streams.

Watchers

Continuous monitoring subsystems that observe Channels, the filesystem, git commits, and external system events, normalizing everything into canonical Signals for the Daemon's processing pipeline.