Schedules

Use schedules when you want recurring local jobs such as nightly compile runs, weekly lint sweeps, or scheduled query/explore jobs that stage new output pages for review.

Example

{
  "schedules": {
    "nightly-compile": {
      "enabled": true,
      "when": { "cron": "0 3 * * *" },
      "task": { "type": "compile", "approve": true }
    },
    "weekly-report": {
      "enabled": true,
      "when": { "every": "7d" },
      "task": {
        "type": "query",
        "question": "Summarize the latest vault changes as a report",
        "format": "report"
      }
    }
  }
}

Trigger Shapes

  • when.cron - Five-field UTC cron expression
  • when.every - Simple interval such as 15m, 2h, or 1d

Task Shapes

  • compile with optional approve
  • lint with optional deep and web
  • query with question, optional format, and optional save
  • explore with question, optional steps, and optional format

Behavior

  • Disabled jobs stay in config but do not run
  • Scheduler state is stored in state/schedules/
  • Schedule runs are serialized at the vault level
  • Scheduled query and explore jobs stage outputs into approvals when they save