Maintenance is not a task you finish. It is a role you keep.
40°42′46″ N / 74°00′21″ W
LIVE MODELWORLD / 01
aligning signal field
STATIC FALLBACK / SIGNAL FIELD
The maintained orbit remains legible without WebGL.Use the chapter rail or scroll to move through signal, role, and boundary states.
ACTIVE CHAPTERSIGNAL00.0%
POINTER / PERTURBATIONx 0.00 / y 0.00ACTIVE ROLEPR HELPER
SCROLL TO TRANSMIT
01 / 08Signal Observatory / 00
Agents create work. Daemons maintain it.
A persistent role watches the system, wakes with context, and keeps the surfaces around your codebase healthy. No dashboard grid. No reminder loop. Just a maintained orbit.
runtime
persistent
activation
self-initiating
shape
role-based
01
02 / 08The pressure / 01
Operational debt is the quiet gravity around every shipped feature.
Stale pull requests, drifted issue metadata, untriaged errors, aging dependencies, and docs that no longer match the code. Each task is small enough to skip. Together, they change the trajectory of a team.
planning
archaeology
onboarding
drift
bugs
recurrence
02
03 / 08The role file / 02
Define the role once. Give it a boundary it can keep.
A daemon is a directory with a DAEMON.md file: declarative frontmatter for identity and limits, then operational guidance for the work that happens after a wake.
control surface
.agents/daemons/
minimum
id + purpose + routines
wake
watch or schedule
03
.agents/daemons/pr-helper/DAEMON.md
---id:pr-helperpurpose:Keeps PRs review-ready.watch:-when a pull request is opened-when a check run changesroutines:-fix failing checks-keep the description accuratedeny:-merge pull requests-push to protected branchesschedule:"0 9 * * *"---
The file is a control surface, not a prompt. The runtime handles discovery and activation; the role defines intent, routines, policy, and limits.
04 / 08Activation / 03
A signal can wake a role. It never grants unlimited authority.
Watch-driven daemons react to observable events. Schedule-driven daemons wake on a timer. Hybrid roles use both, independently. Switch the pattern to see how the observatory routes a different kind of signal.
watch-only
event → wake
schedule-only
clock → wake
hybrid
either → wake
04
WAKE CONDITIONwhen a pull request is opened
An observable event becomes the wake reason.
05 / 08One activation / 04
Signal. Context. Verify. Act. Leave a trace.
Every activation is a bounded loop. The daemon receives why it woke, verifies current state, executes finite routines inside its deny rules, and produces a native artifact for the team to inspect.
input
event context
decision
current state
output
native artifact
05
01Signal
A pull request opens, a schedule fires, or an alert changes.
02Wake context
The daemon receives the event, role file, and relevant support tree.
03Verify state
It checks what is true now before touching anything.
04Bounded routines
It acts only inside its purpose, routines, and deny rules.
05Native artifact
A commit, comment, issue update, or message lands where the team works.
06Next signal
The maintained system emits the next useful state change.
06 / 08Role constellation / 05
One role. One surface of responsibility. A clearer system.
PR Helper, Project Manager, Bug Triage, Codebase Maintainer, and Librarian are different orbits around the same codebase. Select a role to route its characteristic signal through the network.
scope
narrow
output
native surfaces
trust
earned over time
06
NATIVE SURFACEGitHub
SIGNALCI status changes
Keeps pull requests review-ready without merging or overriding a human.
07 / 08Boundaries / 06
Watch is a wake reason, not mutation authorization.
The watch list answers “when should this role wake?” Routines answer “what should it do?” Deny rules answer “what can it never override?” Keeping those layers separate is how autonomy stays legible and reversible.
wake
watch / schedule
work
bounded routines
boundary
deny wins
07
WATCHWhy wake?
“when a PR check changes”
observable event / activation input
→
DENYWhat never happens?
“merge pull requests”
authority boundary / mutation limit
08 / 08The distinction / 07
Use agents to build. Use daemons to maintain what you built.
Unlike a Unix daemon, cron-only job, fixed-rule bot, or one-off agent, an AI daemon combines persistence, self-initiation, and a role spec interpreted in context. It works in the tools where the work already lives.
Unix daemon
process health
cron job
timer only
AI daemon
role + context
08
Unix daemonLong-lived process that keeps a machine service alive.process health
Cron-only jobA timer with no role-shaped context or event semantics.time only
Fixed-rule botA narrow conditional script with little interpretive context.mechanical rule
One-off agentHuman-initiated work with a start, end, and definition of done.discrete task
AI daemonA persistent role that wakes, verifies, acts, and preserves a system.ongoing role
END OF TRANSMISSION / NEXT STEP
Keep the signal in orbit.
Read the specification, then give a role a home in the systems your team already maintains.