# Routine registry schema

One row per scheduled routine. A monitor reads this table to know what should be running and what quietly stopped. The prompt file's frontmatter carries the same fields, so the two never disagree.

| Column | Type | What it is for |
|---|---|---|
| Routine | title | The report or monitor name |
| Type | select | Work cut, blockers report, full status, monitor, scheduled task, agent-handled request |
| State | select | Active, paused, proposed, retired |
| Cadence | text | In words, for people |
| Cron | text | The same cadence for machines |
| Timezone | text | IANA zone |
| Model | select | Opus, Sonnet, best available |
| Effort | select | low, medium, high, xhigh, max |
| Audience | text | Who reads it and in what register |
| Sources | multi-select | Systems it reads |
| Prompt (path) | text | Where the prompt file lives in the repo |
| Contract (path) | text | The document that fixes intention and format |
| Output (path) | text | Pattern of the note it writes |
| Destination | url | The stable page it publishes to |
| Destination page (id) | text | So a script can publish without guessing |
| Current version | number | Updated on every publication |
| Last run | date | |
| Next run | date | |
| Last publication | date | |
| Owner | person | |
| Ticket | text | Where the routine was decided |
| Execution | select | Manual with review, scheduled with review, scheduled without review |
| Human review | checkbox | Whether a person reads before publishing |
| Notes | text | Anything the next person needs to know |
