Safe Unattended Agent Automation with Five Laws
Description and use
The author describes a safe automation system using agents that run at night. Key principles include a runner managing locks, agents working in isolated branches without touching main, and generating a mandatory report even when no work is done. This prevents chaos and ensures transparency.
Problem
Unattended agents with write access pose a high risk of causing system instability or data corruption if they run without strict governance, leading to 'waking up to a mess'.
Outcome
The implementation of five strict laws allows for safe, unattended automation. The system successfully processes nightly queues without interfering with daytime work, ensuring that every morning produces a clear report of activities, skips, and required human interventions.
Workflow
- Schedule a nightly job to read a queue of pending work.
- For each target, the runner takes a claim (lock) on the target.
- The runner spawns a headless child agent in its own worktree.
- The runner refreshes the heartbeat on a timer while the child runs.
- The child performs work, commits to its own tree, or exits.
- The runner releases the claim always (on exit, crash, or kill).
- The runner pushes work to an isolated per-night branch (if enabled) and restores the previous branch.
- The runner generates an unconditional report detailing what happened, what was skipped, and what needs human attention.
- The developer reviews the report in the morning.
Evidence
Five nightly reports in, the streak is young but every morning has had one waiting, and that is the property I refuse to lose.
Automation you have to check up on is just unfinished automation.
- Record date: 2026-09-06T06:22:13.303Z