lsd lazy-senior-dev
GitHub
v0.1.0 · plugin for 14 agents · GitHub Action · Apache-2.0

It works.
Now tell me how it fails.

Your agent's deploy, reviewed by the on-call engineer who has been paged for every mistake on the laminated card taped to her monitor. Manifests, charts, pipelines, rollout plans. It works. Now tell me how it fails.

The Paranoid SRE: a deploy flows in, is held until the blast radius is answered, and production stays up.
Agentchanges the deployYAML · Helm · Terraform · CI
Checklistten questionsblast radius → cleanup
VerdictSRE: PAGEresource — failure — fix
Gatescoped to deploy pathshold · nag · ship
Productiononly what has a rollbackSHIP → Ship it.

Never approve a rollout without a rollback you have read.

Recorded

Watch her work on every agent

The same staged diff, one CLI, 4 agents. Real runs captured from the terminal transcript and rendered frame by frame, nothing typed by hand and nothing cut. Captured 2026-09-13.

Verdict
What The Paranoid SRE concluded. SHIP lets the change through, HOLD asks for fixes, PAGE stops it.
Findings
How many numbered problems were listed. Each one names a file, a line, what breaks, and the smallest fix.
Time
How long the review took, start to finish, on this machine.
Tokens
What the host reported reading and writing. Some hosts report nothing, and the card says so rather than guessing.
Terminal recording of the Paranoid SRE reviewing a staged diff with Claude Code: SRE: HOLD
Claude Code
Verdict
SRE: HOLD
Findings
2
Time
10 s
Tokens
8,151 in / 637 out
Terminal recording of the Paranoid SRE reviewing a staged diff with Codex CLI: SRE: PAGE
Codex CLI
Verdict
SRE: PAGE
Findings
4
Time
30 s
Tokens
18,469 in / 2,269 out
Terminal recording of the Paranoid SRE reviewing a staged diff with Antigravity CLI: SRE: HOLD
Antigravity CLI
Verdict
SRE: HOLD
Findings
1
Time
59 s
Tokens
29,202 in / 35,013 out
Terminal recording of the Paranoid SRE reviewing a staged diff with IBM Bob Shell: SRE: HOLD
IBM Bob Shell
Verdict
SRE: HOLD
Findings
4
Time
10 s
Tokens
not reported
What she asks

Ten questions about what happens after deploy

  1. Blast radius. How many users, tenants, regions if it goes wrong? Can it touch fewer first?
  2. Health. Readiness and liveness defined, distinct, and honest?
  3. Limits. CPU, memory, connections, queue depth bounded? What happens at the bound?
  4. Rollout. All at once, rolling, canary, flag? What signal stops it, and who watches?
  5. Rollback. Undone by redeploying the previous version alone?
  6. Dependencies. Timeout, retry budget, breaker, and what the user sees when it is down.
  7. Config and secrets. Where from at runtime, what if missing, anything secret in the wrong place?
  8. Alerts. Which alert fires, does it page the right rotation, does the runbook exist?
  9. Capacity. Sized for what load, current peak, busiest day of the year?
  10. Cleanup. Old resources, flags, dashboards removed, and who owns that?

Verdict block: SRE: SHIP | HOLD | PAGE. PAGE is reserved for changes that will page a human: unbounded resources, no rollback path, secrets in the wrong place, a rollout with no stop signal, a dependency with no timeout.

Why this and not that

You already have a rules file and a review bot

They fail in opposite directions. One is advice the agent may ignore; the other arrives once the code already exists.

A rules fileA pull-request reviewerparanoid-sre
When it runsEvery turn, as contextAfter the code is written and pushedBefore the write is allowed to land
When it disagreesNothing happensLeaves a comment to readThe Paranoid SRE denies the write until it is fixed
What you can gate onNothingProseSHIP · HOLD · PAGE, as JSON
Where it worksOne format per host, by handThe forge you host on14 agents, any MCP client, a GitHub Action
How you know it helpsYou do notThe vendor's own blogTwo benchmarks here, raw replies committed

The first column is not a strawman. Anthropic's documentation calls a rules file “context, not enforced configuration” and says that to block an action regardless of what the model decides, you need a PreToolUse hook. That hook is what this is.

What ships

Everything the Grump has, pointed at the deploy

14agent adapters, one ruleset
10questions, with a stop rule
3verdicts: SHIP · HOLD · PAGE
25benchmark cases: 15 seeded · 5 clean · 5 needle

Adapters

Generated from rules/paranoid-sre.md for Claude Code, Codex, Copilot CLI, Gemini CLI and Antigravity, OpenCode, Cursor, Windsurf, Cline, Kiro, OpenClaw, Devin, Qoder, IBM Bob, and any AGENTS.md reader. sre install <host> drops the right files in.

The gate

The same PreToolUse hook, scoped to deploy, infra, and CI file paths. PAGE denies the write in every mode; HOLD denies in gate mode.

The benchmark

Three arms (agent alone, generic reviewer prompt, the Paranoid SRE) on the same diffs, every reply kept. Numbers and the per-diff table live in the README and benchmarks/results.

Have a rollout failure one of the ten questions would have caught? Open an issue; it becomes a benchmark case.

Same desk

The rest of the cast

Open standards

Standards this implements

Citing a standard is easy; implementing one is the part that can be checked. Everything below is running in this repository today, and every body listed governs its specification in the open.

StandardGoverned byWhere it runs here
Model Context ProtocolOpen specification, Anthropic-originated, community-governedmcp/server.mjs, five tools over stdio, listed as io.github.lazy-senior-dev/paranoid-sre
SLSA build provenanceOpenSSF, Linux FoundationAttested on every release artefact; verify with gh attestation verify
SigstoreOpenSSF, Linux FoundationThe container image is signed keyless; verify with cosign verify
CycloneDXOWASP, standardised as ECMA-424A bill of materials on every release
SPDXLinux Foundation, ISO/IEC 5962A second bill of materials in the format ISO recognises
OpenSSF ScorecardOpenSSF, Linux FoundationScored weekly, badge above, results public
REUSE licence identifiersFree Software Foundation EuropeSPDX-License-Identifier on the files this project authors
AGENTS.mdAgentic AI Foundation, Linux FoundationGenerated from the ruleset for any agent that reads it
Agent SkillsOpen specificationskills/ and .github/skills/
SARIF 2.1.0OASISThe Action writes findings to sarif_file for any SARIF consumer
Apache-2.0Apache Software FoundationLICENSE and NOTICE