FIELD NOTE / 2026.03EDUCATIONAL MODEL

OBSERVATORY 00 — MAINTENANCE SIGNALS

Agents create work.
Daemons maintain it.

A spatial guide to the persistent AI roles that notice what falls out of orbit, wake with context, and keep engineering systems in motion.

Live world: scroll the observatory to watch signals route through maintained orbit.
THESIS / 001

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
ACTIVE CHAPTER SIGNAL 00.0%
POINTER / PERTURBATION x 0.00 / y 0.00 ACTIVE ROLE PR HELPER
SCROLL TO TRANSMIT
01 / 08 Signal 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
02 / 08 The 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
03 / 08 The 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
.agents/daemons/pr-helper/DAEMON.md
---
id: pr-helper
purpose: Keeps PRs review-ready.
watch:
  - when a pull request is opened
  - when a check run changes
routines:
  - fix failing checks
  - keep the description accurate
deny:
  - merge pull requests
  - push to protected branches
schedule: "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 / 08 Activation / 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
WAKE CONDITION when a pull request is opened

An observable event becomes the wake reason.

05 / 08 One 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
  1. 01 Signal

    A pull request opens, a schedule fires, or an alert changes.

  2. 02 Wake context

    The daemon receives the event, role file, and relevant support tree.

  3. 03 Verify state

    It checks what is true now before touching anything.

  4. 04 Bounded routines

    It acts only inside its purpose, routines, and deny rules.

  5. 05 Native artifact

    A commit, comment, issue update, or message lands where the team works.

  6. 06 Next signal

    The maintained system emits the next useful state change.

06 / 08 Role 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
NATIVE SURFACEGitHub
SIGNALCI status changes

Keeps pull requests review-ready without merging or overriding a human.

07 / 08 Boundaries / 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
WATCH Why wake?

“when a PR check changes”

observable event / activation input
DENY What never happens?

“merge pull requests”

authority boundary / mutation limit
08 / 08 The 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
Unix daemon Long-lived process that keeps a machine service alive. process health
Cron-only job A timer with no role-shaped context or event semantics. time only
Fixed-rule bot A narrow conditional script with little interpretive context. mechanical rule
One-off agent Human-initiated work with a start, end, and definition of done. discrete task
AI daemon A 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.