The Autonomous Stack

Ops & Reliability · SRE / Uptime · v1.0.0

SRE Agent Pack v1.0

Turnkey uptime guardian for services & agents running 24/7. Probes (HTTP/TCP/systemd/command), auto-restart with anti-flap budget, incident tickets, webhook alerts. BYO-LLM diagnosis (Claude Code / Kimi Code / Codex, no API key).

$3.00one-timePay with crypto

sre uptime monitoring auto-restart incidents byo-llm

agent ⟶ theautonomousstack.xyz

01GET /api/v1/pack/agent-sre-v1

402 Payment RequiredX-PAYMENT-REQUIRED

02sign TransferWithAuthorization3.00 USDC · Base (eip155:8453)

03GET + PAYMENT-SIGNATURE

200 OKapplication/zip · 20 files

pay per pack over x402no account

What's inside

An autonomous uptime guardian you deploy on a Debian VM in one command. It watches your services and agents 24/7 (HTTP, TCP, systemd, or any command), restarts them when they crash, opens an incident ticket, alerts your webhook, and tracks uptime. The core is deterministic and works out of the box; it gets smart when you connect your existing coding-agent subscription — Claude Code, Kimi Code, or Codex — with no API key.

Agents and services that run 24/7 need a guardian for the hours when their human is asleep. This pack is that guardian.

Architecture

            targets.json (HTTP / TCP / systemd / command)
                              |
                              v
┌─────────────────────────────────────────────────────────────────┐
│                        SRE AGENT v1.0                            │
│                                                                  │
│  ┌────────┐   ┌──────────────┐   ┌──────────┐   ┌────────────┐  │
│  │ Probes │──▶│ Failure      │──▶│ Decision │──▶│  Actions   │  │
│  │ (OODA) │   │ streaks (DB) │   │  engine  │   │            │  │
│  └────────┘   └──────────────┘   └──────────┘   │ restart    │  │
│                                                  │ ticket     │  │
│  ┌────────────────────────────────────────┐      │ webhook    │  │
│  │ Anti-flap budget (max N restarts/hour) │◀────│ diagnose*  │  │
│  └────────────────────────────────────────┘      └────────────┘  │
│                                                                  │
│  * diagnose & report = LLM (optional, BYO CLI) — see PROMPTS.md  │
└─────────────────────────────────────────────────────────────────┘

One-shot install (Debian/Ubuntu)

unzip agent-sre-v1.zip && cd agent-sre-v1
cp targets.example.json targets.json   # describe what to watch
sudo bash install.sh                   # system deps + venv + systemd service (enabled)

That's it. The guardian starts as a systemd service (agent-sre-v1), survives reboots, and restarts on failure. Logs: journalctl -u agent-sre-v1 -f.

No root / no systemd? bash install.sh --no-service sets up the venv, then run venv/bin/python agent.py run.

Connect your LLM (optional, no API key)

install.sh auto-detects the first CLI it finds. Install & log in to one:

CLI Install Connect
Claude Code npm i -g @anthropic-ai/claude-code run claude, /login
Kimi Code see platform.moonshot.ai kimi-code
Codex npm i -g @openai/codex codex login

Force a specific one with PACK_LLM=claude|kimi|codex. If none is connected, the guardian still runs — see the honesty table below.

What's LLM vs deterministic (honest by design)

Capability Without an LLM CLI With an LLM CLI connected
Probing (HTTP/TCP/systemd/command) ✅ deterministic ✅ deterministic
Failure streaks + thresholds ✅ deterministic ✅ deterministic
Auto-restart + anti-flap budget ✅ deterministic ✅ deterministic
Incident tickets (open/close) ✅ deterministic ✅ deterministic
Webhook alerts ✅ deterministic ✅ deterministic
Uptime stats ✅ deterministic ✅ deterministic
Root-cause diagnosis on each incident not available the LLM runs the Diagnostician prompt (PROMPTS.md), result appended to the ticket
Written uptime reports plain-text summary the LLM runs the Reporter prompt (trends, recommendations)

If a CLI is installed but not logged in, the agent logs a warning and continues without the diagnosis — monitoring never blocks on the LLM.

Quick commands

python agent.py check                        # one pass over all targets
python agent.py run --once                   # one full cycle (probe + decide + act)
python agent.py status                       # uptime % + open incidents + LLM backend
python agent.py tickets --open               # open incidents
python agent.py report --hours 24            # uptime report (LLM-written if connected)
python agent.py close --ticket inc-ab12cd34  # close a ticket manually
bash smoke_test.sh                           # offline test suite (no keys)
python EXAMPLE.py                            # runnable end-to-end demo

Contents

File Purpose
agent.py Runnable guardian — probes, streaks, restart, tickets, alerts, OODA, BYO-LLM wiring
llm_adapter.py BYO-LLM CLI adapter (claude/kimi/codex), no API key
targets.example.json Example targets config (HTTP, TCP, systemd, command)
install.sh One-shot Debian installer (deps + venv + systemd)
agent-sre-v1.service Reference systemd unit (install.sh generates the real one)
smoke_test.sh / test_agent.py Offline test suite (deterministic)
EXAMPLE.py End-to-end runnable demo of the shipped pipeline
PROMPTS.md The Sentinel / Diagnostician / Escalation / Reporter prompts the agent actually loads
SOUL.md Guardian identity, values, OODA loop
SPEC.md Technical spec: target types, thresholds, restart policy, interfaces
CHECKLIST.md Deployment checklist
CUSTOMIZE.md Where to plug in your own services (5 minutes)
SUCCESS_METRICS.md KPI targets + failure definition
OPERATING_COST_ESTIMATE.md LLM cost estimate (only relevant in LLM mode)
requirements.txt Python deps (stdlib only)
deploy.sh Thin wrapper → install.sh