Every agent rebuilds the same monitoring loop.
Schedules, RPC reads, event backfills, repeat rules, and notification routing get buried inside local scripts.
Iruka turns public data into saved signal contracts. Define when to wake, what to check, and where the result should land without asking every agent to run its own watcher.
Schedules, RPC reads, event backfills, repeat rules, and notification routing get buried inside local scripts.
Triggers, definitions, delivery, and metadata stay visible as one saved signal that humans can inspect and agents can reuse.
The notification includes context about what changed, so the next action starts from evidence rather than polling.
The schema is small on purpose. Triggers decide when to run, the definition decides what to inspect, and delivery decides where the matched reason goes.
Intervals, cron schedules, external calls, and upstream Iruka signals can sit in the same trigger array.
Onchain state, indexed history, raw events, and expressions are inputs to one readable condition.
Telegram messages carry the matched reason so an agent can decide what to do next.
Cooldowns, windows, and until-resolved policies live with the saved signal rather than hidden in glue code.