| Config | ~/.pylon/config.yaml exists and is valid |
| Docker | Docker daemon is running; prints version |
| Agent image | The configured agent Docker image is built |
| Telegram bot | Bot token is set and valid; bot API responds |
| Telegram chat | Chat ID is configured and bot has access |
| Slack bot | Bot token is valid; bot is authenticated |
| Slack channel | Bot is invited to the configured channel |
| Git auth | SSH key for GitHub is configured, or gh CLI is authenticated |
| Agent auth | OAuth session (~/.claude/) or API key env var is set |
| Port | Configured port (default 8080) is available or already owned by Pylon |
| Pylons | Lists all constructed pipelines |
| Webhook reachability | Per-pylon: sends a GET to the public webhook URL |
| systemd service | Whether the Pylon user service is installed and active |