Module 07 — Time and Cron

⏱️ 10 minutes

The Eternal Now

⏰ Your Agent Has No Sense of Time

Your Agent lives in an eternal present. It does not know:

To your Agent, every moment is now. This is not a bug — it's fundamental to how Agents work. They don't feel time passing, so you must tell them explicitly.

UTC: The Universal Clock

Heyron runs on UTC (Coordinated Universal Time):

⚠️ Timezone Trap

If you say "remind me at 9am" without specifying, your Agent assumes 9am UTC. That's 4am or 5am for most US users. Always specify your timezone: "9am EST" or "9am America/New_York"

What Are Cron Jobs?

Cron (from "chronological") is an external scheduler. Here's how it works:

The Cron system runs independently. It has a clock. It knows what day it is. At the time you specify, the cron system pokes your Agent and says: "Wake up, time to run the Monday task."

Your Agent doesn't "know" it's Monday. The cron system tells it to act. Think of cron as an alarm clock that triggers your Agent at scheduled moments.

Common Cron Jobs

1. Daily Backup to GitHub

Why: Protects your work automatically. See Module 04 for setup.

Schedule: Every day at 2:00 AM UTC

What happens: Commits all changes to GitHub, logs success/failure

2. Heartbeat Check-ins

Why: Your Agent polls for tasks periodically — email checks, status updates, reminders

Schedule: Every 30 minutes, or every hour

What happens: Agent checks calendars, email, notifications; reports anything urgent

Ask your Agent: "Tell me more about heartbeats and how to set them up for my needs"

3. Weekly Summary Report

Why: Compile what happened this week, what got done, what's pending

Schedule: Every Friday at 5:00 PM EST

What happens: Agent reads daily notes, generates summary, sends to you

4. Recurring Reminders

Why: Team standups, deadlines, recurring tasks

Schedule: Every Monday/Wednesday/Friday at 9:00 AM EST

What happens: Agent sends you a message: "Team standup in 30 minutes"

Setting Up a Cron Job: Measure Twice, Cut Once

🔧 The Setup Process

1. Define the task completely
What exactly should happen? Write it out in plain English first.
2. Test manually first
Run the command or task manually. Does it work? Does it do what you expect?
3. Choose your schedule
Be specific: "Every day at 9am EST" — not just "daily"
4. Set a test run 5 minutes from now
Don't wait for tomorrow. Test it now to verify it triggers correctly.
5. Check the logs
Verify it ran, verify it completed, verify the output.
6. Only then: Enable the real schedule
Once tested, set the actual recurring time.
Measure twice, cut once: A broken cron job running daily creates daily problems. Test everything before trusting automation.

Example: Setting Up a Daily Backup

Step-by-Step

Say to your Agent:

  1. "Create a script that backs up my workspace files to GitHub"
  2. "Test it now — run the backup once"
  3. "Check that the files appeared on GitHub"
  4. "Now set that script to run automatically every day at 2am UTC"
  5. "Set a test run for 5 minutes from now so we can verify"
  6. "Show me the log after it runs"

Once verified: "Enable the daily 2am schedule"

DST and Timezone Gotchas

Heartbeats: Your Agent Checking In

💓 What Are Heartbeats?

Heartbeats are scheduled check-ins where your Agent polls for work. Unlike a cron job that does a specific task, a heartbeat asks: "Is there anything I should be doing?"

Common heartbeat tasks:

Say: "Tell me more about heartbeats and how to use them for my workflow"

Bottom Line

Your Agent has no internal clock. Time requires external triggers (cron) and explicit instructions from you. Be specific about timezones. Test before trusting. And remember: automation is powerful, but a broken automation running forever is worse than no automation at all.

Measure twice. Cut once.

You have completed our first 7 modules. Go build something!