Scheduled Tasks
Scheduled tasks are recurring jobs that the FDE auto-executes on cron schedules. Initial tasks are configured by the 0ai engineer, but after deployment the FDE proposes new scheduled tasks based on workflow observations, adding them automatically after PM approval.
Two Origins of Scheduled Tasks
Section titled “Two Origins of Scheduled Tasks”1. Initial Configuration (0ai Engineer)
Section titled “1. Initial Configuration (0ai Engineer)”Configured based on business requirements shared by the PM at deployment time.
tasks: - name: daily_kpi_summary schedule: "0 9 * * 1-5" command: "Review yesterday's key KPIs and post anomalies and action items to Slack" env_file: "config/.env" description: "Weekday morning KPI summary" enabled: true timeout_minutes: 302. FDE Auto-Proposals
Section titled “2. FDE Auto-Proposals”The FDE detects recurring patterns from workflow observations and proposes scheduling them.
[Task Proposal] weekly_support_summaryDetected pattern: PM manually compiles support backlog every FridayRecommended schedule: Every Friday at 16:00Recommended command: "Classify this week's support backlog and post key themes to Slack"Approve?When approved by the PM, the FDE auto-adds the task to scheduled-tasks.yaml.
Field Definitions
Section titled “Field Definitions”| Field | Required | Description |
|---|---|---|
name | Yes | Unique task identifier. Shown in logs and notifications |
schedule | Yes | Cron expression |
command | Yes | Natural language instruction for the FDE |
env_file | No | Environment settings file loaded at execution |
description | No | Task description |
enabled | No | Set to false to pause |
timeout_minutes | No | Maximum execution time (minutes) |
Cron Expression
Section titled “Cron Expression”The schedule field takes a cron expression.
* * * * *| | | | || | | | +-- Day of week (0-7, Sunday = 0 or 7)| | | +---- Month (1-12)| | +------ Day of month (1-31)| +-------- Hour (0-23)+---------- Minute (0-59)Common examples:
| Schedule | Meaning |
|---|---|
"0 9 * * 1-5" | Weekdays at 9:00 |
"0 10 * * 1" | Every Monday at 10:00 |
"30 17 * * 5" | Every Friday at 17:30 |
"0 9 1 * *" | 1st of every month at 9:00 |
Autonomous Execution and Notifications
Section titled “Autonomous Execution and Notifications”Scheduled task results are automatically posted to channels configured in repo-registry.yaml.
- Normal results go to
default_notify_channel - Errors go to
dev_channel
The FDE auto-evaluates execution results and autonomously retries when quality is low. PMs receive only the final result notification.
Pausing Tasks
Section titled “Pausing Tasks”To stop a task without deleting it, set enabled: false.
tasks: - name: monthly_invoice_check schedule: "0 9 1 * *" command: "Execute the monthly invoice check" enabled: false description: "Paused for operational review"Pausing can be requested from the 0ai engineer via Slack, or directly from the FDE:
@fde Pause monthly_invoice_checkPatterns the FDE Learns
Section titled “Patterns the FDE Learns”The FDE detects scheduled task candidates from the following patterns:
- The same type of request arrives on the same day every week
- Reports in the same format are created periodically
- Manual recurring work is reported in Slack
- The same preparation work happens before every meeting
All detected patterns are presented to the PM as proposals. Nothing is auto-added without PM approval.
Important Notes
Section titled “Important Notes”- Scheduled tasks execute without PM intervention. Verify that notification targets and execution frequency are appropriate
- Tasks involving important decisions should be designed with HITL (Human-in-the-Loop) steps
- Task additions, modifications, and pausing can all be requested via Slack to the 0ai engineer or FDE