# canaryd v0.4.0 - Table of Contents

> Canary in the coal mine for your Mac. Detects overheating and apps that
are alive but silently dead (process running, function stopped) via
synthetic probes. Self-heals with quiet restarts; only nags you when blocked.

## Pages

- [README](readme.md)

## Modules

- [Canaryd](Canaryd.md): Mac health monitor: thermal, resources, and functional app probes.
- [Canaryd.Apps.CleanClip](Canaryd.Apps.CleanClip.md): CleanClip health: L2 process liveness + L3 functional clipboard probe.
- [Canaryd.Apps.Unresponsive](Canaryd.Apps.Unresponsive.md): Reads the macOS WindowServer unresponsive state for supported GUI processes.
- [Canaryd.CLI](Canaryd.CLI.md): escript entry for checks, status, target history, setup, and version output.
- [Canaryd.Checker](Canaryd.Checker.md): One full health-check round
- [Canaryd.Duration](Canaryd.Duration.md): Defines milliseconds as the internal time unit.
- [Canaryd.MemoryMonitor](Canaryd.MemoryMonitor.md): Pure confirmation and cooldown policy for idle, high-memory applications.
- [Canaryd.MemoryProcesses](Canaryd.MemoryProcesses.md): Finds memory-heavy third-party applications owned by the current user.
- [Canaryd.Notifier](Canaryd.Notifier.md): macOS notifications. Used only when user attention is required.
- [Canaryd.Pasteboard](Canaryd.Pasteboard.md): Runs a reversible probe transaction on a macOS pasteboard.

- [Canaryd.Setup](Canaryd.Setup.md): Self-installing launchd agent. launchd is an implementation detail:
users never touch plist files. Every CLI invocation ensures the agent
is present and loaded; if the user deletes it, the next run heals it.

- [Canaryd.SimulatorMonitor](Canaryd.SimulatorMonitor.md): Pure confirmation policy for shutting down idle booted Simulator devices.
- [Canaryd.Simulators](Canaryd.Simulators.md): Reads booted CoreSimulator devices and safely shuts down an exact device.
- [Canaryd.StateMachine](Canaryd.StateMachine.md): Pure transition logic for per-target health. Testable without side effects.
- [Canaryd.Store](Canaryd.Store.md): DETS-backed persistent state.
- [Canaryd.System](Canaryd.System.md): L1 system-level health: thermal throttling, load, memory pressure,
and user idle detection (keyboard/mouse via IOHIDSystem HIDIdleTime).

- [Canaryd.Temperature](Canaryd.Temperature.md): Reads Apple Silicon CPU and GPU sensor temperatures from macmon.

- [Canaryd.ThermalMonitor](Canaryd.ThermalMonitor.md): Confirms sustained thermal pressure and limits user action prompts.
- [Canaryd.UnresponsiveMonitor](Canaryd.UnresponsiveMonitor.md): Pure confirmation and cooldown policy for unresponsive GUI apps.

